Now autodetects (and handles) size of integer types.
[speexdsp.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script. -*-m4-*-
2
3 AC_INIT(libspeex/speex.c)
4
5 AM_CONFIG_HEADER([config.h])
6
7 SPEEX_MAJOR_VERSION=1
8 SPEEX_MINOR_VERSION=1
9 SPEEX_MICRO_VERSION=8
10 SPEEX_EXTRA_VERSION=
11 #SPEEX_VERSION=1.1.7
12 SPEEX_VERSION=$SPEEX_MAJOR_VERSION.$SPEEX_MINOR_VERSION.$SPEEX_MICRO_VERSION$SPEEX_EXTRA_VERSION
13
14 SPEEX_LT_CURRENT=3
15 SPEEX_LT_REVISION=0
16 SPEEX_LT_AGE=2
17
18 AC_SUBST(SPEEX_LT_CURRENT)
19 AC_SUBST(SPEEX_LT_REVISION)
20 AC_SUBST(SPEEX_LT_AGE)
21
22 # For automake.
23 VERSION=$SPEEX_VERSION
24 PACKAGE=speex
25
26 AC_SUBST(SPEEX_VERSION)
27
28 AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
29 AM_MAINTAINER_MODE
30
31 AC_CANONICAL_HOST
32 AM_PROG_LIBTOOL
33
34 AC_C_BIGENDIAN
35 AC_C_CONST
36 AC_C_INLINE
37 AC_C_RESTRICT
38
39 AC_CHECK_SIZEOF(short)
40 AC_CHECK_SIZEOF(int)
41 AC_CHECK_SIZEOF(long)
42 AC_CHECK_SIZEOF(long long)
43
44 if test x$has_char16 = "xyes" ; then
45         case 1 in
46                 $ac_cv_sizeof_short) SIZE16="short";;
47                 $ac_cv_sizeof_int) SIZE16="int";;
48         esac
49 else
50         case 2 in
51                 $ac_cv_sizeof_short) SIZE16="short";;
52                 $ac_cv_sizeof_int) SIZE16="int";;
53         esac
54 fi
55
56 if test x$has_char16 = "xyes" ; then
57         case 2 in
58                 $ac_cv_sizeof_int) SIZE32="int";;
59                 $ac_cv_sizeof_long) SIZE32="long";;
60                 $ac_cv_sizeof_short) SIZE32="short";;
61         esac
62 else
63         case 4 in
64                 $ac_cv_sizeof_int) SIZE32="int";;
65                 $ac_cv_sizeof_long) SIZE32="long";;
66                 $ac_cv_sizeof_short) SIZE32="short";;
67         esac
68 fi
69
70 AC_SUBST(SIZE16)
71 AC_SUBST(SIZE32)
72
73
74 AC_CHECK_HEADERS(sys/soundcard.h sys/audioio.h)
75
76 XIPH_PATH_OGG([src="src"], [src=""])
77 AC_SUBST(src)
78
79 AC_CHECK_LIB(m, sin)
80
81 # Check for getopt_long; if not found, use included source.
82 AC_CHECK_FUNCS([getopt_long],,
83 [# FreeBSD has a gnugetopt library.
84   AC_CHECK_LIB([gnugetopt],[getopt_long],
85 [AC_DEFINE([HAVE_GETOPT_LONG])],
86 [# Use the GNU replacement.
87 AC_LIBOBJ(getopt)
88 AC_LIBOBJ(getopt1)])])
89
90 AC_CHECK_LIB(winmm, main)
91
92 AC_DEFINE_UNQUOTED(SPEEX_VERSION, "${SPEEX_VERSION}", [Complete version string])
93 AC_DEFINE_UNQUOTED(SPEEX_MAJOR_VERSION, ${SPEEX_MAJOR_VERSION}, [Version major])
94 AC_DEFINE_UNQUOTED(SPEEX_MINOR_VERSION, ${SPEEX_MINOR_VERSION}, [Version minor])
95 AC_DEFINE_UNQUOTED(SPEEX_MICRO_VERSION, ${SPEEX_MICRO_VERSION}, [Version micro])
96 AC_DEFINE_UNQUOTED(SPEEX_EXTRA_VERSION, "${SPEEX_EXTRA_VERSION}", [Version extra])
97
98 AC_ARG_ENABLE(wideband, [  --disable-wideband       disable wideband codec],
99 [if test "$enableval" = no; then
100   AC_DEFINE([DISABLE_WIDEBAND], , [Disable wideband codec])
101 fi])
102
103 AC_ARG_ENABLE(valgrind, [  --enable-valgrind       enable valgrind extra checks],
104 [if test "$enableval" = yes; then
105   AC_DEFINE([ENABLE_VALGRIND], , [Enable valgrind extra checks])
106 fi])
107
108 AC_ARG_ENABLE(sse, [  --enable-sse            enable SSE support], [if test "$enableval" = yes; then
109 AC_DEFINE([_USE_SSE], , [Enable SSE support])
110 CFLAGS="$CFLAGS -O3 -msse"
111 fi
112 ])
113
114 AC_ARG_ENABLE(fixed-point, [  --enable-fixed-point    compile as fixed-point],
115 [if test "$enableval" = yes; then
116   AC_DEFINE([FIXED_POINT], , [Compile as fixed-point])
117 fi])
118
119 AC_ARG_ENABLE(arm4-asm, [  --enable-arm4-asm        make use of ARM4 assembly instructions],
120 [if test "$enableval" = yes; then
121   AC_DEFINE([ARM4_ASM], , [Make use of ARM4 assembly instructions])
122 fi])
123
124 AC_ARG_ENABLE(arm5e-asm, [  --enable-arm5e-asm        make use of ARM5E assembly instructions],
125 [if test "$enableval" = yes; then
126   AC_DEFINE([ARM5_ASM], , [Make use of ARM5E assembly instructions])
127 fi])
128
129 AC_ARG_ENABLE(fixed-point-debug, [  --enable-fixed-point-debug  Debug fixed-point implementation],
130 [if test "$enableval" = yes; then
131   AC_DEFINE([FIXED_DEBUG], , [Debug fixed-point implementation])
132 fi])
133
134 AC_ARG_ENABLE(epic-48k, [  --enable-epic-48k       enable support for Epic 4.8 kbps mode],
135 [if test "$enableval" = yes; then
136   AC_DEFINE([EPIC_48K], , [Enable support for Epic 4.8 kbps mode])
137 fi])
138
139 AC_ARG_ENABLE(ti-c55x, [  --enable-ti-c55x         enable support for TI C55X DSP],
140 [if test "$enableval" = yes; then
141   AC_DEFINE([TI_C55X], , [Enable support for TI C55X DSP])
142 fi])
143
144 dnl Output the makefiles and version.h.
145
146 AC_OUTPUT([Makefile libspeex/Makefile src/Makefile doc/Makefile Speex.spec
147            include/Makefile include/speex/Makefile speex.pc
148            win32/Makefile win32/libspeex/Makefile win32/speexenc/Makefile
149            win32/speexdec/Makefile include/speex/speex_types.h ])
150
151 if test "x$src" = "x"; then 
152 echo "**IMPORTANT**"
153 echo "You don't seem to have the development package for libogg (libogg-devel) installed. Only the Speex library (libspeex) will be built (no encoder/decoder executable)"
154 echo "You can download libogg from http://www.vorbis.com/download.psp"
155 fi
156
157 echo "Type \"make; make install\" to compile and install Speex";