📄 configure.in
字号:
# $Id: configure.in,v 1.68 2003/03/02 16:37:12 t1mpy Exp $# Copyright 1999, 2000 Scott Thomas Haug <eldamitri@users.sourceforge.net># Copyright (C) 2002 Thijmen Klok <thijmen@id3lib.org># # This file is free software; as a special exception the author gives# unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved.# # This program is distributed in the hope that it will be useful, but# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.# require autoconf 2.13AC_PREREQ(2.13)# init autoconf (and check for presence fo reconf)AC_INIT(reconf)ID3LIB_NAME=id3libdnl The following has been adapted from glib (http://www.gtk.org)dnldnl we need to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so theydnl are available for $ac_help expansion (don't we all *love* autoconf?)#AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnlifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], [AC_DIVERT_PUSH(NOTICE)])# Making releases:# ID3LIB_PATCH_VERSION += 1;# ID3LIB_INTERFACE_AGE += 1;# ID3LIB_BINARY_AGE += 1;# if any functions have been added, set ID3LIB_INTERFACE_AGE to 0.# if backwards compatibility has been broken,# set ID3LIB_BINARY_AGE _and_ ID3LIB_INTERFACE_AGE to 0.#ID3LIB_MAJOR_VERSION=3ID3LIB_MINOR_VERSION=8ID3LIB_PATCH_VERSION=3ID3LIB_ADDED_VERSION=ID3LIB_VERSION=$ID3LIB_MAJOR_VERSION.$ID3LIB_MINOR_VERSION.$ID3LIB_PATCH_VERSION$ID3LIB_ADDED_VERSIONID3LIB_INTERFACE_AGE=0ID3LIB_BINARY_AGE=0AC_DIVERT_POP()dnlAC_SUBST(ID3LIB_NAME)AC_SUBST(ID3LIB_MAJOR_VERSION)AC_SUBST(ID3LIB_MINOR_VERSION)AC_SUBST(ID3LIB_PATCH_VERSION)AC_SUBST(ID3LIB_VERSION)AC_SUBST(ID3LIB_INTERFACE_AGE)AC_SUBST(ID3LIB_BINARY_AGE)# for documentation purposesDOX_DIR_HTML=apiDOX_DIR_LATEX=latexDOX_DIR_MAN=manDOX_DIR_RTF=rtfAC_SUBST(DOX_DIR_HTML)AC_SUBST(DOX_DIR_LATEX)AC_SUBST(DOX_DIR_MAN)AC_SUBST(DOX_DIR_RTF)# libtool versioningLT_RELEASE=$ID3LIB_MAJOR_VERSION.$ID3LIB_MINOR_VERSIONLT_CURRENT=`expr $ID3LIB_PATCH_VERSION - $ID3LIB_INTERFACE_AGE`LT_REVISION=$ID3LIB_INTERFACE_AGELT_AGE=`expr $ID3LIB_BINARY_AGE - $ID3LIB_INTERFACE_AGE`AC_SUBST(LT_RELEASE)AC_SUBST(LT_CURRENT)AC_SUBST(LT_REVISION)AC_SUBST(LT_AGE)VERSION=$ID3LIB_VERSIONPACKAGE=$ID3LIB_NAMEdnl This is a hack to get the release date using cvs checkin macrosID3LIB_FULLNAME=$ID3LIB_NAME-$ID3LIB_VERSIONAC_SUBST(ID3LIB_FULLNAME)AM_CONFIG_HEADER(config.h)AM_INIT_AUTOMAKE($PACKAGE,$VERSION)AC_ISC_POSIXdnl Initialize libtoolAM_PROG_LIBTOOLdnl Initialize maintainer modeAM_MAINTAINER_MODE#AC_CANONICAL_HOSTdnl figure debugging default, prior to $ac_help setupdnlifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], [AC_DIVERT_PUSH(NOTICE)])if test `expr $ID3LIB_MINOR_VERSION \% 2` = 1 ; then debug_default=yeselse debug_default=minimumfiAC_DIVERT_POP()dnldnl declare --enable-* args and collect ac_help stringsAC_ARG_ENABLE(ansi, [ --enable-ansi turn on strict ansi [default=no]], , enable_ansi=no)dnl AC_SUBST(ID3LIB_DEBUG_FLAGS)dnl Checks for programsAC_PROG_CCAC_PROG_CXXAC_PROG_CXXCPPAC_PROG_INSTALLdnl for executable extensionsAC_EXEEXTdnl Checks for libraries.AC_CHECK_LIB(z,uncompress,AC_DEFINE_UNQUOTED(HAVE_ZLIB))#,,# AC_MSG_ERROR([id3lib requires zlib to process compressed frames]))AM_CONDITIONAL(ID3_NEEDZLIB, test x$ac_cv_lib_z_uncompress = xno)AM_CONDITIONAL(ID3_NEEDDEBUG, test x$enable_debug = xyes)dnl Checks for header files.AC_HEADER_STDCAC_CHECK_HEADERS(zlib.h wchar.h sys/param.h unistd.h )dnl check wheter iconv is the part of libc.AC_CHECK_HEADERS( iconv.h, has_iconv=1, has_iconv=0)dnl if we have iconv library, we have to decide if it dnl is present in libcICONV_LIB=if test $has_iconv = 1; then AC_MSG_CHECKING(where to find iconv_open) exec 6>/dev/null AC_CHECK_FUNCS(iconv_open, iconv_in_libc=1, iconv_in_libc=0) AC_CHECK_LIB(iconv, iconv_open, iconv_in_iconv=1, iconv_in_iconv=0) AC_CHECK_LIB(iconv, libiconv_open, libiconv_in_iconv=1, libiconv_in_iconv=0) if test ! x$silent = xyes; then exec 6>&1 fi #standalone library rules over libc if test $iconv_in_iconv = 1 -o $libiconv_in_iconv = 1; then AC_MSG_RESULT(libiconv) ICONV_LIB=-liconv elif test $iconv_in_libc = 1; then AC_MSG_RESULT(libc) else AC_MSG_RESULT(not found (panic)) AC_MSG_ERROR([iconv.h found, while iconv library not found]) fi #we have iconv at this moment, better check which call to use AC_MSG_CHECKING(whether iconv takes const char ** or char **) AC_TRY_COMPILE([#include <iconv.h>],[ { size_t iconv (iconv_t a, const char ** b, size_t *c, char **d, size_t *e); }], iconv_oldstyle=1, iconv_oldstyle=0) if test $iconv_oldstyle = 1; then AC_MSG_RESULT(const char **) AC_DEFINE(ID3LIB_ICONV_OLDSTYLE) #we'll check out the need of #typecast in the call of iconv_open AC_MSG_CHECKING(whether to typecast in iconv) AC_TRY_COMPILE([#include <iconv.h>],[ { const char *src = "nothing"; char *outbuf; size_t insize = 0; size_t outsize = 0; iconv_t cd; iconv(cd, &src, &insize, &outbuf, &outsize); }], iconv_cast=0, iconv_cast=1) if test $iconv_cast = 1; then AC_MSG_RESULT(yes) AC_DEFINE(ID3LIB_ICONV_CAST_OK) else AC_MSG_RESULT(no) fi else AC_MSG_RESULT(char **) #we'll check out the need of #typecast in the call of iconv_open AC_MSG_CHECKING(whether to typecast in iconv) AC_TRY_COMPILE([#include <iconv.h>],[ { char *src = "nothing"; char *outbuf; size_t insize = 0; size_t outsize = 0; iconv_t cd; iconv(cd, &src, &insize, &outbuf, &outsize); }], iconv_cast=0, iconv_cast=1) if test $iconv_cast = 1; then AC_MSG_RESULT(yes) AC_DEFINE(ID3LIB_ICONV_CAST_OK) else AC_MSG_RESULT(no) fi fifiif test "x$ICONV_LIB" != "x"; then LIBS="$LIBS $ICONV_LIB"fidnl Check for c++ featuresAC_LANG_SAVEAC_LANG_CPLUSPLUSAC_CHECK_HEADERS(libcw/sys.h)AC_CHECK_HEADERS(cctype climits cstdio cstdlib bitset cstring)AC_CHECK_HEADERS(fstream iostream iomanip vector \ ,,AC_MSG_ERROR([Missing a vital header file for id3lib - download them here: http://gcc.gnu.org/libstdc++/ or better - compile a newer compiler like gcc3.x]))AC_CHECK_HEADERS( \ string \ iomanip.h \ ,,AC_MSG_ERROR([Missing a vital header file for id3lib]))dnl Checks for the portability of certain c++ features: the bool type anddnl for-loop scopingID3_CXX_PORTABILITYID3_CXX_WARNINGSAC_LANG_RESTOREID3_DEBUGID3_UNICODEdnl Check for functions.# AC_FUNC_MEMCMPAC_CHECK_FUNCS(getopt_long)AM_CONDITIONAL(ID3_NEEDGETOPT_LONG, test x$ac_cv_func_getopt_long = xno)AC_CHECK_FUNCS(mkstemp)AC_CHECK_FUNCS( truncate \ ,,AC_MSG_ERROR([Missing a vital function for id3lib]))dnl Checks for typedefs, structures, and compiler characteristics.AC_TYPE_SIZE_Tdnldnl Checks with local macrosdnldnl Provides a --honor-std option to the configure script that honors thednl std namespace. Must be used AFTER configuring ALL compilers.dnl LF_HONOR_STDdnl ACCONFIG TEMPLATEdnl dnl /* config.h defines these preprocesser symbols to be used by id3lib fordnl * determining internal versioning information. The intent is that thesednl * macros will be made available in the library via constants, functions,dnl * or static methods.dnl */dnl #undef HAVE_ZLIBdnl #undef HAVE_GETOPT_LONGdnl #undef _ID3LIB_NAMEdnl #undef _ID3LIB_VERSIONdnl #undef _ID3LIB_FULLNAMEdnl #undef _ID3LIB_MAJOR_VERSIONdnl #undef _ID3LIB_MINOR_VERSIONdnl #undef _ID3LIB_PATCH_VERSIONdnl #undef _ID3LIB_INTERFACE_AGEdnl #undef _ID3LIB_BINARY_AGEdnl #undef _ID3_COMPILED_WITH_DEBUGGINGdnl /* */dnl END ACCONFIGAC_DEFINE_UNQUOTED(_ID3LIB_NAME, "$ID3LIB_NAME")AC_DEFINE_UNQUOTED(_ID3LIB_VERSION, "$ID3LIB_VERSION")AC_DEFINE_UNQUOTED(_ID3LIB_FULLNAME, "$ID3LIB_FULLNAME")AC_DEFINE_UNQUOTED(_ID3LIB_MAJOR_VERSION, $ID3LIB_MAJOR_VERSION)AC_DEFINE_UNQUOTED(_ID3LIB_MINOR_VERSION, $ID3LIB_MINOR_VERSION)AC_DEFINE_UNQUOTED(_ID3LIB_PATCH_VERSION, $ID3LIB_PATCH_VERSION)AC_DEFINE_UNQUOTED(_ID3LIB_INTERFACE_AGE, $ID3LIB_INTERFACE_AGE)AC_DEFINE_UNQUOTED(_ID3LIB_BINARY_AGE, $ID3LIB_BINARY_AGE)AC_DEFINE_UNQUOTED(_ID3_COMPILED_WITH_DEBUGGING, "${enable_debug}")CONDITIONAL_SUBDIRS=if test "x$ac_cv_lib_z_uncompress" = "xno"; then CONDITIONAL_SUBDIRS="$CONDITIONAL_SUBDIRS zlib"fiAC_CONFIG_SUBDIRS(zlib)CFLAGS="$CFLAGS -Wall"AC_OUTPUT( \ Makefile \ doc/Makefile \ m4/Makefile \ include/Makefile \ include/id3/Makefile \ id3com/Makefile \ id3com/Sample/Makefile \ src/Makefile \ examples/Makefile \ prj/Makefile \ libprj/Makefile)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -