]> git.meshlink.io Git - meshlink/blobdiff - configure.ac
Automatically configure and compile catta.
[meshlink] / configure.ac
index 8b5babd54de8562ba7062b40e6b5c71ec55ede57..8c27a42dd4e241a051d217554b926312ae0ec68f 100644 (file)
@@ -2,11 +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_MACRO_DIR([m4])
 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
@@ -15,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
@@ -32,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
 
@@ -124,6 +76,13 @@ 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 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.
 
@@ -148,6 +107,10 @@ AC_CHECK_TYPES([socklen_t, struct addrinfo, struct sockaddr_in6], , ,
   [#include "src/have.h"]
 )
 
   [#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
 AC_CHECK_FUNCS([asprintf fchmod fork get_current_dir_name gettimeofday random select strdup strerror time usleep],
 dnl Checks for library functions.
 AC_TYPE_SIGNAL
 AC_CHECK_FUNCS([asprintf fchmod fork get_current_dir_name gettimeofday random select strdup strerror time usleep],
@@ -169,10 +132,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
-
-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