mirror of
https://github.com/GNOME/libxml2.git
synced 2025-02-23 18:29:14 +08:00
- configure.in: applied patch from Daniel van Balen for OpenBSD and bumped version to 2.3.1 - HTMLtree.c result/HTML/doc3.htm result/HTML/wired.html: the attempt to find autoclosing was simply broken, removed it, updated the examples, this is better Daniel
401 lines
9.7 KiB
Plaintext
401 lines
9.7 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
AC_PREREQ(2.2)
|
|
AC_INIT(entities.c)
|
|
AM_CONFIG_HEADER(config.h)
|
|
AC_CANONICAL_HOST
|
|
|
|
LIBXML_MAJOR_VERSION=2
|
|
LIBXML_MINOR_VERSION=3
|
|
LIBXML_MICRO_VERSION=1
|
|
LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION
|
|
LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
|
|
|
|
LIBXML_VERSION_NUMBER=`expr $LIBXML_MAJOR_VERSION \* 10000 + $LIBXML_MINOR_VERSION \* 100 + $LIBXML_MICRO_VERSION`
|
|
|
|
AC_SUBST(LIBXML_MAJOR_VERSION)
|
|
AC_SUBST(LIBXML_MINOR_VERSION)
|
|
AC_SUBST(LIBXML_MICRO_VERSION)
|
|
AC_SUBST(LIBXML_VERSION)
|
|
AC_SUBST(LIBXML_VERSION_INFO)
|
|
AC_SUBST(LIBXML_VERSION_NUMBER)
|
|
|
|
VERSION=${LIBXML_VERSION}
|
|
|
|
AM_INIT_AUTOMAKE(libxml2, $VERSION)
|
|
|
|
AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_CC
|
|
AC_PROG_INSTALL
|
|
AC_PROG_CPP
|
|
AC_PATH_PROG(RM, rm, /bin/rm)
|
|
AC_PATH_PROG(MV, mv, /bin/mv)
|
|
AC_PATH_PROG(TAR, tar, /bin/tar)
|
|
|
|
dnl Make sure we have an ANSI compiler
|
|
AM_C_PROTOTYPES
|
|
test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant)
|
|
|
|
AM_PROG_LIBTOOL
|
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
dnl Checks for zlib library.
|
|
_cppflags="${CPPFLAGS}"
|
|
_ldflags="${LDFLAGS}"
|
|
|
|
AC_ARG_WITH(zlib,
|
|
[ --with-zlib[=DIR] use libz in DIR],[
|
|
if test "$withval" != "no" -a "$withval" != "yes"; then
|
|
Z_DIR=$withval
|
|
CPPFLAGS="${CPPFLAGS} -I$withval/include"
|
|
LDFLAGS="${LDFLAGS} -L$withval/lib"
|
|
fi
|
|
])
|
|
|
|
AC_CHECK_HEADERS(zlib.h,
|
|
AC_CHECK_LIB(z, gzread,[
|
|
AC_DEFINE(HAVE_LIBZ)
|
|
if test "x${Z_DIR}" != "x"; then
|
|
Z_CFLAGS="-I${Z_DIR}/include"
|
|
Z_LIBS="-L${Z_DIR}/lib -lz"
|
|
else
|
|
Z_LIBS="-lz"
|
|
fi]))
|
|
AC_SUBST(Z_CFLAGS)
|
|
AC_SUBST(Z_LIBS)
|
|
|
|
CPPFLAGS=${_cppflags}
|
|
LDFLAGS=${_ldflags}
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_DIRENT
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS(fcntl.h unistd.h ctype.h dirent.h errno.h malloc.h)
|
|
AC_CHECK_HEADERS(stdarg.h sys/stat.h sys/types.h time.h)
|
|
AC_CHECK_HEADERS(ieeefp.h nan.h math.h fp_class.h float.h)
|
|
AC_CHECK_HEADERS(stdlib.h sys/socket.h netinet/in.h arpa/inet.h)
|
|
AC_CHECK_HEADERS(netdb.h sys/time.h sys/select.h sys/mman.h)
|
|
|
|
dnl Specific dir for HTML output ?
|
|
if test "x$with_html_dir" = "x" ; then
|
|
HTML_DIR='${datadir}/gtk-doc/html'
|
|
else
|
|
HTML_DIR=$with_html_dir
|
|
fi
|
|
|
|
AC_SUBST(HTML_DIR)
|
|
|
|
AC_ARG_ENABLE(corba,
|
|
[ --enable-corba Add Corba support (default)])
|
|
|
|
dnl
|
|
dnl Corba is enabled by default
|
|
dnl
|
|
if test "$enable_corba" = "no" ; then
|
|
CORBA_CFLAGS="-DWITHOUT_CORBA"
|
|
fi
|
|
AC_SUBST(CORBA_CFLAGS)
|
|
|
|
dnl Checks for library functions.
|
|
AC_FUNC_STRFTIME
|
|
AC_CHECK_FUNCS(strdup strndup strerror snprintf)
|
|
AC_CHECK_FUNCS(finite isnand fp_class class fpclass)
|
|
AC_CHECK_FUNCS(strftime localtime)
|
|
AC_CHECK_FUNCS(stat _stat)
|
|
|
|
dnl Checks for inet libraries:
|
|
AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent))
|
|
AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
|
|
AC_CHECK_FUNC(connect, , AC_CHECK_LIB(inet, connect))
|
|
|
|
dnl Determine what socket length (socklen_t) data type is
|
|
AC_MSG_CHECKING([for type of socket length (socklen_t)])
|
|
AC_TRY_COMPILE2([
|
|
#include <stddef.h>
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>],[
|
|
(void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)],[
|
|
AC_MSG_RESULT(socklen_t *)
|
|
SOCKLEN_T=socklen_t],[
|
|
AC_TRY_COMPILE2([
|
|
#include <stddef.h>
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>],[
|
|
(void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)],[
|
|
AC_MSG_RESULT(size_t *)
|
|
SOCKLEN_T=size_t],[
|
|
AC_TRY_COMPILE2([
|
|
#include <stddef.h>
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>],[
|
|
(void)getsockopt (1, 1, 1, NULL, (int *)NULL)],[
|
|
AC_MSG_RESULT(int *)
|
|
SOCKLEN_T=int],[
|
|
AC_MSG_WARN(could not determine)])])])
|
|
AC_DEFINE_UNQUOTED(SOCKLEN_T, $SOCKLEN_T)
|
|
|
|
dnl Checks for isnan in libm if not in libc
|
|
AC_CHECK_FUNC(isnan, , AC_CHECK_LIB(m, isnan,
|
|
[M_LIBS="-lm"; AC_DEFINE(HAVE_ISNAN)]))
|
|
|
|
AC_CHECK_FUNC(isinf, AC_DEFINE(HAVE_ISINF) , AC_CHECK_LIB(m, isinf,
|
|
[M_LIBS="-lm"; AC_DEFINE(HAVE_ISINF)]))
|
|
|
|
XML_LIBDIR='-L${libdir}'
|
|
XML_INCLUDEDIR='-I${includedir}/libxml -I${includedir}'
|
|
XML_LIBS="-lxml2 $Z_LIBS $M_LIBS $LIBS"
|
|
|
|
dnl
|
|
dnl Extra flags
|
|
dnl
|
|
XML_CFLAGS=""
|
|
|
|
dnl
|
|
dnl Workaround for HP native compiler
|
|
dnl http://bugs.gnome.org/db/31/3163.html
|
|
dnl
|
|
if test "${GCC}" != "yes" ; then
|
|
case "${host}" in
|
|
*-*-hpux* )
|
|
CFLAGS="${CFLAGS} -Wp,-H30000"
|
|
;;
|
|
esac
|
|
fi
|
|
case ${host} in
|
|
*-*-solaris*)
|
|
XML_LIBDIR="${XML_LIBDIR} -R${libdir}"
|
|
;;
|
|
esac
|
|
|
|
|
|
|
|
dnl
|
|
dnl Use buffers for content
|
|
dnl
|
|
|
|
AC_ARG_WITH(buffers, [ --with-buffers Use buffers for node content])
|
|
if test "$with_buffers" = "yes" ; then
|
|
CFLAGS="${CFLAGS} -DXML_USE_BUFFER_CONTENT"
|
|
XML_CFLAGS="${XML_CFLAGS} -DXML_USE_BUFFER_CONTENT"
|
|
fi
|
|
|
|
dnl
|
|
dnl Tester makes use of readline if present
|
|
dnl
|
|
_cppflags="${CPPFLAGS}"
|
|
_ldflags="${LDFLAGS}"
|
|
|
|
AC_ARG_WITH(readline,
|
|
[ --with-readline=DIR use readline in DIR],[
|
|
if test "$withval" != "no" -a "$withval" != "yes"; then
|
|
RDL_DIR=$withval
|
|
CPPFLAGS="${CPPFLAGS} -I$withval/include"
|
|
LDFLAGS="${LDFLAGS} -L$withval/lib"
|
|
fi
|
|
])
|
|
|
|
dnl check for terminal library. this is a very cool solution
|
|
dnl from octave's configure.in
|
|
unset tcap
|
|
for termlib in ncurses curses termcap terminfo termlib; do
|
|
AC_CHECK_LIB(${termlib}, tputs, [tcap="-l$termlib"])
|
|
test -n "$tcap" && break
|
|
done
|
|
|
|
AC_CHECK_HEADER(readline/history.h,
|
|
AC_CHECK_LIB(history, append_history,[
|
|
RDL_LIBS="-lhistory"
|
|
AC_DEFINE(HAVE_LIBHISTORY)]))
|
|
AC_CHECK_HEADER(readline/readline.h,
|
|
AC_CHECK_LIB(readline, readline,[
|
|
RDL_LIBS="-lreadline $RDL_LIBS $tcap"
|
|
AC_DEFINE(HAVE_LIBREADLINE)], , $tcap))
|
|
if test -n "$RDL_DIR" -a -n "$RDL_LIBS"; then
|
|
CPPFLAGS="$CPPFLAGS -I${RDL_DIR}/include"
|
|
RDL_LIBS="-L${RDL_DIR}/lib $RDL_LIBS"
|
|
else
|
|
CPPFLAGS=${_cppflags}
|
|
fi
|
|
LDFLAGS=${_ldflags}
|
|
|
|
AC_SUBST(RDL_LIBS)
|
|
|
|
dnl
|
|
dnl specific tests to setup DV's devel environment with debug etc ...
|
|
dnl
|
|
if test "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ; then
|
|
if test "${with_mem_debug}" = "" ; then
|
|
with_mem_debug="yes"
|
|
fi
|
|
dnl if test "${with_docbook}" = "" ; then
|
|
dnl with_docbook="yes"
|
|
dnl fi
|
|
if test "${with_xptr}" = "" ; then
|
|
with_xptr="yes"
|
|
fi
|
|
CFLAGS="-Wall -g -pedantic"
|
|
fi
|
|
dnl
|
|
dnl Aloow to disable various pieces
|
|
dnl
|
|
|
|
AC_ARG_WITH(ftp, [ --with-ftp Add the FTP support (on)])
|
|
if test "$with_ftp" = "no" ; then
|
|
echo Disabling FTP support
|
|
WITH_FTP=0
|
|
FTP_OBJ=
|
|
else
|
|
WITH_FTP=1
|
|
FTP_OBJ=nanoftp.o
|
|
fi
|
|
AC_SUBST(WITH_FTP)
|
|
AC_SUBST(FTP_OBJ)
|
|
|
|
AC_ARG_WITH(http, [ --with-http Add the HTTP support (on)])
|
|
if test "$with_http" = "no" ; then
|
|
echo Disabling HTTP support
|
|
WITH_HTTP=0
|
|
HTTP_OBJ=
|
|
else
|
|
WITH_HTTP=1
|
|
HTTP_OBJ=nanohttp.o
|
|
fi
|
|
AC_SUBST(WITH_HTTP)
|
|
AC_SUBST(HTTP_OBJ)
|
|
|
|
AC_ARG_WITH(html, [ --with-html Add the HTML support (on)])
|
|
if test "$with_html" = "no" ; then
|
|
echo Disabling HTML support
|
|
WITH_HTML=0
|
|
HTML_OBJ=
|
|
else
|
|
WITH_HTML=1
|
|
HTML_OBJ="HTMLparser.o HTMLtree.o"
|
|
fi
|
|
AC_SUBST(WITH_HTML)
|
|
AC_SUBST(HTML_OBJ)
|
|
|
|
AC_ARG_WITH(xpath, [ --with-xpath Add the XPATH support (on)])
|
|
if test "$with_xpath" = "no" ; then
|
|
echo Disabling XPATH support
|
|
with_xptr="no"
|
|
WITH_XPATH=0
|
|
XPATH_OBJ=
|
|
else
|
|
WITH_XPATH=1
|
|
XPATH_OBJ=xpath.o
|
|
fi
|
|
AC_SUBST(WITH_XPATH)
|
|
AC_SUBST(XPATH_OBJ)
|
|
|
|
AC_ARG_WITH(xptr, [ --with-xptr Add the XPointer support (on)])
|
|
if test "$with_xptr" = "no" ; then
|
|
echo Disabling XPointer support
|
|
WITH_XPTR=0
|
|
XPTR_OBJ=
|
|
else
|
|
WITH_XPTR=1
|
|
XPTR_OBJ=xpointer.o
|
|
fi
|
|
AC_SUBST(WITH_XPTR)
|
|
AC_SUBST(XPTR_OBJ)
|
|
|
|
AC_ARG_WITH(xinclude, [ --with-xinclude Add the XInclude support (on)])
|
|
if test "$with_xinclude" = "no" ; then
|
|
echo Disabling XInclude support
|
|
WITH_XINCLUDE=0
|
|
XINCLUDE_OBJ=
|
|
with_xinclude="no"
|
|
else
|
|
WITH_XINCLUDE=1
|
|
XINCLUDE_OBJ=xinclude.o
|
|
fi
|
|
AC_SUBST(WITH_XINCLUDE)
|
|
AC_SUBST(XINCLUDE_OBJ)
|
|
|
|
AC_ARG_WITH(iconv, [ --with-iconv Add the ICONV support (on)])
|
|
if test "$with_iconv" = "no" ; then
|
|
echo Disabling ICONV support
|
|
WITH_ICONV=0
|
|
else
|
|
AC_CHECK_FUNCS(iconv)
|
|
if test "$have_iconv" != "" ; then
|
|
echo Iconv support not found
|
|
WITH_ICONV=0
|
|
else
|
|
WITH_ICONV=1
|
|
fi
|
|
fi
|
|
AC_SUBST(WITH_ICONV)
|
|
|
|
AC_ARG_WITH(debug, [ --with-debug Add the debugging module (on)])
|
|
if test "$with_debug" = "no" ; then
|
|
echo Disabling DEBUG support
|
|
WITH_DEBUG=0
|
|
DEBUG_OBJ=
|
|
else
|
|
WITH_DEBUG=1
|
|
DEBUG_OBJ=debugXML.o
|
|
fi
|
|
AC_SUBST(WITH_DEBUG)
|
|
AC_SUBST(DEBUG_OBJ)
|
|
|
|
AC_ARG_WITH(mem_debug, [ --with-mem-debug Add the memory debugging module (off)])
|
|
if test "$with_mem_debug" = "yes" ; then
|
|
echo Enabling memory debug support
|
|
WITH_MEM_DEBUG=1
|
|
else
|
|
WITH_MEM_DEBUG=0
|
|
fi
|
|
AC_SUBST(WITH_MEM_DEBUG)
|
|
|
|
AC_SUBST(CFLAGS)
|
|
AC_SUBST(XML_CFLAGS)
|
|
|
|
AC_SUBST(XML_LIBDIR)
|
|
AC_SUBST(XML_LIBS)
|
|
AC_SUBST(XML_INCLUDEDIR)
|
|
AC_SUBST(HTML_DIR)
|
|
AC_SUBST(HAVE_ISNAN)
|
|
AC_SUBST(HAVE_ISINF)
|
|
|
|
AC_SUBST(M_LIBS)
|
|
AC_SUBST(RDL_LIBS)
|
|
|
|
dnl
|
|
dnl create the libxml and include links needed to get dependencies right
|
|
dnl
|
|
if test ! -d $srcdir/include/libxml
|
|
then
|
|
if test ! -d $srcdir/include
|
|
then
|
|
rm -f $srcdir/include
|
|
mkdir $srcdir/include
|
|
fi
|
|
rm -f $srcdir/libxml
|
|
(cd $srcdir/include ; ln -s .. libxml)
|
|
fi
|
|
if test ! -r $srcdir/libxml
|
|
then
|
|
(cd $srcdir ; ln -s include/libxml libxml)
|
|
fi
|
|
if test ! -r include/libxml
|
|
then
|
|
if test ! -d include
|
|
then
|
|
rm -f include
|
|
mkdir include
|
|
fi
|
|
(cd include ; ln -s ../libxml libxml)
|
|
fi
|
|
if test ! -r libxml
|
|
then
|
|
rm -rf libxml
|
|
ln -s $srcdir/include/libxml libxml
|
|
fi
|
|
|
|
AC_OUTPUT(libxml.spec Makefile include/Makefile doc/Makefile example/Makefile libxml/xmlversion.h xml2-config libxml-2.0.pc xml2Conf.sh)
|
|
|