dnl code more portable
dnl You MUST have an environment that has all the POSIX functions and
-dnl some of the more populare bsd/sysv ones (like select). You'll also
-dnl need a C++ compiler that is semi-standard conformant, exceptions are
+dnl some of the more popular bsd/sysv ones (like select). You'll also
+dnl need a C++ compiler that is semi-standard conformant, exceptions are
dnl not used but STL is.
-dnl 'make -f Makefile startup' will generate the configure file from
+dnl 'make -f Makefile startup' will generate the configure file from
dnl configure.ac correctly and can be run at any time
-AC_PREREQ(2.50)
-AC_INIT(configure.ac)
+AC_PREREQ([2.68])
+AC_INIT
+AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_AUX_DIR(buildlib)
AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
PACKAGE="apt"
-PACKAGE_VERSION="0.9.14.3~exp5"
+PACKAGE_VERSION="1.3~exp3"
PACKAGE_MAIL="APT Development Team <deity@lists.debian.org>"
AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"$PACKAGE_VERSION")
AC_SUBST(PACKAGE_MAIL)
dnl Check the archs, we want the target type.
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_TARGET
dnl Check our C compiler
-AC_CHECK_TOOL_PREFIX
+
AC_PROG_CC
-AC_ISC_POSIX
+AC_SEARCH_LIBS([strerror],[cposix])
dnl check for large file support and enable it if possible
dnl do this early as other stuff might depend on it
SOCKETLIBS="$LIBS"
AC_SUBST(SOCKETLIBS)
LIBS="$SAVE_LIBS"
-
+
dnl Checks for pthread -- disabled due to glibc bugs jgg
dnl AC_CHECK_LIB(pthread, pthread_create,[AC_DEFINE(HAVE_PTHREAD) PTHREADLIB="-lpthread"])
AC_SUBST(PTHREADLIB)
AC_MSG_ERROR([failed: I need CURL due https support]),
)
+AC_LANG_PUSH([C++])
+AC_CHECK_HEADER(gtest/gtest.h,,
+ AC_MSG_WARN([failed: I need gtest (packaged as libgtest-dev) for unit testing]),
+)
+AC_LANG_POP([C++])
+
+
AC_SUBST(BDBLIB)
HAVE_ZLIB=no
AC_DEFINE(HAVE_ZLIB)
fi
+HAVE_LZ4=no
+AC_CHECK_LIB(lz4, LZ4F_createCompressionContext,[AC_CHECK_HEADER(lz4frame.h, [HAVE_LZ4=yes], [])], [])
+AC_SUBST(HAVE_LZ4)
+if test "x$HAVE_LZ4" = "xyes"; then
+ AC_DEFINE(HAVE_LZ4)
+fi
+
HAVE_BZ2=no
AC_CHECK_LIB(bz2, BZ2_bzopen,[AC_CHECK_HEADER(bzlib.h, [HAVE_BZ2=yes], [])], [])
AC_SUBST(HAVE_BZ2)
AC_DEFINE(HAVE_BZ2)
fi
+HAVE_LZMA=no
+AC_CHECK_LIB(lzma, lzma_easy_encoder,[AC_CHECK_HEADER(lzma.h, [HAVE_LZMA=yes], [])], [])
+AC_SUBST(HAVE_LZMA)
+if test "x$HAVE_LZMA" = "xyes"; then
+ AC_DEFINE(HAVE_LZMA)
+fi
+
dnl Converts the ARCH to be something singular for this general CPU family
dnl This is often the dpkg architecture string.
dnl First check against the full canonical canoncial-system-type in $target
AC_MSG_CHECKING(for h_errno)
AC_EGREP_HEADER(h_errno, netdb.h, [AC_MSG_RESULT(normal)],
[CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
- AC_EGREP_HEADER(h_errno, netdb.h,
+ AC_EGREP_HEADER(h_errno, netdb.h,
[AC_MSG_RESULT(needs _XOPEN_SOURCE_EXTENDED)],
[AC_MSG_ERROR("not found.")])
])
-dnl Check for debiandoc
-AC_PATH_PROG(DEBIANDOC_HTML,debiandoc2html)
-AC_PATH_PROG(DEBIANDOC_TEXT,debiandoc2text)
+
+dnl check for setuid checking function
+AC_CHECK_FUNCS(getresuid getresgid setresuid setresgid)
+AC_SUBST(HAVE_GETRESUID)
+AC_SUBST(HAVE_GETRESGID)
+AC_SUBST(HAVE_SETRESUID)
+AC_SUBST(HAVE_SETRESGID)
+
+AC_CHECK_FUNC(ptsname_r)
+AC_SUBST(HAVE_PTSNAME_R)
dnl Check for doxygen
AC_PATH_PROG(DOXYGEN, doxygen)
dnl Check for the XSLTProc tool needed to build man pages together with po4a
AC_PATH_PROG(XSLTPROC,xsltproc)
+AC_PATH_PROG(W3M, w3m)
dnl Check for the po4a tool needed to build man pages
AC_PATH_PROG(PO4A,po4a)
AC_SUBST(USE_NLS)
AC_PATH_PROG(BASH, bash)
-AC_OUTPUT(environment.mak:buildlib/environment.mak.in makefile:buildlib/makefile.in doc/Doxyfile:doc/Doxyfile.in,make -s dirs)
+AC_CONFIG_FILES([environment.mak:buildlib/environment.mak.in makefile:buildlib/makefile.in doc/Doxyfile:doc/Doxyfile.in])
+AC_OUTPUT