X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/ed9ba607b47feae1a435126c5fa05ac2a3690099..3465138575e1fd0d5892d9b6be1ae232eb873460:/configure.ac diff --git a/configure.ac b/configure.ac index 129be5c12..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.7.6ubuntu2" +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) @@ -180,10 +210,6 @@ AC_SUBST(DOTDIR) ah_NUM_PROCS ah_GCC3DEP -dnl It used to be that the user could select translations and that could get -dnl passed to the makefiles, but now that can only work if you use special -dnl gettext approved makefiles, so this feature is unsupported by this. -ALL_LINGUAS="bg bs ca cs cy da de dz el es eu fi fr gl hu it ja ko ku nb nl nn pl pt_BR pt ro ru sk sl sv th tl uk vi zn_CN zh_TW" AM_GNU_GETTEXT(external) if test x"$USE_NLS" = "xyes"; then AC_DEFINE(USE_NLS) @@ -191,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