| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 |
- dnl
- dnl "$Id: configure.ac 462 2016-06-11 20:51:49Z msweet $"
- dnl
- dnl Configuration script for Mini-XML, a small XML-like file parsing library.
- dnl
- dnl Copyright 2003-2016 by Michael R Sweet.
- dnl
- dnl These coded instructions, statements, and computer programs are the
- dnl property of Michael R Sweet and are protected by Federal copyright
- dnl law. Distribution and use rights are outlined in the file "COPYING"
- dnl which should have been included with this file. If this file is
- dnl missing or damaged, see the license at:
- dnl
- dnl http://www.msweet.org/projects.php/Mini-XML
- dnl
- dnl Package name and version...
- AC_INIT([Mini-XML], [2.10], [http://www.msweet.org/bugs.php/Mini-XML], [mxml], [http://www.msweet.org/projects.php/Mini-XML])
- dnl Set the name of the config header file...
- AC_CONFIG_HEADER(config.h)
- dnl Version number...
- VERSION="AC_PACKAGE_VERSION"
- AC_SUBST(VERSION)
- AC_DEFINE_UNQUOTED(MXML_VERSION, "Mini-XML v$VERSION")
- dnl Clear default debugging options and set normal optimization by
- dnl 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"
- fi
- dnl Checks for programs...
- AC_PROG_CC
- AC_PROG_CXX
- AC_PROG_INSTALL
- if test "$INSTALL" = "$ac_install_sh"; then
- # Use full path to install-sh script...
- INSTALL="`pwd`/install-sh -c"
- fi
- AC_PROG_RANLIB
- AC_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"
- ;;
- esac
- AC_SUBST(ARFLAGS)
- dnl Inline functions...
- AC_C_INLINE
- dnl Checks for string functions.
- if test "x$use_ansi" != xyes; then
- AC_CHECK_FUNCS(strdup)
- fi
- if test "x$use_vsnprintf" != xyes; then
- AC_CHECK_FUNCS(snprintf vsnprintf)
- fi
- dnl Check for "long long" support...
- AC_CACHE_CHECK(for long long int, ac_cv_c_long_long,
- [if test "$GCC" = yes; then
- ac_cv_c_long_long=yes
- else
- AC_TRY_COMPILE(,[long long int i;],
- ac_cv_c_long_long=yes,
- ac_cv_c_long_long=no)
- fi])
- if test $ac_cv_c_long_long = yes; then
- AC_DEFINE(HAVE_LONG_LONG)
- fi
- dnl Threading support
- AC_ARG_ENABLE(threads, [ --enable-threads enable multi-threading support])
- have_pthread=no
- PTHREAD_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
- fi
- fi
- AC_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 != xno; then
- AC_MSG_CHECKING(for shared library support)
- PICFLAG=1
- case "$uname" in
- SunOS* | UNIX_S*)
- AC_MSG_RESULT(yes)
- LIBMXML="libmxml.so.1.5"
- 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.5"
- 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.5"
- 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.5"
- 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"
- ;;
- esac
- else
- PICFLAG=0
- LIBMXML="libmxml.a"
- fi
- AC_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"
- fi
- else
- 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
- ;;
- esac
- fi
- dnl Fix "prefix" variable if it hasn't been specified...
- if test "$prefix" = "NONE"; then
- prefix="/usr/local"
- fi
- dnl Fix "exec_prefix" variable if it hasn't been specified...
- if test "$exec_prefix" = "NONE"; then
- exec_prefix="$prefix"
- fi
- dnl Fix "docdir" variable if it hasn't been specified...
- if test "$docdir" = "NONE"; then
- docdir="$datadir/doc/mxml"
- fi
- dnl 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"
- ;;
- esac
- fi
- dnl pkg-config stuff...
- if test "$includedir" != /usr/include; then
- PC_CFLAGS="-I$includedir"
- else
- PC_CFLAGS=""
- fi
- if test "$libdir" != /usr/lib; then
- PC_LIBS="-L$libdir -lmxml"
- else
- PC_LIBS="-lmxml"
- fi
- AC_SUBST(PC_CFLAGS)
- AC_SUBST(PC_LIBS)
- dnl Output the makefile, etc...
- AC_OUTPUT(Makefile mxml.list mxml.pc)
- dnl
- dnl End of "$Id: configure.ac 462 2016-06-11 20:51:49Z msweet $".
- dnl
|