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