mirror of
https://github.com/michaelrsweet/mxml.git
synced 2024-11-13 07:15:30 +00:00
d8c0ba9007
stack space depending on the file (Bug #549) Bump version to 2.10.
339 lines
7.5 KiB
Plaintext
339 lines
7.5 KiB
Plaintext
dnl
|
|
dnl "$Id$"
|
|
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$".
|
|
dnl
|