1AC_PREREQ([2.62]) 2AC_INIT([XMLStarlet], [m4_esyscmd_s([git describe --tags --dirty])], 3 [http://sourceforge.net/projects/xmlstar/support], 4 [], 5 [http://xmlstar.sourceforge.net/]) 6AC_REVISION(AC_PACKAGE_VERSION) 7 8AM_INIT_AUTOMAKE([1.11 foreign -Wall subdir-objects no-define std-options parallel-tests color-tests]) 9AM_SILENT_RULES([yes]) 10AM_MAINTAINER_MODE 11 12[LIBXML_REQUIRED_VERSION=2.6.27] 13[LIBXSLT_REQUIRED_VERSION=1.1.9] 14 15XSTAR_LIB_ARGS_WITH([LIBXML], [with-src]) 16XSTAR_LIB_ARGS_WITH([LIBXSLT], [with-src]) 17XSTAR_LIB_ARGS_WITH([LIBICONV]) 18 19AC_ARG_ENABLE([static-libs], 20 [AS_HELP_STRING([--enable-static-libs], 21 [link statically with libxml2 and lib(e)xslt @<:@default=no@:>@])], 22 [STATIC_LIBS=$enableval], 23 [STATIC_LIBS=no]) 24 25AS_IF([test -r doc/xmlstarlet.1], [LACK_DOCS=no], [LACK_DOCS=yes]) 26 27AC_ARG_ENABLE([build_docs], 28 [AS_HELP_STRING([--enable-build-docs], 29 [include rules to build documentation files])], 30 [], [enable_build_docs=$LACK_DOCS]) 31 32dnl 33dnl Check the environment 34dnl 35 36AC_DEFINE([_XOPEN_SOURCE], [500], [needed to get lstat declaration in -ansi mode]) 37 38AC_CANONICAL_HOST 39AC_PROG_CC 40AM_CONDITIONAL([GCC], [test x$GCC = xyes]) 41AS_IF([test x$GCC = xyes], [CFLAGS="-ansi $CFLAGS"]) 42AM_PROG_CC_C_O 43AC_ARG_PROGRAM dnl Transforming Program Names When Installing 44AC_PROG_SED 45AC_PROG_AWK 46 47XSTAR_LIB_CHECK([LIBXML], [xml2-config]) 48 49AS_IF([test "x$LIBXML_SRCDIR" != x], 50 [LIBXML_INCDIR="$LIBXML_SRCDIR/include"]) 51[: ${LIBXML_INCDIR="$LIBXML_PREFIX/include/libxml2"}] 52 53AS_IF([test "x$STATIC_LIBS" != xno], 54 [LIBXML_CPPFLAGS="-I$LIBXML_INCDIR -DLIBXML_STATIC"], 55 [LIBXML_CPPFLAGS="-I$LIBXML_INCDIR"]) 56 57AS_IF([test "x$STATIC_LIBS" != xno], 58 [LIBXML_LIBS="$LIBXML_LIBDIR/libxml2.a"], 59 [LIBXML_LIBS="-lxml2"]) 60[LIBXML_LDFLAGS="-L$LIBXML_LIBDIR"] 61 62 63XSTAR_LIB_CHECK([LIBXSLT], [xslt-config]) 64 65AS_IF([test "x$LIBXSLT_SRCDIR" != x], 66 [XSLTPROC_PATH="$LIBXSLT_SRCDIR/xsltproc:$PATH" 67 LIBXSLT_INCDIR="$LIBXSLT_SRCDIR" 68 LIBXSLT_LDFLAGS="-L$LIBXSLT_SRCDIR/libexslt/.libs -L$LIBXSLT_SRCDIR/libxslt/.libs" 69 AS_IF([test "x$STATIC_LIBS" != xno], 70 [LIBXSLT_LIBS="$LIBXSLT_SRCDIR/libexslt/.libs/libexslt.a $LIBXSLT_SRCDIR/libxslt/.libs/libxslt.a"])], 71 [XSLTPROC_PATH="$PATH" 72 LIBXSLT_LDFLAGS="-L$LIBXSLT_LIBDIR" 73 AS_IF([test "x$STATIC_LIBS" != xno], 74 [LIBXSLT_LIBS="$LIBXSLT_LIBDIR/libexslt.a $LIBXSLT_LIBDIR/libxslt.a"])]) 75 76AS_IF([test x"$enable_build_docs" = xyes], 77 [AC_PATH_PROG(XSLTPROC, xsltproc, [none], [$XSLTPROC_PATH]) 78 AS_IF([test "$XSLTPROC" = none], [AC_MSG_ERROR([xsltproc not found, unable to build documentation])]) 79 80 AC_PATH_PROG(FOP, fop, [none]) 81 AM_CONDITIONAL([HAVE_FOP], [test x"$FOP" != xnone]) 82 83 AC_PATH_PROG(PDF2PS, pdf2ps, [none]) 84 AM_CONDITIONAL([HAVE_PDF2PS], [test x"$PDF2PS" != xnone])], 85 86 [# these don't get used when BUILD_DOCS is false but Automake 87 # will get cranky if we don't set the conditional 88 AM_CONDITIONAL([HAVE_FOP], [false]) 89 AM_CONDITIONAL([HAVE_PDF2PS], [false])]) 90 91AM_CONDITIONAL([BUILD_DOCS], [test x"$enable_build_docs" = xyes]) 92 93 94AS_IF([test "x$STATIC_LIBS" = xno], 95 [LIBXSLT_LIBS="-lexslt -lxslt"]) 96 97[: ${LIBXSLT_INCDIR="$LIBXSLT_PREFIX/include"}] 98[LIBXSLT_CPPFLAGS="-I$LIBXSLT_INCDIR"] 99 100 101[WIN32_EXTRA_LDFLAGS=] 102[WIN32_EXTRA_LIBS=] 103 104AS_CASE(["${host}"], 105 [*-hpux*], 106 [AS_IF([test "x$GCC" != "xyes"], 107 [CFLAGS="-Ae"])], 108 [*mingw*], 109 [WIN32_EXTRA_LIBS='-lwsock32' 110 AC_DEFINE([_WINSOCKAPI_],1,[Using the Win32 Socket implementation])]) 111 112AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK 113AC_FUNC_MALLOC 114AC_FUNC_REALLOC 115AC_TYPE_MODE_T 116AC_TYPE_SIZE_T 117 118# The trick with USER_LIBS allows make LIBS=-lfoo to add rather than 119# replace the libraries from ./configure 120[USER_LIBS="$LIBS"] 121[LIBS=] 122# shared libraries link to dependant libraries automatically 123AS_IF([test "x$STATIC_LIBS" != xno], 124 [AC_SEARCH_LIBS([dlopen], [dl], [], [], "$USER_LIBS") 125 AC_SEARCH_LIBS([sqrt], [m], [], [], "$USER_LIBS") 126 AC_SEARCH_LIBS([iconv_open], [iconv], [], 127 [AC_SEARCH_LIBS([libiconv_open], [iconv], [], [], "$USER_LIBS")], "$USER_LIBS") 128 AC_SEARCH_LIBS([clock_gettime], [rt], [], [], "$USER_LIBS") 129 AC_SEARCH_LIBS([deflate], [z], [], [], "$USER_LIBS") 130 AC_SEARCH_LIBS([gcry_cipher_encrypt], [gcrypt], [], [], "$USER_LIBS") 131 132 # Checks for inet libraries: 133 AC_SEARCH_LIBS([gethostent], [nsl], [], [], "$USER_LIBS") 134 AC_SEARCH_LIBS([setsockopt], [socket net network], [], [], "$USER_LIBS") 135 AC_SEARCH_LIBS([connect], [inet], [], [], "$USER_LIBS")]) 136 137AC_CHECK_FUNCS_ONCE([lstat stat]) 138 139AC_CHECK_DECL([O_BINARY], [AC_DEFINE([HAVE_DECL_O_BINARY],1,[have O_BINARY])], 140[AC_DEFINE([HAVE_DECL_O_BINARY],0,[don't have O_BINARY])], [[ 141#include <io.h> 142#include <fcntl.h> 143]]) 144AC_CHECK_FUNCS_ONCE([setmode]) 145 146# check for exslt*XpathCtxtRegister() functions 147[OLD_CPPFLAGS="$CPPFLAGS" 148 CPPFLAGS="$LIBXSLT_CPPFLAGS $LIBXML_CPPFLAGS $CPPFLAGS"] 149AC_CHECK_DECL([exsltDateXpathCtxtRegister], 150 [AC_DEFINE([HAVE_EXSLT_XPATH_REGISTER],1,[have exslt*XpathCtxtRegister()]) 151 HAVE_EXSLT_XPATH_REGISTER=1], 152 [AC_DEFINE([HAVE_EXSLT_XPATH_REGISTER],0,[have exslt*XpathCtxtRegister()]) 153 HAVE_EXSLT_XPATH_REGISTER=0], 154 [#include <libexslt/exslt.h>]) 155 156AM_CONDITIONAL([HAVE_EXSLT_XPATH_REGISTER], [test $HAVE_EXSLT_XPATH_REGISTER = 1]) 157[CPPFLAGS="$OLD_CPPFLAGS"] 158 159# put warnings about missing docs at the end, so there is a better 160# chance of seeing them. 161AS_IF([test x$LACK_DOCS = xyes], 162 [AS_IF([test "$FOP" = none], 163 [AC_MSG_WARN([fop not installed, unable to build pdf documentation])]) 164 AS_IF([test "$PDF2PS" = none], 165 [AC_MSG_WARN([pdf2ps not installed, unable to build postscript documentation])])]) 166 167# make flags 168AC_SUBST([AM_CPPFLAGS], ["$LIBXSLT_CPPFLAGS $LIBXML_CPPFLAGS"]) 169AC_SUBST([AM_LDFLAGS], ["$LIBXSLT_LDFLAGS $LIBXML_LDFLAGS"]) 170AC_SUBST([LDADD], ["$LIBXSLT_LIBS $LIBXML_LIBS $WIN32_EXTRA_LIBS $LIBS"]) 171AC_SUBST([LIBS], ["$USER_LIBS"]) 172AC_SUBST([LIBXML_REQUIRED_VERSION]) 173AC_SUBST([LIBXSLT_REQUIRED_VERSION]) 174 175AC_SUBST([SED]) 176 177np_SILENT_RULE([FOP]) 178np_SILENT_RULE([DOCBOOK], [DBOOK]) 179 180AC_SUBST(PACKAGE_NAME) 181AC_SUBST(PACKAGE_TARNAME) 182AC_SUBST(PACKAGE_VERSION) 183 184dnl for the spec file 185 186AC_CONFIG_HEADERS([config.h]) 187AC_CONFIG_FILES([ 188xmlstarlet.spec 189Makefile 190solaris/package/sol8-sparc/pkginfo 191solaris/package/sol9-sparc/pkginfo 192]) 193AC_OUTPUT 194 195