diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/configure.in b/configure.in new file mode 100644 index 00000000..26f37b9d --- /dev/null +++ b/configure.in @@ -0,0 +1,243 @@ +# $Id: configure.in,v 1.18.2.1 2000/08/15 08:32:58 xiphmont Exp $ + +AC_INIT(lib/mdct.c) +#AC_CONFIG_HEADER(config.h) + +cp configure.guess config.guess +cp configure.sub config.sub + +AC_CANONICAL_HOST + +dnl If we're on IRIX, we wanna use cc even if gcc is there (unless the user +dnl has overriden us)... +case $host in + *-*-irix*) + if test -z "$CC"; then + CC=cc + fi + AC_CHECK_LIB(audio, ALwritesamps) + ;; +# BeOS does not use -lm +# *-*-beos) +# LIBS="" +# ;; +# added better check below + +esac + +if test -z "$CC"; then + AC_PROG_CC +fi +AC_PROG_CPP +AC_PROG_RANLIB +AC_CHECK_PROG(AR,ar,ar) +AC_CHECK_PROG(INSTALL,install,install) + +#not everyone uses libm (eg, BeOS) +#AC_CHECK_LIB(m, cos, LIBS="-lm"; AC_DEFINE(HAVE_LIBM), LIBS="") +# We no longer use config.h +AC_CHECK_LIB(m, cos, LIBS="-lm", LIBS="") + +dnl Set some target options +if test -z "$GCC"; then + case $host in + *-*-irix*) + DEBUG="-g -signed" + OPT="-O2 -w -signed" + PROFILE="-p -g3 -O2 -signed" ;; + sparc-sun-solaris*) + DEBUG="-v -g" + OPT="-xO4 -fast -w -fsimple -native -xcg92" + PROFILE="-v -xpg -g -xO4 -fast -native -fsimple -xcg92 -Dsuncc" ;; + *) + DEBUG="-g" + OPT="-O" + PROFILE="-g -p" ;; + esac +else + + case $host in + *86-*-linux*) + DEBUG="-g -Wall -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char" + OPT="-O20 -ffast-math -D_REENTRANT -fsigned-char" + PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char" + + # glibc < 2.1.3 has a serious FP bug in the math inline header + # that will cripple Vorbis. Look to see if the magic FP stack + # clobber is missing in the mathinline header, thus indicating + # the buggy version + + AC_EGREP_CPP(log10.*fldlg2.*fxch,[ + #define __LIBC_INTERNAL_MATH_INLINES 1 + #define __OPTIMIZE__ + #include <math.h> + ],bad=maybe,bad=no) + if test ${bad} = "maybe" ;then + AC_EGREP_CPP(log10.*fldlg2.*fxch.*st\([[0123456789]]*\), + [ + #define __LIBC_INTERNAL_MATH_INLINES 1 + #define __OPTIMIZE__ + #include <math.h> + ],bad=no,bad=yes) + fi + if test ${bad} = "yes" ;then + AC_MSG_WARN([ ]) + AC_MSG_WARN([********************************************************]) + AC_MSG_WARN([* The glibc headers on this machine have a serious bug *]) + AC_MSG_WARN([* in /usr/include/bits/mathinline.h This bug affects *]) + AC_MSG_WARN([* all floating point code, not just Ogg, built on this *]) + AC_MSG_WARN([* machine. Upgrading to glibc 2.1.3 is strongly urged *]) + AC_MSG_WARN([* to correct the problem. Note that upgrading glibc *]) + AC_MSG_WARN([* will not fix any previously built programs; this is *]) + AC_MSG_WARN([* a compile-time time bug. *]) + AC_MSG_WARN([* To work around the problem for this build of Ogg, *]) + AC_MSG_WARN([* autoconf is disabling all math inlining. This will *]) + AC_MSG_WARN([* hurt Ogg performace but is necessary for an Ogg that *]) + AC_MSG_WARN([* will actually work. Once glibc is upgraded, rerun *]) + AC_MSG_WARN([* configure and make to build with inlining. *]) + AC_MSG_WARN([********************************************************]) + AC_MSG_WARN([ ]) + + OPT=${OPT}" -D__NO_MATH_INLINES" + PROFILE=${PROFILE}" -D__NO_MATH_INLINES" + fi;; + *-*-linux*) + DEBUG="-g -Wall -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char" + OPT="-O20 -ffast-math -D_REENTRANT -fsigned-char" + PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char";; + sparc-sun-*) + DEBUG="-g -Wall -D__NO_MATH_INLINES -fsigned-char -mv8" + OPT="-O20 -ffast-math -D__NO_MATH_INLINES -fsigned-char -mv8" + PROFILE="-pg -g -O20 -D__NO_MATH_INLINES -fsigned-char -mv8" ;; + *) + DEBUG="-g -Wall -D__NO_MATH_INLINES -fsigned-char" + OPT="-O20 -D__NO_MATH_INLINES -fsigned-char" + PROFILE="-O20 -g -pg -D__NO_MATH_INLINES -fsigned-char" ;; + esac +fi + +AC_HEADER_STDC + +CFLAGS="" + +dnl AC_PATH_X +dnl AC_PATH_XTRA + +#AC_CHECK_LIB(pthread, pthread_create, +# pthread_lib="-lpthread"; AC_DEFINE(HAVE_LIBPTHREAD), :) +# We no longer use config.h +AC_CHECK_LIB(pthread, pthread_create, pthread_lib="-lpthread", :) + +#dnl Linuxthreads require you to define _REENTRANT in all threaded +#dnl code. Bogus, bogus... +# +#if test -n "$pthread_lib"; then +# case $host in +# i?86-*-linux*) +# AC_DEFINE(_REENTRANT) +# ;; +# esac +#fi +# We no longer use config.h + +#if test -n "$x_libraries"; then +# XOGG="yes" +# +# dnl If we find libgtk installed, great; otherwise assume we have +# dnl to build it ourselves. +# +# AC_CHECK_LIB(gtk, gtk_main, :, LIBGTKDIR="libgtk", $X_LIBS -lglib -lgdk -lX11 -lXext -lm) +# +# dnl libpthread is required for xogg. +# +# if test -z "$pthread_lib"; then XOGG=""; fi +# +# dnl If we don't have libgtk installed, and we don't have a libgtk +# dnl subdirectory to build the library ourself, we can't build xogg. +# +# if test -n "$LIBGTKDIR" -a ! -d "$LIBGTKDIR"; then +# XOGG="" +# LIBGTKDIR="" +# fi +#fi + +dnl This seems to be the only way to make autoconf only *sometimes* configure +dnl a subdirectory with AC_CONFIG_SUBDIRS. "__noconf" is assumed to not +dnl exist as a directory, so configure won't try to recursively enter it, unless +dnl the shell variable $dummy is reset to an existing directory inside the +dnl if clause. + +dummy="__noconf" + +#if test -d "$LIBGTKDIR"; then +# enable_shared="no"; export enable_shared +# dummy="libgtk" +# AC_CONFIG_SUBDIRS("$dummy") +# X_LIBS="-L${srcdir}/libgtk/gtk/.libs -L${srcdir}/libgtk/gdk/.libs -L${srcdir}/libgtk/glib/.libs $X_LIBS" +#fi + +AC_CHECK_SIZEOF(short) +AC_CHECK_SIZEOF(int) +AC_CHECK_SIZEOF(long) +AC_CHECK_SIZEOF(long long) + +case 2 in + $ac_cv_sizeof_short) SIZE16="short";; + $ac_cv_sizeof_int) SIZE16="int";; +esac + +case 4 in + $ac_cv_sizeof_short) SIZE32="short";; + $ac_cv_sizeof_int) SIZE32="int";; + $ac_cv_sizeof_long) SIZE32="long";; +esac + +case 8 in + $ac_cv_sizeof_int) SIZE64="int";; + $ac_cv_sizeof_long) SIZE64="long";; + $ac_cv_sizeof_long_long) SIZE64="long long";; +esac + +if test -z "$SIZE16"; then + AC_MSG_ERROR(No 16 bit type found on this platform!) +fi +if test -z "$SIZE32"; then + AC_MSG_ERROR(No 32 bit type found on this platform!) +fi +if test -z "$SIZE64"; then + AC_MSG_WARN(No 64 bit type found on this platform!) +fi + +#AC_CHECK_HEADER(alloca.h,AC_DEFINE(USE_ALLOCA_H),:) +#AC_CHECK_HEADER(memory.h,AC_DEFINE(USE_MEMORY_H),:) +# We no longer use config.h +AC_CHECK_HEADER(alloca.h,CFLAGS="$CFLAGS -DUSE_ALLOCA_H",:) +AC_CHECK_HEADER(memory.h,CFLAGS="$CFLAGS -DUSE_MEMORY_H",:) + +AC_C_CONST +AC_HEADER_TIME +AC_STRUCT_TM + +AC_PROG_MAKE_SET +AC_FUNC_MEMCMP +AC_TYPE_SIGNAL +AC_CHECK_FUNCS(gettimeofday select strcspn strerror strspn sigaction) + +AC_SUBST(SIZE16) +AC_SUBST(SIZE32) +AC_SUBST(SIZE64) +AC_SUBST(OPT) +AC_SUBST(LIBS) +AC_SUBST(DEBUG) +AC_SUBST(PROFILE) +AC_SUBST(CC) +AC_SUBST(RANLIB) +#AC_SUBST(XOGG) +#AC_SUBST(LIBGTKDIR) +AC_SUBST(pthread_lib) + +AC_CONFIG_SUBDIRS(vorbis-tools/libao) + +AC_OUTPUT(Makefile lib/Makefile examples/Makefile vorbis-tools/Makefile\ + vq/Makefile huff/Makefile cmdline/Makefile xmms/Makefile kmpg/Makefile) + |