Fixed a link-crossing bug in libvorbis (total time was reset to -1
[platform/upstream/libvorbis.git] / configure.in
1 # $Id: configure.in,v 1.12 2000/06/14 23:07:47 xiphmont Exp $
2
3 AC_INIT(lib/mdct.c)
4 #AC_CONFIG_HEADER(config.h)
5
6 cp configure.guess config.guess
7 cp configure.sub config.sub
8
9 AC_CANONICAL_HOST
10
11 dnl If we're on IRIX, we wanna use cc even if gcc is there (unless the user
12 dnl has overriden us)...
13 case $host 
14         in *-*-irix*)
15                 if test -z "$CC"; then
16                         CC=cc
17                 fi
18                 AC_CHECK_LIB(audio, ALwritesamps)
19         ;;
20 esac
21
22 if test -z "$CC"; then
23         AC_PROG_CC      
24 fi
25 AC_PROG_RANLIB
26 AC_CHECK_PROG(AR,ar,ar)
27
28 dnl Set some target options
29 if test -z "$GCC"; then
30         case $host in 
31         *-*-irix*)
32                 DEBUG="-g" 
33                 OPT="-O2 -w"
34                 PROFILE="-p -g3 -O2" ;;
35         sparc-sun-solaris*)
36                 DEBUG="-v -g"
37                 OPT="-xO4 -fast -w -fsingle -fsimple -native -xcg92"
38                 PROFILE="-v -xpg -g -xO4 -fast -fsingle -native -fsimple -xcg92 -Dsuncc" ;;
39         *)
40                 DEBUG="-g"
41                 OPT="-O"
42                 PROFILE="-g -p" ;;
43         esac
44 else
45
46 # -D__NO_MATH_INLINES avoids some serious FP assembly related bugs in
47 # glibc 2.0/2.1
48
49         case $host in 
50         *-*-linux*)
51                 DEBUG="-g -Wall -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
52                 OPT="-O20 -ffast-math -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
53                 PROFILE="-pg -g -O20 -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char";;
54         sparc-sun-*)
55                 DEBUG="-g -Wall -D__NO_MATH_INLINES -fsigned-char -mv8"
56                 OPT="-O20 -ffast-math -D__NO_MATH_INLINES -fsigned-char -mv8"
57                 PROFILE="-pg -g -O20 -D__NO_MATH_INLINES -fsigned-char -mv8" ;;
58         *)
59                 DEBUG="-g -Wall -D__NO_MATH_INLINES -fsigned-char"
60                 OPT="-O20 -D__NO_MATH_INLINES -fsigned-char"
61                 PROFILE="-O20 -g -pg -D__NO_MATH_INLINES -fsigned-char" ;;
62         esac
63 fi
64
65 AC_HEADER_STDC
66
67 CFLAGS=""
68
69 dnl AC_PATH_X
70 dnl AC_PATH_XTRA
71
72 AC_CHECK_LIB(pthread, pthread_create, 
73         pthread_lib="-lpthread"; AC_DEFINE(HAVE_LIBPTHREAD), :)
74
75 dnl Linuxthreads require you to define _REENTRANT in all threaded
76 dnl code.  Bogus, bogus...
77
78 if test -n "$pthread_lib"; then
79         case $host in 
80         i?86-*-linux*)
81                 AC_DEFINE(_REENTRANT)
82                 ;;
83         esac
84 fi
85
86 #if test -n "$x_libraries"; then
87 #       XOGG="yes"
88 #
89 #       dnl If we find libgtk installed, great; otherwise assume we have
90 #       dnl to build it ourselves.
91 #
92 #       AC_CHECK_LIB(gtk, gtk_main, :, LIBGTKDIR="libgtk", $X_LIBS -lglib -lgdk -lX11 -lXext -lm)
93 #
94 #       dnl libpthread is required for xogg.
95 #
96 #       if test -z "$pthread_lib"; then XOGG=""; fi
97 #
98 #       dnl If we don't have libgtk installed, and we don't have a libgtk 
99 #       dnl  subdirectory to build the library ourself, we can't build xogg.
100 #
101 #       if test -n "$LIBGTKDIR" -a ! -d "$LIBGTKDIR"; then
102 #               XOGG=""
103 #               LIBGTKDIR=""
104 #       fi
105 #fi
106
107 dnl This seems to be the only way to make autoconf only *sometimes* configure
108 dnl a subdirectory with AC_CONFIG_SUBDIRS.  "__noconf" is assumed to not 
109 dnl exist as a directory, so configure won't try to recursively enter it, unless
110 dnl the shell variable $dummy is reset to an existing directory inside the
111 dnl if clause.
112
113 dummy="__noconf"
114
115 #if test -d "$LIBGTKDIR"; then
116 #       enable_shared="no"; export enable_shared
117 #       dummy="libgtk"
118 #       AC_CONFIG_SUBDIRS("$dummy")
119 #       X_LIBS="-L${srcdir}/libgtk/gtk/.libs -L${srcdir}/libgtk/gdk/.libs -L${srcdir}/libgtk/glib/.libs $X_LIBS"
120 #fi
121
122 AC_CHECK_SIZEOF(short)
123 AC_CHECK_SIZEOF(int)
124 AC_CHECK_SIZEOF(long)
125 AC_CHECK_SIZEOF(long long)
126
127 case 2 in
128         $ac_cv_sizeof_short) SIZE16="short";;
129         $ac_cv_sizeof_int) SIZE16="int";;
130 esac
131
132 case 4 in
133         $ac_cv_sizeof_short) SIZE32="short";;
134         $ac_cv_sizeof_int) SIZE32="int";;
135         $ac_cv_sizeof_long) SIZE32="long";;
136 esac
137
138 case 8 in
139         $ac_cv_sizeof_int) SIZE64="int";;
140         $ac_cv_sizeof_long) SIZE64="long";;
141         $ac_cv_sizeof_long_long) SIZE64="long long";;
142 esac
143
144 AC_CHECK_TYPE(int16_t,$SIZE16)
145 AC_CHECK_TYPE(int32_t,$SIZE32)
146 AC_CHECK_TYPE(int64_t,$SIZE64)
147 AC_CHECK_TYPE(u_int16_t,unsigned $SIZE16)
148 AC_CHECK_TYPE(u_int32_t,unsigned $SIZE32)
149 AC_CHECK_TYPE(u_int64_t,unsigned $SIZE64)
150
151 if test -z "$SIZE16"; then
152         AC_MSG_ERROR(No 16 bit type found on this platform!)
153 fi
154 if test -z "$SIZE32"; then
155         AC_MSG_ERROR(No 32 bit type found on this platform!)
156 fi
157 if test -z "$SIZE64"; then
158         AC_MSG_WARN(No 64 bit type found on this platform!)
159 fi
160         
161 AC_HEADER_SYS_WAIT
162 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h unistd.h)
163
164 AC_C_CONST
165 AC_HEADER_TIME
166 AC_STRUCT_TM
167
168 AC_PROG_MAKE_SET
169 AC_FUNC_MEMCMP
170 AC_TYPE_SIGNAL
171 AC_CHECK_FUNCS(gettimeofday select strcspn strerror strspn sigaction)
172
173 AC_SUBST(TYPESIZES)
174 AC_SUBST(OPT)
175 AC_SUBST(DEBUG)
176 AC_SUBST(PROFILE)
177 AC_SUBST(CC)
178 AC_SUBST(RANLIB)
179 #AC_SUBST(XOGG)
180 #AC_SUBST(LIBGTKDIR)
181 AC_SUBST(pthread_lib)
182
183 AC_OUTPUT(Makefile lib/Makefile examples/Makefile vorbis-tools/Makefile\
184         vq/Makefile huff/Makefile cmdline/Makefile xmms/Makefile kmpg/Makefile)