annotate src/libsamplerate-0.1.9/configure.ac @ 169:223a55898ab9 tip default

Add null config files
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 02 Mar 2020 14:03:47 +0000
parents 4a7071416412
children
rev   line source
cannam@126 1 # Copyright (C) 2002-2011 Erik de Castro Lopo (erikd AT mega-nerd DOT com).
cannam@126 2
cannam@126 3 dnl Require autoconf version
cannam@126 4 AC_PREREQ(2.57)
cannam@126 5
cannam@126 6 AC_INIT([libsamplerate],[0.1.9],[erikd@mega-nerd.com],
cannam@126 7 [libsamplerate],[http://www.mega-nerd.com/libsamplerate/])
cannam@126 8
cannam@126 9 # Put config stuff in Cfg.
cannam@126 10 AC_CONFIG_AUX_DIR(Cfg)
cannam@126 11
cannam@126 12 AC_CONFIG_SRCDIR([src/samplerate.c])
cannam@126 13 AC_CANONICAL_TARGET([])
cannam@126 14
cannam@126 15 AC_CONFIG_MACRO_DIR([M4])
cannam@126 16 AC_CONFIG_HEADERS([src/config.h])
cannam@126 17
cannam@126 18 AM_INIT_AUTOMAKE($PACKAGE_NAME,$PACKAGE_VERSION)
cannam@126 19 AM_SILENT_RULES([yes])
cannam@126 20
cannam@126 21 dnl Add parameters for aclocal
cannam@126 22 AC_SUBST(ACLOCAL_AMFLAGS, "-I M4")
cannam@126 23
cannam@126 24 AC_LANG([C])
cannam@126 25
cannam@126 26 AC_PROG_CC
cannam@126 27 AM_PROG_CC_C_O
cannam@126 28 AC_PROG_CXX
cannam@126 29 AC_PROG_SED
cannam@126 30
cannam@126 31 # Do not check for F77.
cannam@126 32 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
cannam@126 33
cannam@126 34 AM_PROG_LIBTOOL
cannam@126 35 LT_PROG_RC
cannam@126 36
cannam@126 37 AC_PROG_INSTALL
cannam@126 38 AC_PROG_LN_S
cannam@126 39
cannam@126 40 #------------------------------------------------------------------------------------
cannam@126 41 # Rules for library version information:
cannam@126 42 #
cannam@126 43 # 1. Start with version information of `0:0:0' for each libtool library.
cannam@126 44 # 2. Update the version information only immediately before a public release of
cannam@126 45 # your software. More frequent updates are unnecessary, and only guarantee
cannam@126 46 # that the current interface number gets larger faster.
cannam@126 47 # 3. If the library source code has changed at all since the last update, then
cannam@126 48 # increment revision (`c:r:a' becomes `c:r+1:a').
cannam@126 49 # 4. If any interfaces have been added, removed, or changed since the last update,
cannam@126 50 # increment current, and set revision to 0.
cannam@126 51 # 5. If any interfaces have been added since the last public release, then increment
cannam@126 52 # age.
cannam@126 53 # 6. If any interfaces have been removed since the last public release, then set age
cannam@126 54 # to 0.
cannam@126 55
cannam@126 56 SHARED_VERSION_INFO="1:8:1"
cannam@126 57
cannam@126 58
cannam@126 59
cannam@126 60
cannam@126 61
cannam@126 62 AC_PROG_MAKE_SET
cannam@126 63 AC_PROG_LN_S
cannam@126 64 AC_PROG_MKDIR_P
cannam@126 65
cannam@126 66 if test "x-$build_os-$host_os-$target_os" = x-mingw32-mingw32-mingw32 ; then
cannam@126 67 AC_CHECK_PROG(DLLTOOL, dlltool, dlltool)
cannam@126 68 AC_CHECK_PROG(DLLWRAP, dllwrap, dllwrap)
cannam@126 69 AC_CHECK_PROG(PEXPORTS, pexports, pexports)
cannam@126 70 fi
cannam@126 71
cannam@126 72 AC_HEADER_STDC
cannam@126 73
cannam@126 74 AC_CHECK_HEADERS(stdint.h sys/times.h)
cannam@126 75
cannam@126 76 #====================================================================================
cannam@126 77 # Couple of initializations here. Fill in real values later.
cannam@126 78
cannam@126 79 SHLIB_VERSION_ARG=""
cannam@126 80
cannam@126 81 #====================================================================================
cannam@126 82 # Finished checking, handle options.
cannam@126 83
cannam@126 84 AC_ARG_ENABLE(gcc-werror,
cannam@126 85 AC_HELP_STRING([--enable-gcc-werror], [enable -Werror in all Makefiles]),
cannam@126 86 ac_arg_gcc_werror=yes, ac_arg_gcc_werror=no)
cannam@126 87
cannam@126 88 AC_ARG_ENABLE(gcc-pipe,
cannam@126 89 AC_HELP_STRING([--disable-gcc-pipe], [disable gcc -pipe option ]),
cannam@126 90 ac_arg_gcc_pipe="N", ac_arg_gcc_pipe="Y")
cannam@126 91
cannam@126 92 AC_ARG_ENABLE(gcc-opt,
cannam@126 93 AC_HELP_STRING([--disable-gcc-opt], [disable gcc optimisations ]),
cannam@126 94 ac_arg_gcc_opt="N", ac_arg_gcc_opt="Y")
cannam@126 95
cannam@126 96 AC_ARG_ENABLE(fftw,
cannam@126 97 AC_HELP_STRING([--disable-fftw], [disable usage of FFTW ]),
cannam@126 98 ac_arg_fftw="N", ac_arg_fftw="Y")
cannam@126 99
cannam@126 100 AC_ARG_ENABLE(cpu-clip,
cannam@126 101 AC_HELP_STRING([--disable-cpu-clip], [disable tricky cpu specific clipper]),
cannam@126 102 ac_arg_cpu_clip="N", ac_arg_cpu_clip="Y")
cannam@126 103
cannam@126 104 #====================================================================================
cannam@126 105 # Check types and their sizes.
cannam@126 106
cannam@126 107 AC_CHECK_SIZEOF(int,0)
cannam@126 108 AC_CHECK_SIZEOF(long,0)
cannam@126 109 AC_CHECK_SIZEOF(float,4)
cannam@126 110 AC_CHECK_SIZEOF(double,8)
cannam@126 111
cannam@126 112 #====================================================================================
cannam@126 113 # Determine endian-ness of target processor.
cannam@126 114
cannam@126 115 AC_C_FIND_ENDIAN
cannam@126 116
cannam@126 117 AC_DEFINE_UNQUOTED(CPU_IS_BIG_ENDIAN, ${ac_cv_c_big_endian},
cannam@126 118 [Target processor is big endian.])
cannam@126 119 AC_DEFINE_UNQUOTED(CPU_IS_LITTLE_ENDIAN, ${ac_cv_c_little_endian},
cannam@126 120 [Target processor is little endian.])
cannam@126 121
cannam@126 122 #====================================================================================
cannam@126 123 # Check for functions.
cannam@126 124
cannam@126 125 AC_CHECK_FUNCS(malloc calloc free memcpy memmove alarm signal)
cannam@126 126
cannam@126 127 AC_CHECK_LIB([m],floor)
cannam@126 128 AC_CHECK_FUNCS(floor ceil fmod)
cannam@126 129
cannam@126 130 AC_CHECK_SIGNAL(SIGALRM)
cannam@126 131
cannam@126 132 AC_C99_FUNC_LRINT
cannam@126 133 AC_C99_FUNC_LRINTF
cannam@126 134 # AC_C99_FUNC_LLRINT Don't need this (yet?).
cannam@126 135
cannam@126 136 case "x$ac_cv_c99_lrint$ac_cv_c99_lrintf" in
cannam@126 137 xyesyes)
cannam@126 138 ;;
cannam@126 139 *)
cannam@126 140 AC_MSG_WARN([[*** Missing C99 standard functions lrint() and lrintf().]])
cannam@126 141 AC_MSG_WARN([[*** This may cause benign compiler warnings on some systems (ie Solaris).]])
cannam@126 142 ;;
cannam@126 143 esac
cannam@126 144
cannam@126 145 #====================================================================================
cannam@126 146 # Determine if the processor can do clipping on float to int conversions.
cannam@126 147
cannam@126 148 if test x$ac_arg_cpu_clip = "xY" ; then
cannam@126 149 AC_C_CLIP_MODE
cannam@126 150 else
cannam@126 151 echo "checking processor clipping capabilities... disabled"
cannam@126 152 ac_cv_c_clip_positive=0
cannam@126 153 ac_cv_c_clip_negative=0
cannam@126 154 fi
cannam@126 155
cannam@126 156 AC_DEFINE_UNQUOTED(CPU_CLIPS_POSITIVE, ${ac_cv_c_clip_positive},
cannam@126 157 [Target processor clips on positive float to int conversion.])
cannam@126 158 AC_DEFINE_UNQUOTED(CPU_CLIPS_NEGATIVE, ${ac_cv_c_clip_negative},
cannam@126 159 [Target processor clips on negative float to int conversion.])
cannam@126 160
cannam@126 161 #====================================================================================
cannam@126 162 # Check for libsndfile which is required for the test and example programs.
cannam@126 163
cannam@126 164 AC_ARG_ENABLE(sndfile,
cannam@126 165 AC_HELP_STRING([--disable-sndfile], [disable support for sndfile (default=autodetect)]),
cannam@126 166 [ enable_sndfile=$enableval ], [ enable_sndfile=yes ])
cannam@126 167
cannam@126 168 # Check for pkg-config outside the if statement.
cannam@126 169 PKG_PROG_PKG_CONFIG
cannam@126 170
cannam@126 171 if test "x$enable_sndfile" = "xyes"; then
cannam@126 172 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.6, ac_cv_sndfile=1, ac_cv_sndfile=0)
cannam@126 173 else
cannam@126 174 ac_cv_sndfile=0
cannam@126 175 fi
cannam@126 176
cannam@126 177 AC_DEFINE_UNQUOTED([HAVE_SNDFILE],$ac_cv_sndfile,[Set to 1 if you have libsndfile.])
cannam@126 178
cannam@126 179 if test x$ac_cv_sndfile = x1 ; then
cannam@126 180 ac_cv_sndfile=yes
cannam@126 181 HAVE_SNDFILE=1
cannam@126 182 else
cannam@126 183 ac_cv_sndfile=no
cannam@126 184 HAVE_SNDFILE=0
cannam@126 185 fi
cannam@126 186
cannam@126 187 #====================================================================================
cannam@126 188 # Check for ALSA.
cannam@126 189
cannam@126 190 ALSA_LIBS=""
cannam@126 191
cannam@126 192 if test x$enable_alsa != xno ; then
cannam@126 193 AC_CHECK_HEADERS(alsa/asoundlib.h)
cannam@126 194 if test x$ac_cv_header_alsa_asoundlib_h = xyes ; then
cannam@126 195 ALSA_LIBS="-lasound"
cannam@126 196 enable_alsa=yes
cannam@126 197 fi
cannam@126 198 fi
cannam@126 199
cannam@126 200 #====================================================================================
cannam@126 201 # Check for libfftw3 which is required for the test and example programs.
cannam@126 202
cannam@126 203 if test $ac_arg_fftw = "Y" ; then
cannam@126 204 PKG_CHECK_MODULES(FFTW3, fftw3 >= 0.15.0, ac_cv_fftw3=1, ac_cv_fftw3=0)
cannam@126 205 AC_DEFINE_UNQUOTED([HAVE_FFTW3],$ac_cv_fftw3,[Set to 1 if you have libfftw3.])
cannam@126 206
cannam@126 207 if test x$ac_cv_fftw3 = x1 ; then
cannam@126 208 ac_cv_fftw3=yes
cannam@126 209 HAVE_FFTW3=1
cannam@126 210 fi
cannam@126 211 fi
cannam@126 212
cannam@126 213 if test x$ac_cv_fftw3 != xyes ; then
cannam@126 214 ac_cv_fftw3=no
cannam@126 215 HAVE_FFTW3=0
cannam@126 216 fi
cannam@126 217
cannam@126 218 #====================================================================================
cannam@126 219 # GCC stuff.
cannam@126 220
cannam@126 221 if test $ac_cv_c_compiler_gnu = yes ; then
cannam@126 222 CFLAGS="$CFLAGS -std=gnu99 -W -Wstrict-prototypes -Wmissing-prototypes -Wall -Waggregate-return -Wcast-align -Wcast-qual -Wnested-externs -Wshadow -Wpointer-arith"
cannam@126 223 # -Wundef -Wbad-function-cast -Wmissing-declarations -Wconversion -Winline"
cannam@126 224 if test "$ac_arg_gcc_opt" = "N" ; then
cannam@126 225 temp_CFLAGS=`echo $CFLAGS | sed "s/O2/O0/"`
cannam@126 226 CFLAGS=$temp_CFLAGS
cannam@126 227 AC_MSG_WARN([[*** Compiler optimisations switched off. ***]])
cannam@126 228 fi
cannam@126 229
cannam@126 230 # Disable -Wall for Apple Darwin/Rhapsody.
cannam@126 231 # System headers on these systems are broken.
cannam@126 232 case "$target_os" in
cannam@126 233 darwin* | rhapsody*)
cannam@126 234 temp_CFLAGS=`echo $CFLAGS | sed "s/-Wall//"`
cannam@126 235 CFLAGS=$temp_CFLAGS
cannam@126 236 ;;
cannam@126 237
cannam@126 238 linux*|kfreebsd*-gnu*|gnu*)
cannam@126 239 SHLIB_VERSION_ARG="-Wl,--version-script=Version_script"
cannam@126 240 ;;
cannam@126 241 *)
cannam@126 242 ;;
cannam@126 243 esac
cannam@126 244 if test x$ac_arg_gcc_pipe != "xN" ; then
cannam@126 245 CFLAGS="$CFLAGS -pipe"
cannam@126 246 fi
cannam@126 247
cannam@126 248 if test x$ac_arg_gcc_werror = "xyes" ; then
cannam@126 249 CFLAGS="-Werror $CFLAGS"
cannam@126 250 fi
cannam@126 251
cannam@126 252 AC_DEFINE([COMPILER_IS_GCC],1, [Set to 1 if the compile is GNU GCC.])
cannam@126 253 GCC_MAJOR_VERSION=`$CC -dumpversion | sed "s/\..*//"`
cannam@126 254 AC_DEFINE_UNQUOTED([GCC_MAJOR_VERSION],${GCC_MAJOR_VERSION}, [Major version of GCC or 3 otherwise.])
cannam@126 255 fi
cannam@126 256
cannam@126 257 #====================================================================================
cannam@126 258 # Find known target OS.
cannam@126 259
cannam@126 260 OS_SPECIFIC_INCLUDES=""
cannam@126 261 os_is_win32=0
cannam@126 262
cannam@126 263 case "$target_os" in
cannam@126 264 darwin* | rhapsody*)
cannam@126 265 OS_SPECIFIC_INCLUDES="-fpascal-strings -I/Developer/Headers/FlatCarbon"
cannam@126 266 OS_SPECIFIC_LINKS="-framework CoreAudio"
cannam@126 267 ;;
cannam@126 268 mingw32*)
cannam@126 269 OS_SPECIFIC_LINKS="-lwinmm"
cannam@126 270 os_is_win32=1
cannam@126 271 ;;
cannam@126 272 *)
cannam@126 273 OS_SPECIFIC_INCLUDES=""
cannam@126 274 OS_SPECIFIC_LINKS=""
cannam@126 275 ;;
cannam@126 276 esac
cannam@126 277
cannam@126 278 htmldocdir=$prefix/share/doc/libsamplerate0-dev/html
cannam@126 279
cannam@126 280 if test $prefix = "NONE" ; then
cannam@126 281 htmldocdir=/usr/local/share/doc/libsamplerate0-dev/html
cannam@126 282 else
cannam@126 283 htmldocdir=$prefix/share/doc/libsamplerate0-dev/html
cannam@126 284 fi
cannam@126 285
cannam@126 286 #====================================================================================
cannam@126 287 # Now use the information from the checking stage.
cannam@126 288
cannam@126 289 AC_DEFINE_UNQUOTED(OS_IS_WIN32, ${os_is_win32}, [Set to 1 if compiling for Win32])
cannam@126 290
cannam@126 291 AC_SUBST(htmldocdir)
cannam@126 292
cannam@126 293 AC_SUBST(SHLIB_VERSION_ARG)
cannam@126 294 AC_SUBST(SHARED_VERSION_INFO)
cannam@126 295 AC_SUBST(OS_SPECIFIC_INCLUDES)
cannam@126 296 AC_SUBST(OS_SPECIFIC_LINKS)
cannam@126 297
cannam@126 298 AC_SUBST(COMPILER_IS_GCC)
cannam@126 299 AC_SUBST(GCC_MAJOR_VERSION)
cannam@126 300
cannam@126 301 AC_SUBST(HAVE_FFTW3)
cannam@126 302 AC_SUBST(FFTW3_CFLAGS)
cannam@126 303 AC_SUBST(FFTW3_LIBS)
cannam@126 304
cannam@126 305 AC_SUBST(HAVE_SNDFILE)
cannam@126 306 AC_SUBST(SNDFILE_CFLAGS)
cannam@126 307 AC_SUBST(SNDFILE_LIBS)
cannam@126 308
cannam@126 309 AC_SUBST(ALSA_LIBS)
cannam@126 310
cannam@126 311 AC_CONFIG_FILES([Makefile M4/Makefile src/Version_script \
cannam@126 312 Win32/Makefile Win32/Makefile.mingw \
cannam@126 313 src/Makefile examples/Makefile tests/Makefile doc/Makefile \
cannam@126 314 libsamplerate.spec samplerate.pc])
cannam@126 315 AC_OUTPUT
cannam@126 316
cannam@126 317 #====================================================================================
cannam@126 318
cannam@126 319 AC_MSG_RESULT([
cannam@126 320 -=-=-=-=-=-=-=-=-=-= Configuration Complete =-=-=-=-=-=-=-=-=-=-=-
cannam@126 321
cannam@126 322 Configuration summary :
cannam@126 323
cannam@126 324 Version : ..................... ${VERSION}
cannam@126 325
cannam@126 326 Host CPU : .................... ${host_cpu}
cannam@126 327 Host Vendor : ................. ${host_vendor}
cannam@126 328 Host OS : ..................... ${host_os}
cannam@126 329 ])
cannam@126 330
cannam@126 331 if test x$ac_cv_c_compiler_gnu = xyes ; then
cannam@126 332 echo -e " Tools :\n"
cannam@126 333 echo " Compiler is GCC : ............. ${ac_cv_c_compiler_gnu}"
cannam@126 334 echo " GCC major version : ........... ${GCC_MAJOR_VERSION}"
cannam@126 335 fi
cannam@126 336
cannam@126 337 AC_MSG_RESULT([
cannam@126 338 Extra tools required for testing and examples :
cannam@126 339
cannam@126 340 Have FFTW : ................... ${ac_cv_fftw3}])
cannam@126 341
cannam@126 342 AC_MSG_RESULT([ Have libsndfile : ............. ${ac_cv_sndfile}])
cannam@126 343 AC_MSG_RESULT([ Have ALSA : ................... ${ac_cv_header_alsa_asoundlib_h}
cannam@126 344 ])
cannam@126 345
cannam@126 346 AC_MSG_RESULT([ Installation directories :
cannam@126 347
cannam@126 348 Library directory : ........... ${prefix}/lib
cannam@126 349 Program directory : ........... ${prefix}/bin
cannam@126 350 Pkgconfig directory : ......... ${prefix}/lib/pkgconfig
cannam@126 351 ])
cannam@126 352
cannam@126 353 if test x$prefix != "x/usr" ; then
cannam@126 354 echo "Compiling some other packages against ${PACKAGE} may require "
cannam@126 355 echo -e "the addition of \"${prefix}/lib/pkgconfig\" to the "
cannam@126 356 echo -e "PKG_CONFIG_PATH environment variable.\n"
cannam@126 357 fi
cannam@126 358