From 0d47952611198ef6b1163f366dc03922d20b1475 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 09:42:04 +0200 Subject: Adding upstream version 7.94+git20230807.3be01efb1+dfsg. Signed-off-by: Daniel Baumann --- nbase/configure.ac | 301 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 301 insertions(+) create mode 100644 nbase/configure.ac (limited to 'nbase/configure.ac') diff --git a/nbase/configure.ac b/nbase/configure.ac new file mode 100644 index 0000000..37069da --- /dev/null +++ b/nbase/configure.ac @@ -0,0 +1,301 @@ +dnl # -*- mode: fundamental; -*- +dnl # Autoconf configuration file for Nbase +dnl # +dnl # Process this file with autoconf to produce a configure script. +dnl # $Id$ + +# Because nbase is usually distributed with Nmap, the necessary files +# config.guess, config.guess, and install-sh are not distributed with +# nbase. Rather they are gotten from Nmap. + +# Require autoconf 2.13 +AC_PREREQ(2.13) + +# Include my own macros +m4_include([acinclude.m4]) + +AC_INIT(nbase.h) + +AC_ARG_WITH(localdirs, + [ --with-localdirs Explicitly ask compiler to use /usr/local/{include,libs} if they exist ], + [ case "$with_localdirs" in + yes) + user_localdirs=1 + ;; + no) + user_localdirs=0 + ;; + esac + ], + [ user_localdirs=0 ] ) + +if test "$user_localdirs" = 1; then + if test -d /usr/local/lib; then + LDFLAGS="$LDFLAGS -L/usr/local/lib" + fi + if test -d /usr/local/include; then + CPPFLAGS="$CPPFLAGS -I/usr/local/include" + fi +fi + +dnl use config.h instad of -D macros +AC_CONFIG_HEADER(nbase_config.h) + +dnl Checks for programs. +AC_PROG_CC + + if test -n "$GCC"; then + CFLAGS="$CFLAGS -Wall " + fi +AC_PROG_RANLIB +dnl AC_PROG_INSTALL +dnl AC_PATH_PROG(MAKEDEPEND, makedepend) + +dnl Host specific hacks +AC_CANONICAL_HOST + +dnl equiv to '#define inline' to 'inline', '__inline__', '__inline' or '' +AC_C_INLINE + +case "$host" in + *-sgi-irix5* | *-sgi-irix6*) + if test -z "$GCC"; then + AC_DEFINE(inline, ) + fi + ;; +esac + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS( string.h getopt.h strings.h sys/param.h sys/time.h unistd.h errno.h sys/select.h sys/types.h sys/socket.h netinet/in.h arpa/inet.h sys/stat.h netdb.h sys/wait.h fcntl.h sys/resource.h inttypes.h mach-o/dyld.h) +AC_HEADER_TIME +dnl A special check required for on Darwin. See +dnl http://www.gnu.org/software/autoconf/manual/html_node/Header-Portability.html. +AC_CHECK_HEADERS([sys/socket.h]) +AC_CHECK_HEADERS([net/if.h], [], [], +[#include +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_SYS_SOCKET_H +# include +#endif +]) + +AC_MSG_CHECKING(for __attribute__) +AC_CACHE_VAL(ac_cv___attribute__, [ + AC_TRY_COMPILE( + [ + #include + + static void foo(void) __attribute__ ((noreturn)); + + static void + foo(void) + { + exit(1); + } + ], + [ + foo(); + ], + ac_cv___attribute__=yes, + ac_cv___attribute__=no + ) +]) +if test "$ac_cv___attribute__" = "yes"; then + AC_DEFINE(HAVE___ATTRIBUTE__, 1, [define if your compiler has __attribute__]) +fi +AC_MSG_RESULT($ac_cv___attribute__) + +AC_SUBST(CFLAGS) + + +dnl This test is from the configure.in of Unix Network Programming second +dnl edition example code by W. Richard Stevens +dnl ################################################################## +dnl Check if sockaddr{} has sa_len member. +dnl +AC_CACHE_CHECK(if sockaddr{} has sa_len member, ac_cv_sockaddr_has_sa_len, + AC_TRY_COMPILE([ + #include + #include ], + [unsigned int i = sizeof(((struct sockaddr *)0)->sa_len)], + ac_cv_sockaddr_has_sa_len=yes, + ac_cv_sockaddr_has_sa_len=no)) +if test $ac_cv_sockaddr_has_sa_len = yes ; then + AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [define if sockaddr has sa_len member]) +fi + +dnl check endedness +AC_C_BIGENDIAN + +dnl determine types so nbase can export u32, u16, etc. +AC_TYPE_INT8_T +AC_TYPE_INT16_T +AC_TYPE_INT32_T +AC_TYPE_INT64_T +AC_TYPE_UINT8_T +AC_TYPE_UINT16_T +AC_TYPE_UINT32_T +AC_TYPE_UINT64_T + +dnl Checks for library functions. +AC_CHECK_FUNCS( snprintf vsnprintf nanosleep strerror strcasestr strcasecmp strncasecmp signal ) + +needsnprintf=no +AC_CHECK_FUNCS(vsnprintf snprintf asprintf asnprintf vasprintf vasnprintf,, + [needsnprintf=yes]) +if test $needsnprintf = yes; then + AC_LIBOBJ([snprintf]) +fi + +AC_CHECK_FUNCS( getopt getopt_long_only) + +AC_CHECK_FUNCS(usleep gettimeofday sleep localtime_s localtime_r) +dnl Some of these time functions are always needed +AC_LIBOBJ([nbase_time]) + +AC_CHECK_FUNC(getopt_long_only, , + [ AC_LIBOBJ([getopt]) ]) + +AC_CHECK_FUNCS(strcasecmp strncasecmp, , + [ AC_LIBOBJ([strcasecmp]) ]) + +dnl We always want some of our files +AC_LIBOBJ([nbase_str]) +AC_LIBOBJ([nbase_misc]) +AC_LIBOBJ([nbase_memalloc]) +AC_LIBOBJ([nbase_rnd]) +AC_LIBOBJ([nbase_addrset]) + +# Check for IPv6 support -- modified from Apache 2.0.40: + +AC_ARG_ENABLE(ipv6, + [ --disable-ipv6 Disable IPv6 support ], + [ if test "$enableval" = "no"; then + user_disabled_ipv6=1 + fi ], + [ user_disabled_ipv6=0 ] ) + +AC_SEARCH_LIBS(getaddrinfo, [inet6 socket]) +AC_SEARCH_LIBS(gai_strerror, [inet6 socket]) +AC_SEARCH_LIBS(getnameinfo, [inet6 socket]) +AC_SEARCH_LIBS(inet_ntop, [nsl resolv network], [], + [AC_LIBOBJ(inet_ntop) + ]) +AC_SEARCH_LIBS(inet_pton, [nsl resolv network], [], + [AC_LIBOBJ(inet_pton) + ]) +AC_CHECK_FUNCS([gai_strerror inet_pton inet_ntop]) +APR_CHECK_WORKING_GETADDRINFO +# The inet_addr function is used by APR_CHECK_WORKING_GETNAMEINFO. +AC_SEARCH_LIBS(inet_addr, [nsl]) +APR_CHECK_WORKING_GETNAMEINFO +APR_CHECK_SOCKADDR_IN6 +APR_CHECK_SOCKADDR_STORAGE +CHECK_AF_INET6_DEFINE + +AC_MSG_CHECKING(for IPv6 support) +have_ipv6="0" +if test "$user_disabled_ipv6" = 1; then + AC_MSG_RESULT("no -- disabled by user") +else + if test "x$have_sockaddr_in6" = "x1"; then + if test "x$ac_cv_working_getaddrinfo" = "xyes"; then + if test "x$ac_cv_working_getnameinfo" = "xyes"; then + have_ipv6="1" + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT("no -- no working getnameinfo") + fi + else + AC_MSG_RESULT("no -- no working getaddrinfo") + fi + else + AC_MSG_RESULT("no -- no sockaddr_in6"); + fi +fi + +if test "x$ac_cv_working_getaddrinfo" != "xyes"; then +AC_LIBOBJ([getaddrinfo]) +fi + +if test "x$ac_cv_working_getnameinfo" != "xyes"; then +AC_LIBOBJ([getnameinfo]) +fi + +if test "$have_ipv6" = "1"; then + AC_DEFINE(HAVE_IPV6, 1, [define if IPv6 is available]) +fi + +# First we test whether they specified openssl desires explicitly +use_openssl="yes" +specialssldir="" + +AC_ARG_WITH(openssl, +[ --with-openssl=DIR Use optional openssl libs and includes from [DIR]/lib/ +and [DIR]/include/openssl/)], +[ case "$with_openssl" in + yes) + ;; + no) + use_openssl="no" + ;; + *) + specialssldir="$with_openssl" + ;; + esac] +) + + +# If they didn't specify it, we try to find it +if test "$use_openssl" = "yes" -a -z "$specialssldir"; then + AC_CHECK_HEADER(openssl/ssl.h,, + [ use_openssl="no" + AC_MSG_WARN([Failed to find openssl/ssl.h so OpenSSL will not be used. If it + is installed you can try the --with-openssl=DIR argument]) ]) + + if test "$use_openssl" = "yes"; then + AC_CHECK_HEADER(openssl/err.h,, + [ use_openssl="no" + AC_MSG_WARN([Failed to find openssl/err.h so OpenSSL will not be used. If it + is installed you can try the --with-openssl=DIR argument]) ]) + fi + + if test "$use_openssl" = "yes"; then + AC_CHECK_HEADER(openssl/rand.h,, + [ use_openssl="no" + AC_MSG_WARN([Failed to find openssl/rand.h so OpenSSL will not be used. If i +t is installed you can try the --with-openssl=DIR argument]) ]) + fi + + if test "$use_openssl" = "yes"; then + AC_CHECK_LIB(crypto, BIO_int_ctrl, + [], + [ use_openssl="no" + AC_MSG_WARN([Failed to find libcrypto so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument]) ]) + fi + + if test "$use_openssl" = "yes"; then + AC_CHECK_LIB(ssl, SSL_new, + [], + [ use_openssl="no" + AC_MSG_WARN([Failed to find libssl so OpenSSL will not be used. If it is ins +talled you can try the --with-openssl=DIR argument]) ]) + fi +fi + +if test "$use_openssl" = "yes"; then + AC_DEFINE(HAVE_OPENSSL, 1, [define if libssl is available]) +fi + +CHECK_PROC_SELF_EXE + +AC_OUTPUT(Makefile) + -- cgit v1.2.3