mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-01-13 13:17:36 +03:00
c5d64345cf
* AUTHORS: added William and Bjorn * include/libxml/*.h *.c README doc/*.html etc.: changed old email to daniel@veillard.com hopefully I won't have to do this again * doc/Makefile.am doc/html/*.html: cleanup makefile, checked that docs can be rebuilt cleanly now * include/libxml/xml*version.h*: removed include/libxml/xmlversion.h from CVs it's generated, added include/libxml/xmlwin32version.h also generated but which should change far less frequently. * catalog.c nanoftp.c: made sure to include libxml.h not libxml/xmlversion.h directly * include/libxml/*.h: include xmlwin32version.h instead of xmlversion.h when compiling on WIN32 and MSC Daniel
459 lines
11 KiB
Plaintext
459 lines
11 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=11
|
|
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"
|
|
[case ${host} in
|
|
*-*-solaris*)
|
|
Z_LIBS="-L${Z_DIR}/lib -R${Z_DIR}/lib -lz"
|
|
;;
|
|
esac]
|
|
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 ansidecl.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)
|
|
AC_CHECK_HEADERS(signal.h)
|
|
|
|
dnl Specific dir for HTML output ?
|
|
if test "x$with_html_dir" = "x" ; then
|
|
HTML_DIR='$(prefix)/doc'
|
|
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)
|
|
AC_CHECK_FUNCS(finite isnand fp_class class fpclass)
|
|
AC_CHECK_FUNCS(strftime localtime)
|
|
AC_CHECK_FUNCS(stat _stat signal)
|
|
|
|
dnl Checking the standard string functions availability
|
|
AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,,
|
|
NEED_TRIO=1)
|
|
|
|
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,
|
|
[AC_DEFINE(HAVE_ISNAN)]))
|
|
|
|
AC_CHECK_FUNC(isinf, AC_DEFINE(HAVE_ISINF) , AC_CHECK_LIB(m, isinf,
|
|
[AC_DEFINE(HAVE_ISINF)]))
|
|
|
|
XML_LIBDIR='-L${libdir}'
|
|
XML_INCLUDEDIR='-I${includedir}/libxml -I${includedir}'
|
|
|
|
dnl
|
|
dnl Extra flags
|
|
dnl
|
|
XML_CFLAGS=""
|
|
RDL_LIBS=""
|
|
|
|
dnl
|
|
dnl Workaround for native compilers
|
|
dnl HP : http://bugs.gnome.org/db/31/3163.html
|
|
dnl DEC : Enable NaN/Inf
|
|
dnl
|
|
if test "${GCC}" != "yes" ; then
|
|
case "${host}" in
|
|
*-*-hpux* )
|
|
CFLAGS="${CFLAGS} -Wp,-H30000"
|
|
;;
|
|
*-dec-osf* )
|
|
CFLAGS="${CFLAGS} -ieee"
|
|
;;
|
|
esac
|
|
else
|
|
CFLAGS="${CFLAGS} -Wall"
|
|
case "${host}" in
|
|
alpha*-*-linux* )
|
|
CFLAGS="${CFLAGS} -mieee"
|
|
;;
|
|
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}
|
|
|
|
dnl
|
|
dnl specific tests to setup DV's devel environment with debug etc ...
|
|
dnl (-Wunreachable-code)
|
|
dnl
|
|
if test "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ; then
|
|
if test "${with_mem_debug}" = "" ; then
|
|
with_mem_debug="yes"
|
|
fi
|
|
if test "${with_docbook}" = "" ; then
|
|
with_docbook="yes"
|
|
fi
|
|
if test "${with_xptr}" = "" ; then
|
|
with_xptr="yes"
|
|
fi
|
|
CFLAGS="-g -O -pedantic -W -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline "
|
|
dnl -Wcast-qual -ansi
|
|
fi
|
|
|
|
dnl
|
|
dnl Check for trio string functions
|
|
dnl
|
|
|
|
if test "${NEED_TRIO}" = "1" ; then
|
|
echo Adding trio library for string functions
|
|
WITH_TRIO=1
|
|
else
|
|
WITH_TRIO=0
|
|
fi
|
|
AM_CONDITIONAL(WITH_TRIO_SOURCES, test "${NEED_TRIO}" = "1")
|
|
AC_SUBST(WITH_TRIO)
|
|
|
|
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(catalog, [ --with-catalog Add the Catalog support (on)])
|
|
if test "$with_catalog" = "no" ; then
|
|
echo Disabling Catalog support
|
|
WITH_CATALOG=0
|
|
CATALOG_OBJ=
|
|
else
|
|
WITH_CATALOG=1
|
|
CATALOG_OBJ="catalog.o"
|
|
fi
|
|
AC_SUBST(WITH_CATALOG)
|
|
AC_SUBST(CATALOG_OBJ)
|
|
|
|
AC_ARG_WITH(docbook, [ --with-docbook Add Docbook SGML support (on)])
|
|
if test "$with_docbook" = "no" ; then
|
|
echo Disabling Docbook support
|
|
WITH_DOCB=0
|
|
DOCB_OBJ=
|
|
else
|
|
WITH_DOCB=1
|
|
DOCB_OBJ="DOCBparser.o"
|
|
fi
|
|
AC_SUBST(WITH_DOCB)
|
|
AC_SUBST(DOCB_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_HEADER(iconv.h,
|
|
AC_CHECK_FUNC(iconv, ,
|
|
AC_CHECK_LIB(iconv, iconv, ICONV_LIBS="-liconv")))
|
|
if test "$have_iconv" != "" ; then
|
|
echo Iconv support not found
|
|
WITH_ICONV=0
|
|
else
|
|
WITH_ICONV=1
|
|
fi
|
|
fi
|
|
XML_LIBS="-lxml2 $Z_LIBS $ICONV_LIBS -lm $LIBS"
|
|
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(ICONV_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 cleanup any remaining symlinks if any for include/libxml
|
|
dnl
|
|
if test -L $srcdir/include/libxml
|
|
then
|
|
if test -d $srcdir/include/CVS
|
|
then
|
|
rm -rf $srcdir/include/libxml
|
|
echo The CVS repository changed a bit
|
|
echo 'please run "cvs update -d" and rerun the configuration script'
|
|
exit 1
|
|
else
|
|
echo $srcdir/include/libxml should not be a symlink anymore
|
|
exit 1
|
|
fi
|
|
fi
|
|
if test -e $srcdir/xmlversion.h
|
|
then
|
|
rm -f $srcdir/xmlversion.h
|
|
fi
|
|
if test ! -r libxml
|
|
then
|
|
rm -rf libxml
|
|
ln -s $srcdir/include/libxml libxml
|
|
fi
|
|
|
|
AC_OUTPUT(libxml.spec Makefile include/Makefile include/libxml/Makefile doc/Makefile example/Makefile include/libxml/xmlversion.h include/libxml/xmlwin32version.h xml2-config libxml-2.0.pc xml2Conf.sh)
|
|
|