diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 310 |
1 files changed, 310 insertions, 0 deletions
diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..99d6b7f --- /dev/null +++ b/configure.in @@ -0,0 +1,310 @@ +dnl Process this file with autoconf to produce a configure script. + +AC_INIT(src/framing.c) + +AM_INIT_AUTOMAKE(libogg,1.2.0) +AM_MAINTAINER_MODE + +dnl Library versioning + +LIB_CURRENT=7 +LIB_REVISION=0 +LIB_AGE=7 +AC_SUBST(LIB_CURRENT) +AC_SUBST(LIB_REVISION) +AC_SUBST(LIB_AGE) + +AC_PROG_CC +AM_PROG_LIBTOOL +AM_PROG_CC_C_O + +dnl config.h +AM_CONFIG_HEADER(config.h) + +dnl Set some options based on environment + +cflags_save="$CFLAGS" +if test -z "$GCC"; then + case $host in + *-*-irix*) + DEBUG="-g -signed" + CFLAGS="-O2 -w -signed" + PROFILE="-p -g3 -O2 -signed" + ;; + sparc-sun-solaris*) + DEBUG="-v -g" + CFLAGS="-xO4 -fast -w -fsimple -native -xcg92" + PROFILE="-v -xpg -g -xO4 -fast -native -fsimple -xcg92 -Dsuncc" + ;; + *) + DEBUG="-g" + CFLAGS="-O" + PROFILE="-g -p" + ;; + esac +else + case $host in + *-*-linux*) + DEBUG="-g -Wall -fsigned-char" + CFLAGS="-O20 -ffast-math -fsigned-char" + PROFILE="-Wall -W -pg -g -O20 -ffast-math -fsigned-char" + ;; + sparc-sun-*) + sparc_cpu="" + AC_MSG_CHECKING([if gcc supports -mv8]) + old_cflags="$CFLAGS" + CFLAGS="$CFLAGS -mv8" + AC_TRY_COMPILE(, [return 0;], [ + AC_MSG_RESULT([yes]) + sparc_cpu="-mv8" + ]) + CFLAGS="$old_cflags" + DEBUG="-g -Wall -fsigned-char $sparc_cpu" + CFLAGS="-O20 -ffast-math -fsigned-char $sparc_cpu" + PROFILE="-pg -g -O20 -fsigned-char $sparc_cpu" + ;; + *-*-darwin*) + DEBUG="-fno-common -g -Wall -fsigned-char" + CFLAGS="-fno-common -O4 -Wall -fsigned-char -ffast-math" + PROFILE="-fno-common -O4 -Wall -pg -g -fsigned-char -ffast-math" + ;; + *) + DEBUG="-g -Wall -fsigned-char" + CFLAGS="-O20 -fsigned-char" + PROFILE="-O20 -g -pg -fsigned-char" + ;; + esac +fi +CFLAGS="$CFLAGS $cflags_save" +DEBUG="$DEBUG $cflags_save" +PROFILE="$PROFILE $cflags_save" + +dnl Checks for programs. + +dnl Checks for libraries. + +dnl Checks for header files. +AC_HEADER_STDC + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST + +dnl Check for types + +AC_MSG_CHECKING(for int16_t) +AC_CACHE_VAL(has_cv_int16_t, +[AC_TRY_RUN([ +#if defined __BEOS__ && !defined __HAIKU__ +#include <inttypes.h> +#endif +#include <sys/types.h> +int16_t foo; +int main() {return 0;} +], +has_cv_int16_t=yes, +has_cv_int16_t=no, +has_cv_int16_t=no +)]) +AC_MSG_RESULT($has_cv_int16_t) + +AC_MSG_CHECKING(for int32_t) +AC_CACHE_VAL(has_cv_int32_t, +[AC_TRY_RUN([ +#if defined __BEOS__ && !defined __HAIKU__ +#include <inttypes.h> +#endif +#include <sys/types.h> +int32_t foo; +int main() {return 0;} +], +has_cv_int32_t=yes, +has_cv_int32_t=no, +has_cv_int32_t=no +)]) +AC_MSG_RESULT($has_cv_int32_t) + +AC_MSG_CHECKING(for uint32_t) +AC_CACHE_VAL(has_cv_uint32_t, +[AC_TRY_RUN([ +#if defined __BEOS__ && !defined __HAIKU__ +#include <inttypes.h> +#endif +#include <sys/types.h> +uint32_t foo; +int main() {return 0;} +], +has_cv_uint32_t=yes, +has_cv_uint32_t=no, +has_cv_uint32_t=no +)]) +AC_MSG_RESULT($has_cv_uint32_t) + +AC_MSG_CHECKING(for uint16_t) +AC_CACHE_VAL(has_cv_uint16_t, +[AC_TRY_RUN([ +#if defined __BEOS__ && !defined __HAIKU__ +#include <inttypes.h> +#endif +#include <sys/types.h> +uint16_t foo; +int main() {return 0;} +], +has_cv_uint16_t=yes, +has_cv_uint16_t=no, +has_cv_uint16_t=no +)]) +AC_MSG_RESULT($has_cv_uint16_t) + +AC_MSG_CHECKING(for u_int32_t) +AC_CACHE_VAL(has_cv_u_int32_t, +[AC_TRY_RUN([ +#if defined __BEOS__ && !defined __HAIKU__ +#include <inttypes.h> +#endif +#include <sys/types.h> +u_int32_t foo; +int main() {return 0;} +], +has_cv_u_int32_t=yes, +has_cv_u_int32_t=no, +has_cv_u_int32_t=no +)]) +AC_MSG_RESULT($has_cv_u_int32_t) + +AC_MSG_CHECKING(for u_int16_t) +AC_CACHE_VAL(has_cv_u_int16_t, +[AC_TRY_RUN([ +#if defined __BEOS__ && !defined __HAIKU__ +#include <inttypes.h> +#endif +#include <sys/types.h> +u_int16_t foo; +int main() {return 0;} +], +has_cv_u_int16_t=yes, +has_cv_u_int16_t=no, +has_cv_u_int16_t=no +)]) +AC_MSG_RESULT($has_cv_u_int16_t) + +AC_MSG_CHECKING(for int64_t) +AC_CACHE_VAL(has_cv_int64_t, +[AC_TRY_RUN([ +#if defined __BEOS__ && !defined __HAIKU__ +#include <inttypes.h> +#endif +#include <sys/types.h> +int64_t foo; +int main() {return 0;} +], +has_cv_int64_t=yes, +has_cv_int64_t=no, +has_cv_int64_t=no +)]) +AC_MSG_RESULT($has_cv_int64_t) + +AC_CHECK_SIZEOF(short,2) +AC_CHECK_SIZEOF(int,4) +AC_CHECK_SIZEOF(long,4) +AC_CHECK_SIZEOF(long long,8) + + +if test x$has_cv_int16_t = "xyes" ; then + SIZE16="int16_t" +else + case 2 in + $ac_cv_sizeof_short) SIZE16="short";; + $ac_cv_sizeof_int) SIZE16="int";; + esac +fi + +if test x$has_cv_int32_t = "xyes" ; then + SIZE32="int32_t" +else + case 4 in + $ac_cv_sizeof_short) SIZE32="short";; + $ac_cv_sizeof_int) SIZE32="int";; + $ac_cv_sizeof_long) SIZE32="long";; + esac +fi + +if test x$has_cv_uint32_t = "xyes" ; then + USIZE32="uint32_t" +else + if test x$has_cv_u_int32_t = "xyes" ; then + USIZE32="u_int32_t" + else + case 4 in + $ac_cv_sizeof_short) USIZE32="unsigned short";; + $ac_cv_sizeof_int) USIZE32="unsigned int";; + $ac_cv_sizeof_long) USIZE32="unsigned long";; + esac + fi +fi + +if test x$has_cv_uint16_t = "xyes" ; then + USIZE16="uint16_t" +else + if test x$has_cv_u_int16_t = "xyes" ; then + USIZE16="u_int16_t" + else + case 2 in + $ac_cv_sizeof_short) USIZE16="unsigned short";; + $ac_cv_sizeof_int) USIZE16="unsigned int";; + $ac_cv_sizeof_long) USIZE16="unsigned long";; + esac + fi +fi + +if test x$has_cv_int64_t = "xyes" ; then + SIZE64="int64_t" +else +case 8 in + $ac_cv_sizeof_int) SIZE64="int";; + $ac_cv_sizeof_long) SIZE64="long";; + $ac_cv_sizeof_long_long) SIZE64="long long";; +esac +fi + +if test -z "$SIZE16"; then + AC_MSG_ERROR(No 16 bit type found on this platform!) +fi +if test -z "$USIZE16"; then + AC_MSG_ERROR(No unsigned 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 "$USIZE32"; then + AC_MSG_ERROR(No unsigned 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 + +dnl Checks for library functions. +AC_FUNC_MEMCMP + +dnl Make substitutions + +AC_SUBST(LIBTOOL_DEPS) +AC_SUBST(SIZE16) +AC_SUBST(USIZE16) +AC_SUBST(SIZE32) +AC_SUBST(USIZE32) +AC_SUBST(SIZE64) +AC_SUBST(OPT) +AC_SUBST(LIBS) +AC_SUBST(DEBUG) +AC_SUBST(CFLAGS) +AC_SUBST(PROFILE) + +AC_OUTPUT([ +Makefile +src/Makefile +doc/Makefile doc/libogg/Makefile +include/Makefile include/ogg/Makefile include/ogg/config_types.h +libogg.spec +ogg.pc +ogg-uninstalled.pc +]) |