annotate src/libmad-0.15.1b/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 545efbb81310
children
rev   line source
cannam@85 1 dnl -*- m4 -*-
cannam@85 2 dnl
cannam@85 3 dnl libmad - MPEG audio decoder library
cannam@85 4 dnl Copyright (C) 2000-2004 Underbit Technologies, Inc.
cannam@85 5 dnl
cannam@85 6 dnl This program is free software; you can redistribute it and/or modify
cannam@85 7 dnl it under the terms of the GNU General Public License as published by
cannam@85 8 dnl the Free Software Foundation; either version 2 of the License, or
cannam@85 9 dnl (at your option) any later version.
cannam@85 10 dnl
cannam@85 11 dnl This program is distributed in the hope that it will be useful,
cannam@85 12 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
cannam@85 13 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cannam@85 14 dnl GNU General Public License for more details.
cannam@85 15 dnl
cannam@85 16 dnl You should have received a copy of the GNU General Public License
cannam@85 17 dnl along with this program; if not, write to the Free Software
cannam@85 18 dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
cannam@85 19 dnl
cannam@85 20 AC_REVISION([$Id: configure.ac,v 1.9 2004/01/23 09:41:32 rob Exp $])dnl
cannam@85 21
cannam@85 22 dnl Process this file with autoconf to produce a configure script.
cannam@85 23
cannam@85 24 AC_INIT([MPEG Audio Decoder], [0.15.1b], [support@underbit.com], [libmad])
cannam@85 25 AC_PREREQ(2.53)
cannam@85 26
cannam@85 27 AC_CONFIG_SRCDIR([decoder.h])
cannam@85 28
cannam@85 29 AM_INIT_AUTOMAKE
cannam@85 30
cannam@85 31 AM_CONFIG_HEADER([config.h])
cannam@85 32
cannam@85 33 dnl System type.
cannam@85 34
cannam@85 35 AC_CANONICAL_HOST
cannam@85 36
cannam@85 37 dnl Checks for programs.
cannam@85 38
cannam@85 39 AC_PROG_CC
cannam@85 40 AM_PROG_AS
cannam@85 41
cannam@85 42 if test "$GCC" = yes
cannam@85 43 then
cannam@85 44 case "$host" in
cannam@85 45 *-*-mingw*)
cannam@85 46 case "$build" in
cannam@85 47 *-*-cygwin*)
cannam@85 48 CPPFLAGS="$CPPFLAGS -mno-cygwin"
cannam@85 49 LDFLAGS="$LDFLAGS -mno-cygwin"
cannam@85 50 ;;
cannam@85 51 esac
cannam@85 52 esac
cannam@85 53
cannam@85 54 dnl case "$host" in
cannam@85 55 dnl *-*-cygwin* | *-*-mingw*)
cannam@85 56 dnl LDFLAGS="$LDFLAGS -no-undefined -mdll"
cannam@85 57 dnl ;;
cannam@85 58 dnl esac
cannam@85 59 fi
cannam@85 60
cannam@85 61 dnl Support for libtool.
cannam@85 62
cannam@85 63 dnl AC_DISABLE_SHARED
cannam@85 64 dnl AC_LIBTOOL_WIN32_DLL
cannam@85 65 AC_PROG_LIBTOOL
cannam@85 66
cannam@85 67 AC_SUBST(LIBTOOL_DEPS)
cannam@85 68
cannam@85 69 dnl Compiler options.
cannam@85 70
cannam@85 71 arch=""
cannam@85 72 debug=""
cannam@85 73 optimize=""
cannam@85 74 profile=""
cannam@85 75
cannam@85 76 set -- $CFLAGS
cannam@85 77 CFLAGS=""
cannam@85 78
cannam@85 79 if test "$GCC" = yes
cannam@85 80 then
cannam@85 81 CFLAGS="-Wall"
cannam@85 82 fi
cannam@85 83
cannam@85 84 while test $# -gt 0
cannam@85 85 do
cannam@85 86 case "$1" in
cannam@85 87 -Wall)
cannam@85 88 if test "$GCC" = yes
cannam@85 89 then
cannam@85 90 :
cannam@85 91 else
cannam@85 92 CFLAGS="$CFLAGS $1"
cannam@85 93 fi
cannam@85 94 shift
cannam@85 95 ;;
cannam@85 96 -g)
cannam@85 97 debug="-g"
cannam@85 98 shift
cannam@85 99 ;;
cannam@85 100 -mno-cygwin)
cannam@85 101 shift
cannam@85 102 ;;
cannam@85 103 -m*)
cannam@85 104 arch="$arch $1"
cannam@85 105 shift
cannam@85 106 ;;
cannam@85 107 -O2)
cannam@85 108 optimize="-O"
cannam@85 109 shift
cannam@85 110 ;;
cannam@85 111 -fomit-frame-pointer)
cannam@85 112 shift
cannam@85 113 ;;
cannam@85 114 -O*|-f*)
cannam@85 115 optimize="$optimize $1"
cannam@85 116 shift
cannam@85 117 ;;
cannam@85 118 *)
cannam@85 119 CFLAGS="$CFLAGS $1"
cannam@85 120 shift
cannam@85 121 ;;
cannam@85 122 esac
cannam@85 123 done
cannam@85 124
cannam@85 125 if test "$GCC" = yes
cannam@85 126 then
cannam@85 127 if test -z "$arch"
cannam@85 128 then
cannam@85 129 case "$host" in
cannam@85 130 i386-*) ;;
cannam@85 131 i?86-*) arch="-march=i486" ;;
cannam@85 132 arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
cannam@85 133 armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
cannam@85 134 powerpc-*) ;;
cannam@85 135 mips*-agenda-*) arch="-mcpu=vr4100" ;;
cannam@85 136 mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
cannam@85 137 esac
cannam@85 138 fi
cannam@85 139
cannam@85 140 case "$optimize" in
cannam@85 141 -O|"-O "*)
cannam@85 142 optimize="-O"
cannam@85 143 optimize="$optimize -fforce-mem"
cannam@85 144 optimize="$optimize -fforce-addr"
cannam@85 145 : #x optimize="$optimize -finline-functions"
cannam@85 146 : #- optimize="$optimize -fstrength-reduce"
cannam@85 147 optimize="$optimize -fthread-jumps"
cannam@85 148 optimize="$optimize -fcse-follow-jumps"
cannam@85 149 optimize="$optimize -fcse-skip-blocks"
cannam@85 150 : #x optimize="$optimize -frerun-cse-after-loop"
cannam@85 151 : #x optimize="$optimize -frerun-loop-opt"
cannam@85 152 : #x optimize="$optimize -fgcse"
cannam@85 153 optimize="$optimize -fexpensive-optimizations"
cannam@85 154 optimize="$optimize -fregmove"
cannam@85 155 : #* optimize="$optimize -fdelayed-branch"
cannam@85 156 : #x optimize="$optimize -fschedule-insns"
cannam@85 157 optimize="$optimize -fschedule-insns2"
cannam@85 158 : #? optimize="$optimize -ffunction-sections"
cannam@85 159 : #? optimize="$optimize -fcaller-saves"
cannam@85 160 : #> optimize="$optimize -funroll-loops"
cannam@85 161 : #> optimize="$optimize -funroll-all-loops"
cannam@85 162 : #x optimize="$optimize -fmove-all-movables"
cannam@85 163 : #x optimize="$optimize -freduce-all-givs"
cannam@85 164 : #? optimize="$optimize -fstrict-aliasing"
cannam@85 165 : #* optimize="$optimize -fstructure-noalias"
cannam@85 166
cannam@85 167 case "$host" in
cannam@85 168 arm*-*)
cannam@85 169 optimize="$optimize -fstrength-reduce"
cannam@85 170 ;;
cannam@85 171 mips*-*)
cannam@85 172 optimize="$optimize -fstrength-reduce"
cannam@85 173 optimize="$optimize -finline-functions"
cannam@85 174 ;;
cannam@85 175 i?86-*)
cannam@85 176 optimize="$optimize -fstrength-reduce"
cannam@85 177 ;;
cannam@85 178 powerpc-apple-*)
cannam@85 179 # this triggers an internal compiler error with gcc2
cannam@85 180 : #optimize="$optimize -fstrength-reduce"
cannam@85 181
cannam@85 182 # this is really only beneficial with gcc3
cannam@85 183 : #optimize="$optimize -finline-functions"
cannam@85 184 ;;
cannam@85 185 *)
cannam@85 186 # this sometimes provokes bugs in gcc 2.95.2
cannam@85 187 : #optimize="$optimize -fstrength-reduce"
cannam@85 188 ;;
cannam@85 189 esac
cannam@85 190 ;;
cannam@85 191 esac
cannam@85 192 fi
cannam@85 193
cannam@85 194 case "$host" in
cannam@85 195 mips*-agenda-*)
cannam@85 196 AC_DEFINE(HAVE_MADD16_ASM, 1,
cannam@85 197 [Define if your MIPS CPU supports a 2-operand MADD16 instruction.])
cannam@85 198 ;;
cannam@85 199 mips*-luxsonor-*)
cannam@85 200 AC_DEFINE(HAVE_MADD_ASM, 1,
cannam@85 201 [Define if your MIPS CPU supports a 2-operand MADD instruction.])
cannam@85 202 ;;
cannam@85 203 esac
cannam@85 204
cannam@85 205 dnl Checks for header files.
cannam@85 206
cannam@85 207 AC_HEADER_STDC
cannam@85 208 AC_HEADER_SYS_WAIT
cannam@85 209 AC_CHECK_HEADERS(assert.h limits.h unistd.h sys/types.h fcntl.h errno.h)
cannam@85 210
cannam@85 211 dnl Checks for typedefs, structures, and compiler characteristics.
cannam@85 212
cannam@85 213 AC_C_CONST
cannam@85 214 AC_C_INLINE
cannam@85 215 AC_C_BIGENDIAN
cannam@85 216 AC_TYPE_PID_T
cannam@85 217
cannam@85 218 AC_CHECK_SIZEOF(int, 2)
cannam@85 219 AC_CHECK_SIZEOF(long, 4)
cannam@85 220 AC_CHECK_SIZEOF(long long, 8)
cannam@85 221
cannam@85 222 dnl Checks for library functions.
cannam@85 223
cannam@85 224 AC_CHECK_FUNCS(waitpid fcntl pipe fork)
cannam@85 225
cannam@85 226 dnl Other options.
cannam@85 227
cannam@85 228 AC_SUBST(FPM)
cannam@85 229 AC_SUBST(ASO)
cannam@85 230 AC_SUBST(ASO_OBJS)
cannam@85 231
cannam@85 232 dnl handle --enable and --disable options
cannam@85 233
cannam@85 234 AC_CACHE_SAVE
cannam@85 235
cannam@85 236 AC_MSG_CHECKING(whether to optimize for speed or for accuracy)
cannam@85 237
cannam@85 238 AC_ARG_ENABLE(speed, AC_HELP_STRING([--enable-speed],
cannam@85 239 [optimize for speed over accuracy]),
cannam@85 240 [
cannam@85 241 case "$enableval" in
cannam@85 242 yes)
cannam@85 243 optimize_for="speed"
cannam@85 244 AC_DEFINE(OPT_SPEED, 1,
cannam@85 245 [Define to optimize for speed over accuracy.])
cannam@85 246 ;;
cannam@85 247 esac
cannam@85 248 ])
cannam@85 249
cannam@85 250 AC_ARG_ENABLE(accuracy, AC_HELP_STRING([--enable-accuracy],
cannam@85 251 [optimize for accuracy over speed]),
cannam@85 252 [
cannam@85 253 case "$enableval" in
cannam@85 254 yes)
cannam@85 255 if test "$optimize_for" = "speed"
cannam@85 256 then
cannam@85 257 optimize_for="both"
cannam@85 258 else
cannam@85 259 optimize_for="accuracy"
cannam@85 260 fi
cannam@85 261 AC_DEFINE(OPT_ACCURACY, 1,
cannam@85 262 [Define to optimize for accuracy over speed.])
cannam@85 263 ;;
cannam@85 264 esac
cannam@85 265 ])
cannam@85 266
cannam@85 267 AC_MSG_RESULT(${optimize_for-default})
cannam@85 268
cannam@85 269 if test "$optimize_for" = "both"
cannam@85 270 then
cannam@85 271 AC_MSG_ERROR(cannot optimize for both speed and accuracy)
cannam@85 272 fi
cannam@85 273
cannam@85 274 AC_MSG_CHECKING(for architecture-specific fixed-point math routines)
cannam@85 275 AC_ARG_ENABLE(fpm, AC_HELP_STRING([--enable-fpm=ARCH],
cannam@85 276 [use ARCH-specific fixed-point math routines
cannam@85 277 (one of: intel, arm, mips, sparc, ppc, 64bit, default)]),
cannam@85 278 [
cannam@85 279 case "$enableval" in
cannam@85 280 yes) ;;
cannam@85 281 no|default|approx) FPM="DEFAULT" ;;
cannam@85 282 intel|i?86) FPM="INTEL" ;;
cannam@85 283 arm) FPM="ARM" ;;
cannam@85 284 mips) FPM="MIPS" ;;
cannam@85 285 sparc) FPM="SPARC" ;;
cannam@85 286 ppc|powerpc) FPM="PPC" ;;
cannam@85 287 64bit) FPM="64BIT" ;;
cannam@85 288 float) FPM="FLOAT" ;;
cannam@85 289 *)
cannam@85 290 AC_MSG_RESULT(failed)
cannam@85 291 AC_MSG_ERROR([bad --enable-fpm option])
cannam@85 292 ;;
cannam@85 293 esac
cannam@85 294 ])
cannam@85 295
cannam@85 296 if test -z "$FPM" && test "$GCC" = yes
cannam@85 297 then
cannam@85 298 case "$host" in
cannam@85 299 i?86-*) FPM="INTEL" ;;
cannam@85 300 arm*-*) FPM="ARM" ;;
cannam@85 301 mips*-*) FPM="MIPS" ;;
cannam@85 302 sparc*-*) FPM="SPARC" ;;
cannam@85 303 powerpc*-*) FPM="PPC" ;;
cannam@85 304 # FIXME: need to test for 64-bit long long...
cannam@85 305 esac
cannam@85 306 fi
cannam@85 307
cannam@85 308 AC_MSG_RESULT(${FPM=DEFAULT})
cannam@85 309
cannam@85 310 if test "$FPM" = "DEFAULT"
cannam@85 311 then
cannam@85 312 AC_MSG_WARN([default fixed-point math will yield limited accuracy])
cannam@85 313 fi
cannam@85 314
cannam@85 315 FPM="-DFPM_$FPM"
cannam@85 316
cannam@85 317 AC_ARG_ENABLE(sso, AC_HELP_STRING([--enable-sso],
cannam@85 318 [use subband synthesis optimization]),
cannam@85 319 [
cannam@85 320 case "$enableval" in
cannam@85 321 yes)
cannam@85 322 AC_DEFINE(OPT_SSO, 1,
cannam@85 323 [Define to enable a fast subband synthesis approximation optimization.])
cannam@85 324 ;;
cannam@85 325 esac
cannam@85 326 ])
cannam@85 327
cannam@85 328 AC_ARG_ENABLE(aso, AC_HELP_STRING([--disable-aso],
cannam@85 329 [disable architecture-specific optimizations]),
cannam@85 330 [], [enable_aso=yes])
cannam@85 331
cannam@85 332 if test "$enable_aso" = yes
cannam@85 333 then
cannam@85 334 case "$host" in
cannam@85 335 i?86-*)
cannam@85 336 : #ASO="$ASO -DASO_INTERLEAVE1"
cannam@85 337 ASO="$ASO -DASO_ZEROCHECK"
cannam@85 338 : #not yet #ASO="$ASO -DASO_SYNTH"
cannam@85 339 : #not yet #ASO_OBJS="synth_mmx.lo"
cannam@85 340 ;;
cannam@85 341 arm*-*)
cannam@85 342 ASO="$ASO -DASO_INTERLEAVE1"
cannam@85 343 ASO="$ASO -DASO_IMDCT"
cannam@85 344 ASO_OBJS="imdct_l_arm.lo"
cannam@85 345 ;;
cannam@85 346 mips*-*)
cannam@85 347 ASO="$ASO -DASO_INTERLEAVE2"
cannam@85 348 ASO="$ASO -DASO_ZEROCHECK"
cannam@85 349 ;;
cannam@85 350 esac
cannam@85 351 fi
cannam@85 352
cannam@85 353 AC_MSG_CHECKING(for ISO/IEC interpretation)
cannam@85 354 AC_ARG_ENABLE(strict-iso, AC_HELP_STRING([--enable-strict-iso],
cannam@85 355 [use strict ISO/IEC interpretations]),
cannam@85 356 [
cannam@85 357 case "$enableval" in
cannam@85 358 yes)
cannam@85 359 AC_DEFINE(OPT_STRICT, 1,
cannam@85 360 [Define to influence a strict interpretation of the ISO/IEC standards,
cannam@85 361 even if this is in opposition with best accepted practices.])
cannam@85 362 interpretation="strict"
cannam@85 363 ;;
cannam@85 364 esac
cannam@85 365 ])
cannam@85 366 AC_MSG_RESULT(${interpretation-best accepted practices})
cannam@85 367
cannam@85 368 AC_MSG_CHECKING(whether to enable profiling)
cannam@85 369 AC_ARG_ENABLE(profiling, AC_HELP_STRING([--enable-profiling],
cannam@85 370 [generate profiling code]),
cannam@85 371 [
cannam@85 372 case "$enableval" in
cannam@85 373 yes) profile="-pg" ;;
cannam@85 374 esac
cannam@85 375 ])
cannam@85 376 AC_MSG_RESULT(${enable_profiling-no})
cannam@85 377
cannam@85 378 AC_MSG_CHECKING(whether to enable debugging)
cannam@85 379 AC_ARG_ENABLE(debugging, AC_HELP_STRING([--enable-debugging],
cannam@85 380 [enable diagnostic debugging support])
cannam@85 381 AC_HELP_STRING([--disable-debugging],
cannam@85 382 [do not enable debugging and use more optimization]),
cannam@85 383 [
cannam@85 384 case "$enableval" in
cannam@85 385 yes)
cannam@85 386 AC_DEFINE(DEBUG, 1,
cannam@85 387 [Define to enable diagnostic debugging support.])
cannam@85 388 optimize=""
cannam@85 389 ;;
cannam@85 390 no)
cannam@85 391 if test -n "$profile"
cannam@85 392 then
cannam@85 393 AC_MSG_ERROR(--enable-profiling and --disable-debugging are incompatible)
cannam@85 394 fi
cannam@85 395
cannam@85 396 AC_DEFINE(NDEBUG, 1,
cannam@85 397 [Define to disable debugging assertions.])
cannam@85 398 debug=""
cannam@85 399 if test "$GCC" = yes
cannam@85 400 then
cannam@85 401 optimize="$optimize -fomit-frame-pointer"
cannam@85 402 fi
cannam@85 403 ;;
cannam@85 404 esac
cannam@85 405 ])
cannam@85 406 AC_MSG_RESULT(${enable_debugging-default})
cannam@85 407
cannam@85 408 AC_MSG_CHECKING(whether to enable experimental code)
cannam@85 409 AC_ARG_ENABLE(experimental, AC_HELP_STRING([--enable-experimental],
cannam@85 410 [enable experimental code]),
cannam@85 411 [
cannam@85 412 case "$enableval" in
cannam@85 413 yes)
cannam@85 414 AC_DEFINE(EXPERIMENTAL, 1,
cannam@85 415 [Define to enable experimental code.])
cannam@85 416 ;;
cannam@85 417 esac
cannam@85 418 ])
cannam@85 419 AC_MSG_RESULT(${enable_experimental-no})
cannam@85 420
cannam@85 421 dnl Create output files.
cannam@85 422
cannam@85 423 test -n "$arch" && CFLAGS="$CFLAGS $arch"
cannam@85 424 test -n "$debug" && CFLAGS="$CFLAGS $debug"
cannam@85 425 test -n "$optimize" && CFLAGS="$CFLAGS $optimize"
cannam@85 426 test -n "$profile" && CFLAGS="$CFLAGS $profile" LDFLAGS="$LDFLAGS $profile"
cannam@85 427
cannam@85 428 dnl LTLIBOBJS=`echo "$LIBOBJS" | sed -e 's/\.o/.lo/g'`
cannam@85 429 dnl AC_SUBST(LTLIBOBJS)
cannam@85 430
cannam@85 431 AC_CONFIG_FILES([Makefile msvc++/Makefile \
cannam@85 432 libmad.list])
cannam@85 433 AC_OUTPUT