File:  [Public] / XML / configure.in
Revision 1.46: download - view: text, annotated - select for diffs
Wed Oct 25 13:35:51 2000 UTC (23 years, 7 months ago) by veillard
Branches: MAIN
CVS tags: LIBXML_2_2_6, HEAD
- configure.in: release 2.2.6
- xpath.[ch] xpointer.c xpathInternals.h: added xpathInternals.h
  exporting the inner functions of xpath for extension modules
Daniel

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=2
LIBXML_MICRO_VERSION=6
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)

# No fucking shared libs when I debug !
AC_DISABLE_SHARED
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)

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_CHECK_LIB(m, isinf,
  [M_LIBS="-lm"; AC_DEFINE(HAVE_ISINF)]))

XML_LIBDIR='-L${libdir}'
XML_INCLUDEDIR='-I${includedir}/libxml -I${includedir}'
XML_LIBS="-lxml $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
else
    case "${host}" in
          *linux* )
               CFLAGS="${CFLAGS} -pedantic"
               ;;
    esac
fi
case ${host} in
    *-*-solaris*)
        XML_LIBDIR="${XML_LIBDIR} -R${libdir}"
        ;;
esac
if test "${LOGNAME}" = "veillard" ; 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="-Wall -g -pedantic"
fi




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 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(docbook, [  --with-docbook         Add the Docbook support (off)])
if test "$with_docbook" = "yes" ; then
    echo Enabling Docbook support
    WITH_SGML=1
    SGML_OBJ="SGMLparser.o"
else
    WITH_SGML=0
    SGML_OBJ=
fi
AC_SUBST(WITH_SGML)
AC_SUBST(SGML_OBJ)

AC_ARG_WITH(xpath, [  --with-xpath            Add the XPATH support (on)])
if test "$with_xpath" = "no" ; then
    echo Disabling XPATH support
    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(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 ! -h $srcdir/libxml
then
    (cd $srcdir ; ln -s include/libxml libxml)
fi
if test ! -h include/libxml
then
    if test ! -d include
    then
        rm -f include
        mkdir include
    fi
    (cd include ; ln -s ../libxml libxml)
fi
if test ! -f 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 xml-config libxml-2.0.pc)


Webmaster