blob: 99d6b7fcb6c88110253545313dcd01b8cc1e4e49 [file] [log] [blame]
Lucas Eckelsf869a6f2012-08-06 15:15:24 -07001dnl Process this file with autoconf to produce a configure script.
2
3AC_INIT(src/framing.c)
4
5AM_INIT_AUTOMAKE(libogg,1.2.0)
6AM_MAINTAINER_MODE
7
8dnl Library versioning
9
10LIB_CURRENT=7
11LIB_REVISION=0
12LIB_AGE=7
13AC_SUBST(LIB_CURRENT)
14AC_SUBST(LIB_REVISION)
15AC_SUBST(LIB_AGE)
16
17AC_PROG_CC
18AM_PROG_LIBTOOL
19AM_PROG_CC_C_O
20
21dnl config.h
22AM_CONFIG_HEADER(config.h)
23
24dnl Set some options based on environment
25
26cflags_save="$CFLAGS"
27if test -z "$GCC"; then
28 case $host in
29 *-*-irix*)
30 DEBUG="-g -signed"
31 CFLAGS="-O2 -w -signed"
32 PROFILE="-p -g3 -O2 -signed"
33 ;;
34 sparc-sun-solaris*)
35 DEBUG="-v -g"
36 CFLAGS="-xO4 -fast -w -fsimple -native -xcg92"
37 PROFILE="-v -xpg -g -xO4 -fast -native -fsimple -xcg92 -Dsuncc"
38 ;;
39 *)
40 DEBUG="-g"
41 CFLAGS="-O"
42 PROFILE="-g -p"
43 ;;
44 esac
45else
46 case $host in
47 *-*-linux*)
48 DEBUG="-g -Wall -fsigned-char"
49 CFLAGS="-O20 -ffast-math -fsigned-char"
50 PROFILE="-Wall -W -pg -g -O20 -ffast-math -fsigned-char"
51 ;;
52 sparc-sun-*)
53 sparc_cpu=""
54 AC_MSG_CHECKING([if gcc supports -mv8])
55 old_cflags="$CFLAGS"
56 CFLAGS="$CFLAGS -mv8"
57 AC_TRY_COMPILE(, [return 0;], [
58 AC_MSG_RESULT([yes])
59 sparc_cpu="-mv8"
60 ])
61 CFLAGS="$old_cflags"
62 DEBUG="-g -Wall -fsigned-char $sparc_cpu"
63 CFLAGS="-O20 -ffast-math -fsigned-char $sparc_cpu"
64 PROFILE="-pg -g -O20 -fsigned-char $sparc_cpu"
65 ;;
66 *-*-darwin*)
67 DEBUG="-fno-common -g -Wall -fsigned-char"
68 CFLAGS="-fno-common -O4 -Wall -fsigned-char -ffast-math"
69 PROFILE="-fno-common -O4 -Wall -pg -g -fsigned-char -ffast-math"
70 ;;
71 *)
72 DEBUG="-g -Wall -fsigned-char"
73 CFLAGS="-O20 -fsigned-char"
74 PROFILE="-O20 -g -pg -fsigned-char"
75 ;;
76 esac
77fi
78CFLAGS="$CFLAGS $cflags_save"
79DEBUG="$DEBUG $cflags_save"
80PROFILE="$PROFILE $cflags_save"
81
82dnl Checks for programs.
83
84dnl Checks for libraries.
85
86dnl Checks for header files.
87AC_HEADER_STDC
88
89dnl Checks for typedefs, structures, and compiler characteristics.
90AC_C_CONST
91
92dnl Check for types
93
94AC_MSG_CHECKING(for int16_t)
95AC_CACHE_VAL(has_cv_int16_t,
96[AC_TRY_RUN([
97#if defined __BEOS__ && !defined __HAIKU__
98#include <inttypes.h>
99#endif
100#include <sys/types.h>
101int16_t foo;
102int main() {return 0;}
103],
104has_cv_int16_t=yes,
105has_cv_int16_t=no,
106has_cv_int16_t=no
107)])
108AC_MSG_RESULT($has_cv_int16_t)
109
110AC_MSG_CHECKING(for int32_t)
111AC_CACHE_VAL(has_cv_int32_t,
112[AC_TRY_RUN([
113#if defined __BEOS__ && !defined __HAIKU__
114#include <inttypes.h>
115#endif
116#include <sys/types.h>
117int32_t foo;
118int main() {return 0;}
119],
120has_cv_int32_t=yes,
121has_cv_int32_t=no,
122has_cv_int32_t=no
123)])
124AC_MSG_RESULT($has_cv_int32_t)
125
126AC_MSG_CHECKING(for uint32_t)
127AC_CACHE_VAL(has_cv_uint32_t,
128[AC_TRY_RUN([
129#if defined __BEOS__ && !defined __HAIKU__
130#include <inttypes.h>
131#endif
132#include <sys/types.h>
133uint32_t foo;
134int main() {return 0;}
135],
136has_cv_uint32_t=yes,
137has_cv_uint32_t=no,
138has_cv_uint32_t=no
139)])
140AC_MSG_RESULT($has_cv_uint32_t)
141
142AC_MSG_CHECKING(for uint16_t)
143AC_CACHE_VAL(has_cv_uint16_t,
144[AC_TRY_RUN([
145#if defined __BEOS__ && !defined __HAIKU__
146#include <inttypes.h>
147#endif
148#include <sys/types.h>
149uint16_t foo;
150int main() {return 0;}
151],
152has_cv_uint16_t=yes,
153has_cv_uint16_t=no,
154has_cv_uint16_t=no
155)])
156AC_MSG_RESULT($has_cv_uint16_t)
157
158AC_MSG_CHECKING(for u_int32_t)
159AC_CACHE_VAL(has_cv_u_int32_t,
160[AC_TRY_RUN([
161#if defined __BEOS__ && !defined __HAIKU__
162#include <inttypes.h>
163#endif
164#include <sys/types.h>
165u_int32_t foo;
166int main() {return 0;}
167],
168has_cv_u_int32_t=yes,
169has_cv_u_int32_t=no,
170has_cv_u_int32_t=no
171)])
172AC_MSG_RESULT($has_cv_u_int32_t)
173
174AC_MSG_CHECKING(for u_int16_t)
175AC_CACHE_VAL(has_cv_u_int16_t,
176[AC_TRY_RUN([
177#if defined __BEOS__ && !defined __HAIKU__
178#include <inttypes.h>
179#endif
180#include <sys/types.h>
181u_int16_t foo;
182int main() {return 0;}
183],
184has_cv_u_int16_t=yes,
185has_cv_u_int16_t=no,
186has_cv_u_int16_t=no
187)])
188AC_MSG_RESULT($has_cv_u_int16_t)
189
190AC_MSG_CHECKING(for int64_t)
191AC_CACHE_VAL(has_cv_int64_t,
192[AC_TRY_RUN([
193#if defined __BEOS__ && !defined __HAIKU__
194#include <inttypes.h>
195#endif
196#include <sys/types.h>
197int64_t foo;
198int main() {return 0;}
199],
200has_cv_int64_t=yes,
201has_cv_int64_t=no,
202has_cv_int64_t=no
203)])
204AC_MSG_RESULT($has_cv_int64_t)
205
206AC_CHECK_SIZEOF(short,2)
207AC_CHECK_SIZEOF(int,4)
208AC_CHECK_SIZEOF(long,4)
209AC_CHECK_SIZEOF(long long,8)
210
211
212if test x$has_cv_int16_t = "xyes" ; then
213 SIZE16="int16_t"
214else
215 case 2 in
216 $ac_cv_sizeof_short) SIZE16="short";;
217 $ac_cv_sizeof_int) SIZE16="int";;
218 esac
219fi
220
221if test x$has_cv_int32_t = "xyes" ; then
222 SIZE32="int32_t"
223else
224 case 4 in
225 $ac_cv_sizeof_short) SIZE32="short";;
226 $ac_cv_sizeof_int) SIZE32="int";;
227 $ac_cv_sizeof_long) SIZE32="long";;
228 esac
229fi
230
231if test x$has_cv_uint32_t = "xyes" ; then
232 USIZE32="uint32_t"
233else
234 if test x$has_cv_u_int32_t = "xyes" ; then
235 USIZE32="u_int32_t"
236 else
237 case 4 in
238 $ac_cv_sizeof_short) USIZE32="unsigned short";;
239 $ac_cv_sizeof_int) USIZE32="unsigned int";;
240 $ac_cv_sizeof_long) USIZE32="unsigned long";;
241 esac
242 fi
243fi
244
245if test x$has_cv_uint16_t = "xyes" ; then
246 USIZE16="uint16_t"
247else
248 if test x$has_cv_u_int16_t = "xyes" ; then
249 USIZE16="u_int16_t"
250 else
251 case 2 in
252 $ac_cv_sizeof_short) USIZE16="unsigned short";;
253 $ac_cv_sizeof_int) USIZE16="unsigned int";;
254 $ac_cv_sizeof_long) USIZE16="unsigned long";;
255 esac
256 fi
257fi
258
259if test x$has_cv_int64_t = "xyes" ; then
260 SIZE64="int64_t"
261else
262case 8 in
263 $ac_cv_sizeof_int) SIZE64="int";;
264 $ac_cv_sizeof_long) SIZE64="long";;
265 $ac_cv_sizeof_long_long) SIZE64="long long";;
266esac
267fi
268
269if test -z "$SIZE16"; then
270 AC_MSG_ERROR(No 16 bit type found on this platform!)
271fi
272if test -z "$USIZE16"; then
273 AC_MSG_ERROR(No unsigned 16 bit type found on this platform!)
274fi
275if test -z "$SIZE32"; then
276 AC_MSG_ERROR(No 32 bit type found on this platform!)
277fi
278if test -z "$USIZE32"; then
279 AC_MSG_ERROR(No unsigned 32 bit type found on this platform!)
280fi
281if test -z "$SIZE64"; then
282 AC_MSG_WARN(No 64 bit type found on this platform!)
283fi
284
285dnl Checks for library functions.
286AC_FUNC_MEMCMP
287
288dnl Make substitutions
289
290AC_SUBST(LIBTOOL_DEPS)
291AC_SUBST(SIZE16)
292AC_SUBST(USIZE16)
293AC_SUBST(SIZE32)
294AC_SUBST(USIZE32)
295AC_SUBST(SIZE64)
296AC_SUBST(OPT)
297AC_SUBST(LIBS)
298AC_SUBST(DEBUG)
299AC_SUBST(CFLAGS)
300AC_SUBST(PROFILE)
301
302AC_OUTPUT([
303Makefile
304src/Makefile
305doc/Makefile doc/libogg/Makefile
306include/Makefile include/ogg/Makefile include/ogg/config_types.h
307libogg.spec
308ogg.pc
309ogg-uninstalled.pc
310])