X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/c93d14fc05b50a8ee8bb7804579c2912f34c676b..3465138575e1fd0d5892d9b6be1ae232eb873460:/configure.ac?ds=sidebyside diff --git a/configure.ac b/configure.ac index 05bbeeaad..4e08cc473 100644 --- a/configure.ac +++ b/configure.ac @@ -5,20 +5,21 @@ dnl linux architectures and configurations, it is not used to make the 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.1" +PACKAGE_VERSION="1.3~exp3" PACKAGE_MAIL="APT Development Team " AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"$PACKAGE_VERSION") @@ -28,12 +29,12 @@ AC_SUBST(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 @@ -53,7 +54,7 @@ AC_SEARCH_LIBS(connect,socket) 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) @@ -89,6 +90,13 @@ AC_CHECK_LIB(curl, curl_easy_init, 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 @@ -100,6 +108,13 @@ if test "x$HAVE_ZLIB" = "xyes"; then 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) @@ -107,6 +122,13 @@ if test "x$HAVE_BZ2" = "xyes"; then 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 @@ -153,20 +175,28 @@ dnl HP-UX needs -d_XOPEN_SOURCE_EXTENDED for h_errno 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) @@ -187,4 +217,5 @@ fi 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