mirror of
https://github.com/cookiengineer/audacity
synced 2026-01-13 08:05:52 +01:00
Move library tree where it belongs
This commit is contained in:
435
lib-src/libmad/configure.ac
Normal file
435
lib-src/libmad/configure.ac
Normal file
@@ -0,0 +1,435 @@
|
||||
dnl -*- m4 -*-
|
||||
dnl
|
||||
dnl libmad - MPEG audio decoder library
|
||||
dnl Copyright (C) 2000-2004 Underbit Technologies, Inc.
|
||||
dnl
|
||||
dnl This program is free software; you can redistribute it and/or modify
|
||||
dnl it under the terms of the GNU General Public License as published by
|
||||
dnl the Free Software Foundation; either version 2 of the License, or
|
||||
dnl (at your option) any later version.
|
||||
dnl
|
||||
dnl This program is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
dnl GNU General Public License for more details.
|
||||
dnl
|
||||
dnl You should have received a copy of the GNU General Public License
|
||||
dnl along with this program; if not, write to the Free Software
|
||||
dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
dnl
|
||||
AC_REVISION([$Id: configure.ac,v 1.4 2009-01-17 22:01:06 richardash1981 Exp $])dnl
|
||||
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_INIT([MPEG Audio Decoder], [0.15.1b], [support@underbit.com], [libmad])
|
||||
AC_PREREQ(2.53)
|
||||
|
||||
AC_CONFIG_SRCDIR([decoder.h])
|
||||
|
||||
AM_INIT_AUTOMAKE([-Wall foreign])
|
||||
|
||||
AM_CONFIG_HEADER([config.h])
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
dnl System type.
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
dnl Checks for programs.
|
||||
|
||||
AC_PROG_CC
|
||||
AM_PROG_AS
|
||||
|
||||
if test "$GCC" = yes
|
||||
then
|
||||
case "$host" in
|
||||
*-*-mingw*)
|
||||
case "$build" in
|
||||
*-*-cygwin*)
|
||||
CPPFLAGS="$CPPFLAGS -mno-cygwin"
|
||||
LDFLAGS="$LDFLAGS -mno-cygwin"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
dnl case "$host" in
|
||||
dnl *-*-cygwin* | *-*-mingw*)
|
||||
dnl LDFLAGS="$LDFLAGS -no-undefined -mdll"
|
||||
dnl ;;
|
||||
dnl esac
|
||||
fi
|
||||
|
||||
dnl Support for libtool.
|
||||
|
||||
dnl AC_DISABLE_SHARED
|
||||
dnl AC_LIBTOOL_WIN32_DLL
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
AC_SUBST(LIBTOOL_DEPS)
|
||||
|
||||
dnl Compiler options.
|
||||
|
||||
arch=""
|
||||
debug=""
|
||||
optimize=""
|
||||
profile=""
|
||||
|
||||
set -- $CFLAGS
|
||||
CFLAGS=""
|
||||
|
||||
if test "$GCC" = yes
|
||||
then
|
||||
CFLAGS="-Wall"
|
||||
fi
|
||||
|
||||
while test $# -gt 0
|
||||
do
|
||||
case "$1" in
|
||||
-Wall)
|
||||
if test "$GCC" = yes
|
||||
then
|
||||
:
|
||||
else
|
||||
CFLAGS="$CFLAGS $1"
|
||||
fi
|
||||
shift
|
||||
;;
|
||||
-g)
|
||||
debug="-g"
|
||||
shift
|
||||
;;
|
||||
-mno-cygwin)
|
||||
shift
|
||||
;;
|
||||
-m*)
|
||||
arch="$arch $1"
|
||||
shift
|
||||
;;
|
||||
-O2)
|
||||
optimize="-O"
|
||||
shift
|
||||
;;
|
||||
-fomit-frame-pointer)
|
||||
shift
|
||||
;;
|
||||
-O*|-f*)
|
||||
optimize="$optimize $1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
CFLAGS="$CFLAGS $1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test "$GCC" = yes
|
||||
then
|
||||
if test -z "$arch"
|
||||
then
|
||||
case "$host" in
|
||||
i386-*) ;;
|
||||
i?86-*) arch="-march=i486" ;;
|
||||
arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
|
||||
armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
|
||||
powerpc-*) ;;
|
||||
mips*-agenda-*) arch="-mcpu=vr4100" ;;
|
||||
mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
case "$optimize" in
|
||||
-O|"-O "*)
|
||||
optimize="-O"
|
||||
: #x optimize="$optimize -fforce-mem"
|
||||
: #x optimize="$optimize -fforce-addr"
|
||||
: #x optimize="$optimize -finline-functions"
|
||||
: #- optimize="$optimize -fstrength-reduce"
|
||||
optimize="$optimize -fthread-jumps"
|
||||
optimize="$optimize -fcse-follow-jumps"
|
||||
optimize="$optimize -fcse-skip-blocks"
|
||||
: #x optimize="$optimize -frerun-cse-after-loop"
|
||||
: #x optimize="$optimize -frerun-loop-opt"
|
||||
: #x optimize="$optimize -fgcse"
|
||||
optimize="$optimize -fexpensive-optimizations"
|
||||
optimize="$optimize -fregmove"
|
||||
: #* optimize="$optimize -fdelayed-branch"
|
||||
: #x optimize="$optimize -fschedule-insns"
|
||||
optimize="$optimize -fschedule-insns2"
|
||||
: #? optimize="$optimize -ffunction-sections"
|
||||
: #? optimize="$optimize -fcaller-saves"
|
||||
: #> optimize="$optimize -funroll-loops"
|
||||
: #> optimize="$optimize -funroll-all-loops"
|
||||
: #x optimize="$optimize -fmove-all-movables"
|
||||
: #x optimize="$optimize -freduce-all-givs"
|
||||
: #? optimize="$optimize -fstrict-aliasing"
|
||||
: #* optimize="$optimize -fstructure-noalias"
|
||||
|
||||
case "$host" in
|
||||
arm*-*)
|
||||
optimize="$optimize -fstrength-reduce"
|
||||
;;
|
||||
mips*-*)
|
||||
optimize="$optimize -fstrength-reduce"
|
||||
optimize="$optimize -finline-functions"
|
||||
;;
|
||||
i?86-*)
|
||||
optimize="$optimize -fstrength-reduce"
|
||||
;;
|
||||
powerpc-apple-*)
|
||||
# this triggers an internal compiler error with gcc2
|
||||
: #optimize="$optimize -fstrength-reduce"
|
||||
|
||||
# this is really only beneficial with gcc3
|
||||
: #optimize="$optimize -finline-functions"
|
||||
;;
|
||||
*)
|
||||
# this sometimes provokes bugs in gcc 2.95.2
|
||||
: #optimize="$optimize -fstrength-reduce"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
case "$host" in
|
||||
mips*-agenda-*)
|
||||
AC_DEFINE(HAVE_MADD16_ASM, 1,
|
||||
[Define if your MIPS CPU supports a 2-operand MADD16 instruction.])
|
||||
;;
|
||||
mips*-luxsonor-*)
|
||||
AC_DEFINE(HAVE_MADD_ASM, 1,
|
||||
[Define if your MIPS CPU supports a 2-operand MADD instruction.])
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Checks for header files.
|
||||
|
||||
AC_HEADER_STDC
|
||||
AC_HEADER_SYS_WAIT
|
||||
AC_CHECK_HEADERS(assert.h limits.h unistd.h sys/types.h fcntl.h errno.h)
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AC_C_BIGENDIAN
|
||||
AC_TYPE_PID_T
|
||||
|
||||
AC_CHECK_SIZEOF(int, 2)
|
||||
AC_CHECK_SIZEOF(long, 4)
|
||||
AC_CHECK_SIZEOF(long long, 8)
|
||||
|
||||
dnl Checks for library functions.
|
||||
|
||||
AC_CHECK_FUNCS(waitpid fcntl pipe fork)
|
||||
|
||||
dnl Other options.
|
||||
|
||||
AC_SUBST(FPM)
|
||||
AC_SUBST(ASO)
|
||||
AC_SUBST(ASO_OBJS)
|
||||
|
||||
dnl handle --enable and --disable options
|
||||
|
||||
AC_CACHE_SAVE
|
||||
|
||||
AC_MSG_CHECKING(whether to optimize for speed or for accuracy)
|
||||
|
||||
AC_ARG_ENABLE(speed, AC_HELP_STRING([--enable-speed],
|
||||
[optimize for speed over accuracy]),
|
||||
[
|
||||
case "$enableval" in
|
||||
yes)
|
||||
optimize_for="speed"
|
||||
AC_DEFINE(OPT_SPEED, 1,
|
||||
[Define to optimize for speed over accuracy.])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
AC_ARG_ENABLE(accuracy, AC_HELP_STRING([--enable-accuracy],
|
||||
[optimize for accuracy over speed]),
|
||||
[
|
||||
case "$enableval" in
|
||||
yes)
|
||||
if test "$optimize_for" = "speed"
|
||||
then
|
||||
optimize_for="both"
|
||||
else
|
||||
optimize_for="accuracy"
|
||||
fi
|
||||
AC_DEFINE(OPT_ACCURACY, 1,
|
||||
[Define to optimize for accuracy over speed.])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
AC_MSG_RESULT(${optimize_for-default})
|
||||
|
||||
if test "$optimize_for" = "both"
|
||||
then
|
||||
AC_MSG_ERROR(cannot optimize for both speed and accuracy)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for architecture-specific fixed-point math routines)
|
||||
AC_ARG_ENABLE(fpm, AC_HELP_STRING([--enable-fpm=ARCH],
|
||||
[use ARCH-specific fixed-point math routines
|
||||
(one of: intel, arm, mips, sparc, ppc, 64bit, default)]),
|
||||
[
|
||||
case "$enableval" in
|
||||
yes) ;;
|
||||
no|default|approx) FPM="DEFAULT" ;;
|
||||
intel|i?86) FPM="INTEL" ;;
|
||||
arm) FPM="ARM" ;;
|
||||
mips) FPM="MIPS" ;;
|
||||
sparc) FPM="SPARC" ;;
|
||||
ppc|powerpc) FPM="PPC" ;;
|
||||
64bit) FPM="64BIT" ;;
|
||||
float) FPM="FLOAT" ;;
|
||||
*)
|
||||
AC_MSG_RESULT(failed)
|
||||
AC_MSG_ERROR([bad --enable-fpm option])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
if test -z "$FPM" && test "$GCC" = yes
|
||||
then
|
||||
case "$host" in
|
||||
i?86-*) FPM="INTEL" ;;
|
||||
arm*-*) FPM="ARM" ;;
|
||||
mips*-*) FPM="MIPS" ;;
|
||||
sparc*-*) FPM="SPARC" ;;
|
||||
powerpc*-*) FPM="PPC" ;;
|
||||
# FIXME: need to test for 64-bit long long...
|
||||
esac
|
||||
fi
|
||||
|
||||
AC_MSG_RESULT(${FPM=DEFAULT})
|
||||
|
||||
if test "$FPM" = "DEFAULT"
|
||||
then
|
||||
AC_MSG_WARN([default fixed-point math will yield limited accuracy])
|
||||
fi
|
||||
|
||||
FPM="-DFPM_$FPM"
|
||||
|
||||
AC_ARG_ENABLE(sso, AC_HELP_STRING([--enable-sso],
|
||||
[use subband synthesis optimization]),
|
||||
[
|
||||
case "$enableval" in
|
||||
yes)
|
||||
AC_DEFINE(OPT_SSO, 1,
|
||||
[Define to enable a fast subband synthesis approximation optimization.])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
AC_ARG_ENABLE(aso, AC_HELP_STRING([--disable-aso],
|
||||
[disable architecture-specific optimizations]),
|
||||
[], [enable_aso=yes])
|
||||
|
||||
if test "$enable_aso" = yes
|
||||
then
|
||||
case "$host" in
|
||||
i?86-*)
|
||||
: #ASO="$ASO -DASO_INTERLEAVE1"
|
||||
ASO="$ASO -DASO_ZEROCHECK"
|
||||
: #not yet #ASO="$ASO -DASO_SYNTH"
|
||||
: #not yet #ASO_OBJS="synth_mmx.lo"
|
||||
;;
|
||||
arm*-*)
|
||||
ASO="$ASO -DASO_INTERLEAVE1"
|
||||
ASO="$ASO -DASO_IMDCT"
|
||||
ASO_OBJS="imdct_l_arm.lo"
|
||||
;;
|
||||
mips*-*)
|
||||
ASO="$ASO -DASO_INTERLEAVE2"
|
||||
ASO="$ASO -DASO_ZEROCHECK"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for ISO/IEC interpretation)
|
||||
AC_ARG_ENABLE(strict-iso, AC_HELP_STRING([--enable-strict-iso],
|
||||
[use strict ISO/IEC interpretations]),
|
||||
[
|
||||
case "$enableval" in
|
||||
yes)
|
||||
AC_DEFINE(OPT_STRICT, 1,
|
||||
[Define to influence a strict interpretation of the ISO/IEC standards,
|
||||
even if this is in opposition with best accepted practices.])
|
||||
interpretation="strict"
|
||||
;;
|
||||
esac
|
||||
])
|
||||
AC_MSG_RESULT(${interpretation-best accepted practices})
|
||||
|
||||
AC_MSG_CHECKING(whether to enable profiling)
|
||||
AC_ARG_ENABLE(profiling, AC_HELP_STRING([--enable-profiling],
|
||||
[generate profiling code]),
|
||||
[
|
||||
case "$enableval" in
|
||||
yes) profile="-pg" ;;
|
||||
esac
|
||||
])
|
||||
AC_MSG_RESULT(${enable_profiling-no})
|
||||
|
||||
AC_MSG_CHECKING(whether to enable debugging)
|
||||
AC_ARG_ENABLE(debugging, AC_HELP_STRING([--enable-debugging],
|
||||
[enable diagnostic debugging support])
|
||||
AC_HELP_STRING([--disable-debugging],
|
||||
[do not enable debugging and use more optimization]),
|
||||
[
|
||||
case "$enableval" in
|
||||
yes)
|
||||
AC_DEFINE(DEBUG, 1,
|
||||
[Define to enable diagnostic debugging support.])
|
||||
optimize=""
|
||||
;;
|
||||
no)
|
||||
if test -n "$profile"
|
||||
then
|
||||
AC_MSG_ERROR(--enable-profiling and --disable-debugging are incompatible)
|
||||
fi
|
||||
|
||||
AC_DEFINE(NDEBUG, 1,
|
||||
[Define to disable debugging assertions.])
|
||||
debug=""
|
||||
if test "$GCC" = yes
|
||||
then
|
||||
optimize="$optimize -fomit-frame-pointer"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
])
|
||||
AC_MSG_RESULT(${enable_debugging-default})
|
||||
|
||||
AC_MSG_CHECKING(whether to enable experimental code)
|
||||
AC_ARG_ENABLE(experimental, AC_HELP_STRING([--enable-experimental],
|
||||
[enable experimental code]),
|
||||
[
|
||||
case "$enableval" in
|
||||
yes)
|
||||
AC_DEFINE(EXPERIMENTAL, 1,
|
||||
[Define to enable experimental code.])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
AC_MSG_RESULT(${enable_experimental-no})
|
||||
|
||||
dnl Create output files.
|
||||
|
||||
test -n "$arch" && CFLAGS="$CFLAGS $arch"
|
||||
test -n "$debug" && CFLAGS="$CFLAGS $debug"
|
||||
test -n "$optimize" && CFLAGS="$CFLAGS $optimize"
|
||||
test -n "$profile" && CFLAGS="$CFLAGS $profile" LDFLAGS="$LDFLAGS $profile"
|
||||
|
||||
dnl LTLIBOBJS=`echo "$LIBOBJS" | sed -e 's/\.o/.lo/g'`
|
||||
dnl AC_SUBST(LTLIBOBJS)
|
||||
|
||||
AC_CONFIG_FILES([Makefile msvc++/Makefile \
|
||||
libmad.list])
|
||||
AC_OUTPUT
|
||||
Reference in New Issue
Block a user