📄 configure.in
字号:
dnl $Id: configure.in,v 1.115 2005/09/04 19:11:58 aleidinger Exp $dnldnldnl don't forget to set ASM_FOR_ARCH to a space delimited list ofdnl processor architectures, for which assembler routines existdnldnldnl Exported and configured variables:dnl CCdnl CFLAGSdnl LDFLAGSdnl LDADDdnl NASMdnl extra vars for frontend:dnl FRONTEND_LDFLAGSdnl FRONTEND_CFLAGSdnl FRONTEND_LDADDAC_PREREQ(2.53)AC_INIT(lame,3.97,lame-dev@lists.sf.net)AC_CONFIG_SRCDIR([libmp3lame/lame.c])dnl check systemAC_CANONICAL_HOSTdnl automakeAM_INIT_AUTOMAKEAM_CONFIG_HEADER(config.h)AM_MAINTAINER_MODEAM_MAKE_INCLUDEdnl check environmentAC_AIXAC_ISC_POSIXAC_MINIXcase $host_os in *cygwin* ) CYGWIN=yes;; * ) CYGWIN=no;;esacdnl libtool# AC_DISABLE_SHAREDAC_PROG_LIBTOOLAC_SUBST(LIBTOOL_DEPS)CFLAGS="${ac_save_CFLAGS}"# increase this when the shared lib becomes totally incompatibleLIB_MAJOR_VERSION=0# increase this when changes are made, but they are upward compatible# to previous versionsLIB_MINOR_VERSION=0dnl # work around for a bug, don't know where it is exactlyif test "${ac_cv_cygwin}" = "yes"; then if test "${CC}" != "gcc"; then AC_MSG_ERROR([Please use] [ CC=gcc ./configure] [Abort this configure run and add "CC=gcc" or you will] [see errors and no lame.exe will be build.]) fifidnl check programsAM_PROG_CC_STDCdnl more automake stuffAM_C_PROTOTYPESAC_CHECK_HEADER(dmalloc.h)if test "${ac_cv_header_dmalloc_h}" = "yes"; then AM_WITH_DMALLOCfidnl Checks for header files.AC_HEADER_STDCAC_CHECK_HEADERS( \ errno.h \ fcntl.h \ limits.h \ stdint.h \ string.h \ sys/soundcard.h \ sys/time.h \ unistd.h \ linux/soundcard.h)dnl Checks for typedefs, structures, and compiler characteristics.AC_C_CONSTAC_C_INLINEif test ${cross_compiling} = "no"; then AC_C_BIGENDIANfiif test "${GCC}" = "yes"; then AC_MSG_CHECKING(version of GCC) GCC_version=`${CC} --version | sed -n '1s/^[[^ ]]* (.*) //;s/ .*$//;1p'` AC_MSG_RESULT(${GCC_version})fiAC_SYS_LARGEFILEAC_CHECK_SIZEOF(short)AC_CHECK_SIZEOF(unsigned short)AC_CHECK_SIZEOF(int)AC_CHECK_SIZEOF(unsigned int)AC_CHECK_SIZEOF(long)AC_CHECK_SIZEOF(unsigned long)AC_CHECK_SIZEOF(long long)AC_CHECK_SIZEOF(unsigned long long)AC_CHECK_SIZEOF(float)AC_CHECK_SIZEOF(double)AC_C_LONG_DOUBLEif test "${ac_cv_c_have_long_double}" = "yes" ; then AC_CHECK_SIZEOF(long double)fiAC_CHECK_TYPES([uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t])AH_VERBATIM([HAVE_UINT8_T],[/* add uint8_t type */#undef HAVE_UINT8_T#ifndef HAVE_UINT8_T typedef unsigned char uint8_t;#endif])AH_VERBATIM([HAVE_INT8_T],[/* add int8_t type */#undef HAVE_INT8_T#ifndef HAVE_INT8_T typedef char int8_t;#endif])AH_VERBATIM([HAVE_UINT16_T],[/* add uint16_t type */#undef HAVE_UINT16_T#ifndef HAVE_UINT16_T typedef unsigned short uint16_t;#endif])AH_VERBATIM([HAVE_INT16_T],[/* add int16_t type */#undef HAVE_INT16_T#ifndef HAVE_INT16_T typedef short int16_t;#endif])if test "${ac_cv_sizeof_unsigned_short}" = "4"; then AC_DEFINE(A_UINT32_T,unsigned short)else if test "${ac_cv_sizeof_unsigned_int}" = "4"; then AC_DEFINE(A_UINT32_T,unsigned int) else if test "${ac_cv_sizeof_unsigned_long}" = "4"; then AC_DEFINE(A_UINT32_T,unsigned long) else AC_MSG_ERROR([CHECK_TYPE_uint32_t - please report to lame-dev@lists.sourceforge.net]) fi fifiAH_VERBATIM([HAVE_UINT32_T],[/* add uint32_t type */#undef HAVE_UINT32_T#ifndef HAVE_UINT32_T#undef A_UINT32_T typedef A_UINT32_T uint32_t;#endif])if test "${ac_cv_sizeof_short}" = "4"; then AC_DEFINE(A_INT32_T,short)else if test "${ac_cv_sizeof_int}" = "4"; then AC_DEFINE(A_INT32_T,int) else if test "${ac_cv_sizeof_long}" = "4"; then AC_DEFINE(A_INT32_T,long) else AC_MSG_ERROR([CHECK_TYPE_int32_t - please report to lame-dev@lists.sourceforge.net]) fi fifiAH_VERBATIM([HAVE_INT32_T],[/* add int32_t type */#undef HAVE_INT32_T#ifndef HAVE_INT32_T#undef A_INT32_T typedef A_INT32_T int32_t;#endif])if test "${ac_cv_sizeof_unsigned_int}" = "8"; then AC_DEFINE(A_UINT64_T,unsigned int)else if test "${ac_cv_sizeof_unsigned_long}" = "8"; then AC_DEFINE(A_UINT64_T,unsigned long) else if test "${ac_cv_sizeof_unsigned_long_long}" = "8"; then AC_DEFINE(A_UINT64_T,unsigned long long) else AC_MSG_ERROR([CHECK_TYPE_uint64_t - please report to lame-dev@lists.sourceforge.net]) fi fifiAH_VERBATIM([HAVE_UINT64_T],[/* add uint64_t type */#undef HAVE_UINT64_T#ifndef HAVE_UINT64_T#undef A_UINT64_T typedef A_UINT64_T uint64_t;#endif])if test "${ac_cv_sizeof_int}" = "8"; then AC_DEFINE(A_INT64_T,int)else if test "${ac_cv_sizeof_long}" = "8"; then AC_DEFINE(A_INT64_T,long) else if test "${ac_cv_sizeof_long_long}" = "8"; then AC_DEFINE(A_INT64_T,long long) else AC_MSG_ERROR([CHECK_TYPE_int64_t - please report to lame-dev@lists.sourceforge.net]) fi fifiAH_VERBATIM([HAVE_INT64_T],[/* add int64_t type */#undef HAVE_INT64_T#ifndef HAVE_INT64_T#undef A_INT64_T typedef A_INT64_T int64_t;#endif])alex_IEEE854_FLOAT80if test "${alex_cv_ieee854_float80}" = "yes" ; then if test "${ac_cv_c_long_double}" = "yes" ; then AC_CHECK_TYPES(ieee854_float80_t, long double) AH_VERBATIM([HAVE_IEEE854_FLOAT80_T],[/* add ieee854_float80_t type */#undef HAVE_IEEE854_FLOAT80_T#ifndef HAVE_IEEE854_FLOAT80_T typedef long double ieee854_float80_t;#endif]) AC_DEFINE(HAVE_IEEE854_FLOAT80, 1, [system has 80 bit floats]) fifiAC_CHECK_TYPES([ieee754_float64_t, ieee754_float32_t])AH_VERBATIM([HAVE_IEEE754_FLOAT64_T],[/* add ieee754_float64_t type */#undef HAVE_IEEE754_FLOAT64_T#ifndef HAVE_IEEE754_FLOAT64_T typedef double ieee754_float64_t;#endif])AH_VERBATIM([HAVE_IEEE754_FLOAT32_T],[/* add ieee754_float32_t type */#undef HAVE_IEEE754_FLOAT32_T#ifndef HAVE_IEEE754_FLOAT32_T typedef float ieee754_float32_t;#endif])AC_DEFINE(LAME_LIBRARY_BUILD, 1, [requested by Frank, seems to be temporary needed for a smooth transition])if test ${cross_compiling} = "yes"; then AC_MSG_WARN([] [**************************************************************************] [* *] [* You are cross compiling: *] [* - I did not have a change to determine *] [* + the size of: *] [* - short *] [* - unsigned short *] [* - int *] [* - unsigned int *] [* - long *] [* - unsigned long *] [* - float *] [* - double *] [* - long double *] [* + the endianess of the system *] [* - You have to provide appropriate defines for them in config.h, e.g. *] [* + define SIZEOF_SHORT to 2 if the size of a short is 2 *] [* + define WORDS_BIGENDIAN if your system is a big endian system *] [* *] [**************************************************************************])fiAC_TYPE_SIZE_TAC_HEADER_TIMEdnl Checks for library functions.AC_FUNC_ALLOCAAC_CHECK_FUNCS(gettimeofday strtol)if test "X${ac_cv_func_strtol}" != "Xyes"; then AC_MSG_ERROR([function strtol is mandatory])fidnl Check if we have winsock, if so, we are on a mingw systemdnl and need libwsock32SOCKETFUNCTION=YESAC_CHECK_HEADER(winsock2.h, [AC_DEFINE([HAVE_WINSOCKET], [], [winsock]) LIBS="$LIBS -lwsock32"]) if test $ac_cv_header_winsock2_h = no; then AC_CHECK_FUNCS(socket) if test $ac_cv_func_socket = no; then # maybe it is in libsocket AC_CHECK_LIB(socket, socket, [AC_DEFINE(HAVE_SOCKET) LIBS="$LIBS -lsocket"]) if test "X${ac_cv_lib_socket_socket}" != "Xyes"; then SOCKETFUNCTION=NO else case ${host_os} in *solaris*) LIBS="$LIBS -lnsl" ;; esac fi fifidnl Initialize configuration variables for the MakefileCFLAGS=${CFLAGS}CONFIG_DEFS=${CONFIG_DEFS}NASM=INCLUDES="-I\$(top_srcdir)/include -I\$(srcdir)"FRONTEND_LDFLAGS=FRONTEND_CFLAGS=LIB_SOURCES=MAKEDEP="-M"RM_F="rm -f"AC_ARG_ENABLE(nasm, [ --enable-nasm Allow the use of nasm if available], ASM_FOR_ARCH="i386", ASM_FOR_ARCH="")dnl Checks for libraries.AC_CHECK_HEADERS(termcap.h)AC_CHECK_HEADERS(ncurses/termcap.h)AC_CHECK_LIB(termcap, initscr, HAVE_TERMCAP="termcap")AC_CHECK_LIB(curses, initscr, HAVE_TERMCAP="curses")AC_CHECK_LIB(ncurses, initscr, HAVE_TERMCAP="ncurses") dnl math libAC_CHECK_LIB(m, cos, USE_LIBM="-lm")dnl free fast math libraryAC_CHECK_LIB(ffm, cos, USE_LIBM="-lffm -lm")dnl Compaq fast math library.AC_CHECK_LIB(cpml, cos, USE_LIBM="-lcpml")CONFIG_MATH_LIB="${USE_LIBM}"AC_CHECK_LIB(sndfile, sf_open_read, HAVE_SNDFILE="yes")dnl configure use of featuresAM_PATH_GTK(1.2.0, HAVE_GTK="yes", HAVE_GTK="no")if test "${HAVE_GTK}" = "yes"; then AC_DEFINE(HAVE_GTK, 1, have working GTK)fidnl ElectricFence malloc debuggingAC_MSG_CHECKING(use of ElectricFence malloc debugging)AC_ARG_ENABLE(efence, [ --enable-efence Use ElectricFence for malloc debugging], CONFIG_EFENCE="${enableval}", CONFIG_EFENCE="no")case "${CONFIG_EFENCE}" inyes) AC_CHECK_LIB(efence, EF_Print, HAVE_EFENCE="-lefence") if test "x${HAVE_EFENCE}" != "x-lefence"; then AC_MSG_RESULT(yes, but libefence not found) else LDADD="${LDADD} ${HAVE_EFENCE}" AC_DEFINE(HAVE_EFENCE, 1, we link against libefence) AC_MSG_RESULT(${CONFIG_EFENCE}) fi ;;no) AC_MSG_RESULT(${CONFIG_EFENCE}) ;;*) AC_MSG_ERROR(bad value
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -