📄 configure.in
字号:
dnldnl "$Id: configure.in 335 2008-01-26 20:50:28Z mike $"dnldnl Configuration script for Mini-XML, a small XML-like file parsing library.dnldnl Copyright 2003-2008 by Michael Sweet.dnldnl This program is free software; you can redistribute it and/ordnl modify it under the terms of the GNU Library General Publicdnl License as published by the Free Software Foundation; eitherdnl version 2, or (at your option) any later version.dnldnl This program is distributed in the hope that it will be useful,dnl but WITHOUT ANY WARRANTY; without even the implied warranty ofdnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See thednl GNU General Public License for more details.dnldnl Specify a source file from the distribution...AC_INIT(mxml.h)dnl Set the name of the config header file...AC_CONFIG_HEADER(config.h)dnl Version number...VERSION=2.5AC_SUBST(VERSION)AC_DEFINE_UNQUOTED(MXML_VERSION, "Mini-XML v$VERSION")dnl Clear default debugging options and set normal optimization bydnl default unless the user asks for debugging specifically.CFLAGS="${CFLAGS:=}"CXXFLAGS="${CXXFLAGS:=}"LDFLAGS="${LDFLAGS:=}"AC_SUBST(LDFLAGS)OPTIM=""AC_SUBST(OPTIM)AC_ARG_WITH(ansi, [ --with-ansi set full ANSI C mode, default=no], use_ansi="$withval", use_ansi="no")AC_ARG_WITH(archflags, [ --with-archflags set additional architecture flags, default=none], ARCHFLAGS="$withval", ARCHFLAGS="")AC_SUBST(ARCHFLAGS)AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging, default=no],if eval "test x$enable_debug = xyes"; then OPTIM="-g"fi)AC_ARG_WITH(docdir, [ --with-docdir set directory for documentation, default=${prefix}/share/doc/mxml], docdir="$withval", docdir="NONE")AC_SUBST(docdir)AC_ARG_WITH(vsnprintf, [ --with-vsnprintf use vsnprintf emulation functions, default=auto], use_vsnprintf="$withval", use_vsnprintf="no")dnl Get the operating system and version number...uname=`uname`uversion=`uname -r | sed -e '1,$s/[[^0-9]]//g'`if test x$uname = xIRIX64; then uname="IRIX"fidnl Checks for programs...AC_PROG_CCAC_PROG_CXXAC_PROG_INSTALLif test "$INSTALL" = "$ac_install_sh"; then # Use full path to install-sh script... INSTALL="`pwd`/install-sh -c"fiAC_PROG_RANLIBAC_PATH_PROG(AR,ar)AC_PATH_PROG(CP,cp)AC_PATH_PROG(LN,ln)AC_PATH_PROG(MKDIR,mkdir)AC_PATH_PROG(RM,rm)dnl Flags for "ar" command...case "$uname" in Darwin* | *BSD*) ARFLAGS="-rcv" ;; *) ARFLAGS="crvs" ;;esacAC_SUBST(ARFLAGS)dnl Inline functions...AC_C_INLINEdnl Checks for string functions.if test "x$use_ansi" != xyes; then AC_CHECK_FUNCS(strdup)fiif test "x$use_vsnprintf" != xyes; then AC_CHECK_FUNCS(snprintf vsnprintf)fidnl Threading supportAC_ARG_ENABLE(threads, [ --enable-threads enable multi-threading support])have_pthread=noPTHREAD_FLAGS=""PTHREAD_LIBS=""if test "x$enable_threads" != xno; then AC_CHECK_HEADER(pthread.h, AC_DEFINE(HAVE_PTHREAD_H)) if test x$ac_cv_header_pthread_h = xyes; then dnl Check various threading options for the platforms we support for flag in -lpthreads -lpthread -pthread; do AC_MSG_CHECKING([for pthread_create using $flag]) SAVELIBS="$LIBS" LIBS="$flag $LIBS" AC_TRY_LINK([#include <pthread.h>], [pthread_create(0, 0, 0, 0);], have_pthread=yes) AC_MSG_RESULT([$have_pthread]) LIBS="$SAVELIBS" if test $have_pthread = yes; then PTHREAD_FLAGS="-D_THREAD_SAFE -D_REENTRANT" PTHREAD_LIBS="$flag" # Solaris requires -D_POSIX_PTHREAD_SEMANTICS to # be POSIX-compliant... :( if test $uname = SunOS; then PTHREAD_FLAGS="$PTHREAD_FLAGS -D_POSIX_PTHREAD_SEMANTICS" fi break fi done fifiAC_SUBST(PTHREAD_FLAGS)AC_SUBST(PTHREAD_LIBS)dnl Shared library support...DSO="${DSO:=:}"DSOFLAGS="${DSOFLAGS:=}"AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries, default=no])if test x$enable_shared = xyes; then AC_MSG_CHECKING(for shared library support) PICFLAG=1 case "$uname" in SunOS* | UNIX_S*) AC_MSG_RESULT(yes) LIBMXML="libmxml.so.1.4" DSO="\$(CC)" DSOFLAGS="$DSOFLAGS -Wl,-h,libmxml.so.1 -G -R\$(libdir) \$(OPTIM)" LDFLAGS="$LDFLAGS -R\$(libdir)" ;; HP-UX*) AC_MSG_RESULT(yes) LIBMXML="libmxml.sl.1" DSO="ld" DSOFLAGS="$DSOFLAGS -b -z +h libmxml.sl.1 +s +b \$(libdir)" LDFLAGS="$LDFLAGS -Wl,+s,+b,\$(libdir)" ;; IRIX) AC_MSG_RESULT(yes) LIBMXML="libmxml.so.1.4" DSO="\$(CC)" DSOFLAGS="$DSOFLAGS -Wl,-rpath,\$(libdir),-set_version,sgi1.0,-soname,libmxml.so.1 -shared \$(OPTIM)" ;; OSF1* | Linux | GNU) AC_MSG_RESULT(yes) LIBMXML="libmxml.so.1.4" DSO="\$(CC)" DSOFLAGS="$DSOFLAGS -Wl,-soname,libmxml.so.1,-rpath,\$(libdir) -shared \$(OPTIM)" LDFLAGS="$LDFLAGS -Wl,-rpath,\$(libdir)" ;; *BSD*) AC_MSG_RESULT(yes) LIBMXML="libmxml.so.1.4" DSO="\$(CC)" DSOFLAGS="$DSOFLAGS -Wl,-soname,libmxml.so.1,-R\$(libdir) -shared \$(OPTIM)" LDFLAGS="$LDFLAGS -Wl,-R\$(libdir)" ;; Darwin*) AC_MSG_RESULT(yes) LIBMXML="libmxml.1.dylib" DSO="\$(CC)" DSOFLAGS="$DSOFLAGS \$(RC_CFLAGS) -dynamiclib -lc" ;; *) AC_MSG_RESULT(no) AC_MSG_WARN(shared libraries not supported on this platform.) PICFLAG=0 LIBMXML="libmxml.a" ;; esacelse PICFLAG=0 LIBMXML="libmxml.a"fiAC_SUBST(DSO)AC_SUBST(DSOFLAGS)AC_SUBST(LIBMXML)AC_SUBST(PICFLAG)dnl Add -Wall for GCC...if test -n "$GCC"; then CFLAGS="-Wall $CFLAGS" if test "x$OPTIM" = x; then OPTIM="-Os -g" fi if test "x$use_ansi" = xyes; then CFLAGS="-ansi -pedantic $CFLAGS" fi if test $PICFLAG = 1 -a $uname != AIX; then OPTIM="-fPIC $OPTIM" fielse case $uname in HP-UX*) CFLAGS="-Ae $CFLAGS" if test "x$OPTIM" = x; then OPTIM="-O" fi OPTIM="+DAportable $OPTIM" if test $PICFLAG = 1; then OPTIM="+z $OPTIM" fi ;; UNIX_SVR* | SunOS*) if test "x$OPTIM" = x; then OPTIM="-O" fi if test $PICFLAG = 1; then OPTIM="-KPIC $OPTIM" fi ;; *) if test "x$OPTIM" = x; then OPTIM="-O" fi ;; esacfidnl Fix "prefix" variable if it hasn't been specified...if test "$prefix" = "NONE"; then prefix="/usr/local"fidnl Fix "exec_prefix" variable if it hasn't been specified...if test "$exec_prefix" = "NONE"; then exec_prefix="$prefix"fidnl Fix "docdir" variable if it hasn't been specified...if test "$docdir" = "NONE"; then docdir="$datadir/doc/mxml"fidnl Fix "mandir" variable if it hasn't been specified...if test "$mandir" = "\${prefix}/man" -a "$prefix" = "/usr"; then case "$uname" in *BSD* | Darwin* | Linux*) # BSD, Darwin (MacOS X), and Linux mandir="/usr/share/man" ;; IRIX*) # SGI IRIX mandir="/usr/share/catman/u_man" ;; *) # All others mandir="/usr/man" ;; esacfidnl pkg-config stuff...if test "$includedir" != /usr/include; then PC_CFLAGS="-I$includedir"else PC_CFLAGS=""fiif test "$libdir" != /usr/lib; then PC_LIBS="-L$libdir -lmxml"else PC_LIBS="-lmxml"fiAC_SUBST(PC_CFLAGS)AC_SUBST(PC_LIBS)dnl Output the makefile, etc...AC_OUTPUT(Makefile mxml.list mxml.pc)dnldnl End of "$Id: configure.in 335 2008-01-26 20:50:28Z mike $".dnl
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -