From 2bb567c6a31e333ebdd16d6d076ba9976e6ed4fb Mon Sep 17 00:00:00 2001 From: Etienne Dechamps Date: Sat, 14 Nov 2015 14:47:42 +0000 Subject: [PATCH] Add a new optional dependency on the miniupnpc library. The miniupnpc library is a lightweight UPnP-IGD client. http://miniupnp.free.fr/ Contrary to other libraries, this dependency is disabled by default. This is because the library is somewhat obscure and is only tangentially useful, so enabling it by default would probably annoy most users. --- configure.ac | 3 +++ m4/miniupnpc.m4 | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 m4/miniupnpc.m4 diff --git a/configure.ac b/configure.ac index a57957ed..4fe415e9 100644 --- a/configure.ac +++ b/configure.ac @@ -247,6 +247,9 @@ AS_IF([test "x$enable_legacy_protocol" != "xno"], AM_CONDITIONAL(OPENSSL, test -n "$openssl") AM_CONDITIONAL(GCRYPT, test -n "$gcrypt") +tinc_MINIUPNPC +AM_CONDITIONAL(MINIUPNPC, test "x$enable_miniupnpc" = "xyes") + dnl Check if support for jumbograms is requested AC_ARG_ENABLE(jumbograms, AS_HELP_STRING([--enable-jumbograms], [enable support for jumbograms (packets up to 9000 bytes)]), diff --git a/m4/miniupnpc.m4 b/m4/miniupnpc.m4 new file mode 100644 index 00000000..c2aca29b --- /dev/null +++ b/m4/miniupnpc.m4 @@ -0,0 +1,40 @@ +dnl Check to find the miniupnpc headers/libraries + +AC_DEFUN([tinc_MINIUPNPC], +[ + AC_ARG_ENABLE([miniupnpc], + AS_HELP_STRING([--enable-miniupnpc], [enable miniupnpc support])) + AS_IF([test "x$enable_miniupnpc" = "xyes"], [ + AC_DEFINE(HAVE_MINIUPNPC, 1, [have miniupnpc support]) + AC_ARG_WITH(miniupnpc, + AS_HELP_STRING([--with-miniupnpc=DIR], [miniupnpc base directory, or:]), + [miniupnpc="$withval" + CPPFLAGS="$CPPFLAGS -I$withval/include" + LDFLAGS="$LDFLAGS -L$withval/lib"] + ) + + AC_ARG_WITH(miniupnpc-include, + AS_HELP_STRING([--with-miniupnpc-include=DIR], [miniupnpc headers directory]), + [miniupnpc_include="$withval" + CPPFLAGS="$CPPFLAGS -I$withval"] + ) + + AC_ARG_WITH(miniupnpc-lib, + AS_HELP_STRING([--with-miniupnpc-lib=DIR], [miniupnpc library directory]), + [miniupnpc_lib="$withval" + LDFLAGS="$LDFLAGS -L$withval"] + ) + + AC_CHECK_HEADERS(miniupnpc/miniupnpc.h, + [], + [AC_MSG_ERROR("miniupnpc header files not found."); break] + ) + + AC_CHECK_LIB(miniupnpc, upnpDiscover, + [MINIUPNPC_LIBS="$LIBS -lminiupnpc"], + [AC_MSG_ERROR("miniupnpc libraries not found.")] + ) + ]) + + AC_SUBST(MINIUPNPC_LIBS) +])