]> git.meshlink.io Git - meshlink/blobdiff - configure.ac
Remove unused/obsolete checks from configure.ac and unused functions from dropin.c.
[meshlink] / configure.ac
index 1d66abb1336df0448ea93484000405ddb19b747d..f62eff73bf29966bfa5f4e46e2e9a14e584ca234 100644 (file)
@@ -2,10 +2,11 @@ dnl Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.61)
 AC_INIT([MeshLink], [0.1])
 
 AC_PREREQ(2.61)
 AC_INIT([MeshLink], [0.1])
-AC_CONFIG_SRCDIR([src/libmeshlink.c])
-AC_GNU_SOURCE
-AM_INIT_AUTOMAKE([check-news std-options subdir-objects -Wall])
+AM_INIT_AUTOMAKE([std-options subdir-objects nostdinc silent-rules -Wall])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_SUBDIRS([catta])
+AM_SILENT_RULES([yes])
 
 # Enable GNU extensions.
 # Define this here, not in acconfig's @TOP@ section, since definitions
 
 # Enable GNU extensions.
 # Define this here, not in acconfig's @TOP@ section, since definitions
@@ -14,14 +15,15 @@ AC_GNU_SOURCE
 AC_DEFINE([__USE_BSD], 1, [Enable BSD extensions])
 
 dnl Checks for programs.
 AC_DEFINE([__USE_BSD], 1, [Enable BSD extensions])
 
 dnl Checks for programs.
+AM_PROG_CC_C_O
+AM_PROG_AR
 AC_PROG_CC_C99
 AC_PROG_CC_C99
+AC_PROG_CXX
 AC_PROG_CPP
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_LIBTOOL
 
 AC_PROG_CPP
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_LIBTOOL
 
-AM_PROG_CC_C_O
-
 dnl Check and set OS
 
 AC_CANONICAL_HOST
 dnl Check and set OS
 
 AC_CANONICAL_HOST
@@ -31,64 +33,15 @@ case $host_os in
     linux=true
     AC_DEFINE(HAVE_LINUX, 1, [Linux])
   ;;
     linux=true
     AC_DEFINE(HAVE_LINUX, 1, [Linux])
   ;;
-  *freebsd*)
-    bsd=true
-    AC_DEFINE(HAVE_FREEBSD, 1, [FreeBSD])
-  ;;
-  *darwin*)
-    bsd=true
-    AC_DEFINE(HAVE_DARWIN, 1, [Darwin (MacOS/X)])
-  ;;
-  *solaris*)
-    solaris=true
-    AC_DEFINE(HAVE_SOLARIS, 1, [Solaris/SunOS])
-  ;;
-  *openbsd*)
-    bsd=true
-    AC_DEFINE(HAVE_OPENBSD, 1, [OpenBSD])
-  ;;
-  *netbsd*)
-    bsd=true
-    AC_DEFINE(HAVE_NETBSD, 1, [NetBSD])
-  ;;
-  *dragonfly*)
-    bsd=true
-    AC_DEFINE(HAVE_DRAGONFLY, 1, [DragonFly])
-  ;;
-  *bsd*)
-    bsd=true
-    AC_MSG_WARN("Unknown BSD variant, MeshLink might not compile or work!")
-    AC_DEFINE(HAVE_BSD, 1, [Unknown BSD variant])
-  ;;
-  *cygwin*)
-    cygwin=true
-    AC_DEFINE(HAVE_CYGWIN, 1, [Cygwin])
-  ;;
   *mingw*)
     mingw=true
     AC_DEFINE(HAVE_MINGW, 1, [MinGW])
     LIBS="$LIBS -lws2_32 -lgdi32 -lcrypt32"
   ;;
   *mingw*)
     mingw=true
     AC_DEFINE(HAVE_MINGW, 1, [MinGW])
     LIBS="$LIBS -lws2_32 -lgdi32 -lcrypt32"
   ;;
-  *)
-    AC_MSG_ERROR("Unknown operating system.")
-  ;;
 esac
 
 esac
 
-AC_ARG_WITH(windows2000,
-  AS_HELP_STRING([--with-windows2000], [compile with support for Windows 2000. This disables support for tunneling over existing IPv6 networks.]),
-  [ AS_IF([test "x$with_windows2000" = "xyes"],
-      [AC_DEFINE(WITH_WINDOWS2000, 1, [Compile with support for Windows 2000])])
-  ]
-)
-
 AM_CONDITIONAL(LINUX, test "$linux" = true)
 AM_CONDITIONAL(LINUX, test "$linux" = true)
-AM_CONDITIONAL(BSD, test "$bsd" = true)
-AM_CONDITIONAL(SOLARIS, test "$solaris" = true)
 AM_CONDITIONAL(MINGW, test "$mingw" = true)
 AM_CONDITIONAL(MINGW, test "$mingw" = true)
-AM_CONDITIONAL(CYGWIN, test "$cygwin" = true)
-AM_CONDITIONAL(UML, test "$uml" = true)
-AM_CONDITIONAL(VDE, test "$vde" = true)
-AM_CONDITIONAL(TUNEMU, test "$tunemu" = true)
 
 AC_CACHE_SAVE
 
 
 AC_CACHE_SAVE
 
@@ -123,39 +76,42 @@ AS_IF([test "x$enable_hardening" != "xno"],
   ]
 );
 
   ]
 );
 
+dnl UTCP debug flags
+AC_ARG_ENABLE([utcp_debug], AS_HELP_STRING([--enable-utcp-debug], [compile utcp with debug output]))
+AS_IF([test "x$enable_utcp_debug" = "xyes"],
+  [AX_CHECK_COMPILE_FLAG([-DUTCP_DEBUG], [CPPFLAGS="$CPPFLAGS -DUTCP_DEBUG"])
+  ]
+);
+
+dnl Install test binaries
+AC_ARG_ENABLE([install_tests],
+  [AS_HELP_STRING([--enable-install-tests], [include test binaries in installation])],
+  [AS_IF([test "x$enable_install_tests" = "xyes"], [install_tests=true], [install_tests=false])],
+  [install_tests=false]
+)
+
+AM_CONDITIONAL(INSTALL_TESTS, test "$install_tests" = true)
+
 dnl Checks for header files.
 dnl We do this in multiple stages, because unlike Linux all the other operating systems really suck and don't include their own dependencies.
 
 dnl Checks for header files.
 dnl We do this in multiple stages, because unlike Linux all the other operating systems really suck and don't include their own dependencies.
 
-AC_HEADER_STDC
-AC_CHECK_HEADERS([stdbool.h syslog.h sys/file.h sys/ioctl.h sys/mman.h sys/param.h sys/resource.h sys/socket.h sys/time.h sys/uio.h sys/un.h sys/wait.h netdb.h arpa/inet.h dirent.h])
-AC_CHECK_HEADERS([net/if.h net/if_types.h linux/if_tun.h net/if_tun.h net/tun/if_tun.h net/if_tap.h net/tap/if_tap.h net/ethernet.h net/if_arp.h netinet/in_systm.h netinet/in.h netinet/in6.h time.h netpacket/packet.h],
-  [], [], [#include "src/have.h"]
-)
-AC_CHECK_HEADERS([netinet/if_ether.h netinet/ip.h netinet/ip6.h],
-  [], [], [#include "src/have.h"]
-)
-AC_CHECK_HEADERS([netinet/tcp.h netinet/ip_icmp.h netinet/icmp6.h],
-  [], [], [#include "src/have.h"]
-)
+AC_CHECK_HEADERS([syslog.h sys/file.h sys/param.h sys/resource.h sys/socket.h sys/time.h sys/un.h sys/wait.h netdb.h arpa/inet.h dirent.h])
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 
 dnl Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_C_VOLATILE
-AC_TYPE_PID_T
-AC_TYPE_SIZE_T
-AC_HEADER_TIME
-AC_STRUCT_TM
-
 MeshLink_ATTRIBUTE(__malloc__)
 MeshLink_ATTRIBUTE(__warn_unused_result__)
 
 MeshLink_ATTRIBUTE(__malloc__)
 MeshLink_ATTRIBUTE(__warn_unused_result__)
 
-AC_CHECK_TYPES([socklen_t, struct ether_header, struct arphdr, struct ether_arp, struct in_addr, struct addrinfo, struct ip, struct icmp, struct in6_addr, struct sockaddr_in6, struct ip6_hdr, struct icmp6_hdr, struct nd_neighbor_solicit, struct nd_opt_hdr], , ,
+AC_CHECK_TYPES([socklen_t, struct addrinfo, struct sockaddr_in6], , ,
+  [#include "src/have.h"]
+)
+
+AC_CHECK_TYPES([struct sockaddr_storage], ,AC_MSG_ERROR([System must support struct sockaddr_storage.]),
   [#include "src/have.h"]
 )
 
 dnl Checks for library functions.
 AC_TYPE_SIGNAL
   [#include "src/have.h"]
 )
 
 dnl Checks for library functions.
 AC_TYPE_SIGNAL
-AC_CHECK_FUNCS([asprintf daemon fchmod flock ftime fork get_current_dir_name gettimeofday mlockall putenv random select strdup strerror strsignal strtol system time usleep unsetenv vsyslog writev],
+AC_CHECK_FUNCS([asprintf fchmod fork gettimeofday random select strdup usleep],
   [], [], [#include "src/have.h"]
 )
 
   [], [], [#include "src/have.h"]
 )
 
@@ -174,12 +130,6 @@ AC_CHECK_DECLS([freeaddrinfo, gai_strerror, getaddrinfo, getnameinfo],
 
 AC_CACHE_SAVE
 
 
 AC_CACHE_SAVE
 
-dnl These are defined in files in m4/
-
-MeshLink_ZLIB
-
-MeshLink_OPENSSL
-       
-AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile m4/Makefile test/Makefile])
+AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile m4/Makefile test/Makefile examples/Makefile])
 
 AC_OUTPUT
 
 AC_OUTPUT