| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 1 | dnl Process this file with autoconf to produce a configure script. -*-m4-*- |
| 2 | |
| Jean-Marc Valin | 842b445 | 2007-11-29 17:19:47 +1100 | [diff] [blame] | 3 | AC_INIT(libcelt/arch.h) |
| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 4 | |
| 5 | AM_CONFIG_HEADER([config.h]) |
| 6 | |
| 7 | CELT_MAJOR_VERSION=0 |
| Jean-Marc Valin | 5ac6d42 | 2008-10-09 07:27:10 -0400 | [diff] [blame] | 8 | CELT_MINOR_VERSION=5 |
| Jean-Marc Valin | 28f0f65 | 2009-02-16 07:32:44 -0500 | [diff] [blame] | 9 | CELT_MICRO_VERSION=2 |
| Jean-Marc Valin | 14f5e7c | 2008-02-21 23:59:17 +1100 | [diff] [blame] | 10 | CELT_EXTRA_VERSION= |
| Jean-Marc Valin | 842b445 | 2007-11-29 17:19:47 +1100 | [diff] [blame] | 11 | CELT_VERSION=$CELT_MAJOR_VERSION.$CELT_MINOR_VERSION.$CELT_MICRO_VERSION$CELT_EXTRA_VERSION |
| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 12 | |
| 13 | CELT_LT_CURRENT=0 |
| 14 | CELT_LT_REVISION=0 |
| 15 | CELT_LT_AGE=0 |
| 16 | |
| 17 | AC_SUBST(CELT_LT_CURRENT) |
| 18 | AC_SUBST(CELT_LT_REVISION) |
| 19 | AC_SUBST(CELT_LT_AGE) |
| 20 | |
| 21 | # For automake. |
| 22 | VERSION=$CELT_VERSION |
| Jean-Marc Valin | 842b445 | 2007-11-29 17:19:47 +1100 | [diff] [blame] | 23 | PACKAGE=celt |
| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 24 | |
| 25 | AC_SUBST(CELT_VERSION) |
| 26 | |
| 27 | AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) |
| 28 | AM_MAINTAINER_MODE |
| 29 | |
| 30 | AC_CANONICAL_HOST |
| 31 | AM_PROG_LIBTOOL |
| 32 | |
| 33 | AC_C_BIGENDIAN |
| 34 | AC_C_CONST |
| 35 | AC_C_INLINE |
| 36 | AC_C_RESTRICT |
| 37 | |
| Peter Kirk | 19f9dc9 | 2008-06-06 14:38:38 +0200 | [diff] [blame] | 38 | AC_DEFINE([CELT_BUILD], [], [This is a build of CELT]) |
| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 39 | |
| 40 | AC_MSG_CHECKING(for C99 variable-size arrays) |
| 41 | AC_TRY_COMPILE( , [ |
| 42 | int foo=10; |
| 43 | int array[foo]; |
| 44 | ], |
| 45 | [has_var_arrays=yes;AC_DEFINE([VAR_ARRAYS], [], [Use C99 variable-size arrays]) |
| 46 | ], |
| 47 | has_var_arrays=no |
| 48 | ) |
| 49 | AC_MSG_RESULT($has_var_arrays) |
| 50 | |
| Jean-Marc Valin | e623312 | 2008-02-01 16:27:38 +1100 | [diff] [blame] | 51 | AC_CHECK_HEADERS([alloca.h getopt.h]) |
| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 52 | AC_MSG_CHECKING(for alloca) |
| 53 | AC_TRY_COMPILE( [#include <alloca.h>], [ |
| 54 | int foo=10; |
| 55 | int *array = alloca(foo); |
| 56 | ], |
| 57 | [ |
| 58 | has_alloca=yes; |
| 59 | if test x$has_var_arrays = "xno" ; then |
| 60 | AC_DEFINE([USE_ALLOCA], [], [Make use of alloca]) |
| 61 | fi |
| 62 | ], |
| 63 | has_alloca=no |
| 64 | ) |
| 65 | AC_MSG_RESULT($has_alloca) |
| 66 | |
| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 67 | AC_CHECK_HEADERS(sys/soundcard.h sys/audioio.h) |
| 68 | |
| Jean-Marc Valin | e623312 | 2008-02-01 16:27:38 +1100 | [diff] [blame] | 69 | XIPH_PATH_OGG([tools="tools"], [tools=""]) |
| 70 | AC_SUBST(tools) |
| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 71 | |
| 72 | AC_CHECK_LIB(m, sin) |
| 73 | |
| 74 | # Check for getopt_long; if not found, use included source. |
| 75 | AC_CHECK_FUNCS([getopt_long],, |
| 76 | [# FreeBSD has a gnugetopt library. |
| 77 | AC_CHECK_LIB([gnugetopt],[getopt_long], |
| 78 | [AC_DEFINE([HAVE_GETOPT_LONG])], |
| 79 | [# Use the GNU replacement. |
| 80 | AC_LIBOBJ(getopt) |
| 81 | AC_LIBOBJ(getopt1)])]) |
| 82 | |
| 83 | AC_CHECK_LIB(winmm, main) |
| 84 | |
| Jean-Marc Valin | 842b445 | 2007-11-29 17:19:47 +1100 | [diff] [blame] | 85 | AC_DEFINE_UNQUOTED(CELT_VERSION, "${CELT_VERSION}", [Complete version string]) |
| 86 | AC_DEFINE_UNQUOTED(CELT_MAJOR_VERSION, ${CELT_MAJOR_VERSION}, [Version major]) |
| 87 | AC_DEFINE_UNQUOTED(CELT_MINOR_VERSION, ${CELT_MINOR_VERSION}, [Version minor]) |
| 88 | AC_DEFINE_UNQUOTED(CELT_MICRO_VERSION, ${CELT_MICRO_VERSION}, [Version micro]) |
| 89 | AC_DEFINE_UNQUOTED(CELT_EXTRA_VERSION, "${CELT_EXTRA_VERSION}", [Version extra]) |
| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 90 | |
| Jean-Marc Valin | 49ca99e | 2008-02-25 14:05:10 +1100 | [diff] [blame] | 91 | AC_ARG_ENABLE(fixed-point, [ --enable-fixed-point Compile as fixed-point], |
| 92 | [if test "$enableval" = yes; then |
| 93 | AC_DEFINE([FIXED_POINT], , [Compile as fixed-point]) |
| 94 | AC_DEFINE([DOUBLE_PRECISION], , [Compile as fixed-point]) |
| Jean-Marc Valin | 980ad38 | 2008-03-12 11:47:19 +1100 | [diff] [blame] | 95 | AC_DEFINE([MIXED_PRECISION], , [Compile as fixed-point]) |
| Jean-Marc Valin | 49ca99e | 2008-02-25 14:05:10 +1100 | [diff] [blame] | 96 | else |
| 97 | AC_DEFINE([FLOATING_POINT], , [Compile as floating-point]) |
| 98 | fi], |
| 99 | AC_DEFINE([FLOATING_POINT], , [Compile as floating-point])) |
| 100 | |
| 101 | AC_ARG_ENABLE(fixed-point-debug, [ --enable-fixed-point-debug Debug fixed-point implementation], |
| 102 | [if test "$enableval" = yes; then |
| 103 | AC_DEFINE([FIXED_DEBUG], , [Debug fixed-point implementation]) |
| 104 | fi]) |
| 105 | |
| Jean-Marc Valin | 980ad38 | 2008-03-12 11:47:19 +1100 | [diff] [blame] | 106 | AC_ARG_ENABLE(static-modes, [ --enable-static-modes], |
| 107 | [if test "$enableval" = yes; then |
| 108 | AC_DEFINE([STATIC_MODES], , [Static modes]) |
| 109 | fi]) |
| 110 | |
| Jean-Marc Valin | 4ff068e | 2008-03-15 23:34:39 +1100 | [diff] [blame] | 111 | AC_ARG_ENABLE(assertions, [ --enable-assertions], |
| 112 | [if test "$enableval" = yes; then |
| 113 | AC_DEFINE([ENABLE_ASSERTIONS], , [Assertions]) |
| 114 | fi]) |
| 115 | |
| Jean-Marc Valin | 4c9a007 | 2008-12-23 09:53:36 -0500 | [diff] [blame] | 116 | saved_CFLAGS="$CFLAGS" |
| 117 | CFLAGS="$CFLAGS -fvisibility=hidden" |
| 118 | AC_MSG_CHECKING([if ${CXX} supports -fvisibility=hidden]) |
| 119 | AC_COMPILE_IFELSE([char foo;], |
| 120 | [ AC_MSG_RESULT([yes]) |
| 121 | SYMBOL_VISIBILITY="-fvisibility=hidden" ], |
| 122 | AC_MSG_RESULT([no])) |
| 123 | CFLAGS="$saved_CFLAGS $SYMBOL_VISIBILITY" |
| 124 | AC_SUBST(SYMBOL_VISIBILITY) |
| 125 | |
| Jean-Marc Valin | 679f5cc | 2008-03-13 17:39:55 +1100 | [diff] [blame] | 126 | if test $ac_cv_c_compiler_gnu = yes ; then |
| Jean-Marc Valin | 4c9a007 | 2008-12-23 09:53:36 -0500 | [diff] [blame] | 127 | CFLAGS="$CFLAGS -W -Wstrict-prototypes -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wno-parentheses -Wno-unused-parameter -Wno-sign-compare" |
| Jean-Marc Valin | 679f5cc | 2008-03-13 17:39:55 +1100 | [diff] [blame] | 128 | fi |
| Jean-Marc Valin | 49ca99e | 2008-02-25 14:05:10 +1100 | [diff] [blame] | 129 | |
| Jean-Marc Valin | d9b9565 | 2008-08-31 23:34:47 -0400 | [diff] [blame] | 130 | AC_C99_FUNC_LRINTF |
| 131 | AC_C99_FUNC_LRINT |
| 132 | |
| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 133 | AC_CHECK_SIZEOF(short) |
| 134 | AC_CHECK_SIZEOF(int) |
| 135 | AC_CHECK_SIZEOF(long) |
| 136 | AC_CHECK_SIZEOF(long long) |
| 137 | |
| 138 | if test x$has_char16 = "xyes" ; then |
| 139 | case 1 in |
| 140 | $ac_cv_sizeof_short) SIZE16="short";; |
| 141 | $ac_cv_sizeof_int) SIZE16="int";; |
| 142 | esac |
| 143 | else |
| 144 | case 2 in |
| 145 | $ac_cv_sizeof_short) SIZE16="short";; |
| 146 | $ac_cv_sizeof_int) SIZE16="int";; |
| 147 | esac |
| 148 | fi |
| 149 | |
| 150 | if test x$has_char16 = "xyes" ; then |
| 151 | case 2 in |
| 152 | $ac_cv_sizeof_int) SIZE32="int";; |
| 153 | $ac_cv_sizeof_long) SIZE32="long";; |
| 154 | $ac_cv_sizeof_short) SIZE32="short";; |
| 155 | esac |
| 156 | else |
| 157 | case 4 in |
| 158 | $ac_cv_sizeof_int) SIZE32="int";; |
| 159 | $ac_cv_sizeof_long) SIZE32="long";; |
| 160 | $ac_cv_sizeof_short) SIZE32="short";; |
| 161 | esac |
| 162 | fi |
| 163 | |
| 164 | AC_SUBST(SIZE16) |
| 165 | AC_SUBST(SIZE32) |
| 166 | |
| Christopher Montgomery | 41d819d | 2009-01-13 13:39:53 -0500 | [diff] [blame] | 167 | AC_OUTPUT([Makefile libcelt/Makefile tests/Makefile |
| 168 | celt.pc tools/Makefile libcelt.spec ]) |
| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 169 | |
| Jean-Marc Valin | e623312 | 2008-02-01 16:27:38 +1100 | [diff] [blame] | 170 | if test "x$tools" = "x"; then |
| Jean-Marc Valin | 6359089 | 2007-11-29 17:01:16 +1100 | [diff] [blame] | 171 | echo "**IMPORTANT**" |
| 172 | echo "You don't seem to have the development package for libogg (libogg-devel) installed. Only the library will be built (no encoder/decoder executable)" |
| 173 | echo "You can download libogg from http://www.vorbis.com/download.psp" |
| 174 | fi |
| 175 | |
| 176 | echo "Type \"make; make install\" to compile and install"; |