mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-07-12 16:22:39 +02:00
net: Add libnatpmp support
This commit is contained in:
47
configure.ac
47
configure.ac
@ -143,6 +143,18 @@ AC_ARG_ENABLE([upnp-default],
|
||||
[use_upnp_default=$enableval],
|
||||
[use_upnp_default=no])
|
||||
|
||||
AC_ARG_WITH([natpmp],
|
||||
[AS_HELP_STRING([--with-natpmp],
|
||||
[enable NAT-PMP (default is yes if libnatpmp is found)])],
|
||||
[use_natpmp=$withval],
|
||||
[use_natpmp=auto])
|
||||
|
||||
AC_ARG_ENABLE([natpmp-default],
|
||||
[AS_HELP_STRING([--enable-natpmp-default],
|
||||
[if NAT-PMP is enabled, turn it on at startup (default is no)])],
|
||||
[use_natpmp_default=$enableval],
|
||||
[use_natpmp_default=no])
|
||||
|
||||
AC_ARG_ENABLE(tests,
|
||||
AS_HELP_STRING([--disable-tests],[do not compile tests (default is to compile)]),
|
||||
[use_tests=$enableval],
|
||||
@ -1203,6 +1215,7 @@ if test "x$enable_fuzz" = "xyes"; then
|
||||
enable_wallet=no
|
||||
use_bench=no
|
||||
use_upnp=no
|
||||
use_natpmp=no
|
||||
use_zmq=no
|
||||
|
||||
AX_CHECK_PREPROC_FLAG([-DABORT_ON_FAILED_ASSUME],[[DEBUG_CPPFLAGS="$DEBUG_CPPFLAGS -DABORT_ON_FAILED_ASSUME"]],,[[$CXXFLAG_WERROR]])
|
||||
@ -1300,6 +1313,13 @@ if test x$have_miniupnpc != xno; then
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl Check for libnatpmp (optional).
|
||||
if test "x$use_natpmp" != xno; then
|
||||
AC_CHECK_HEADERS([natpmp.h],
|
||||
[AC_CHECK_LIB([natpmp], [initnatpmp], [NATPMP_LIBS=-lnatpmp], [have_natpmp=no])],
|
||||
[have_natpmp=no])
|
||||
fi
|
||||
|
||||
if test x$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononononono; then
|
||||
use_boost=no
|
||||
else
|
||||
@ -1558,6 +1578,31 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl Enable NAT-PMP support.
|
||||
AC_MSG_CHECKING([whether to build with support for NAT-PMP])
|
||||
if test "x$have_natpmp" = xno; then
|
||||
if test "x$use_natpmp" = xyes; then
|
||||
AC_MSG_ERROR([NAT-PMP requested but cannot be built. Use --without-natpmp])
|
||||
fi
|
||||
AC_MSG_RESULT([no])
|
||||
use_natpmp=no
|
||||
else
|
||||
if test "x$use_natpmp" != xno; then
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_MSG_CHECKING([whether to build with NAT-PMP enabled by default])
|
||||
use_natpmp=yes
|
||||
natpmp_setting=0
|
||||
if test "x$use_natpmp_default" != xno; then
|
||||
use_natpmp_default=yes
|
||||
natpmp_setting=1
|
||||
fi
|
||||
AC_MSG_RESULT($use_natpmp_default)
|
||||
AC_DEFINE_UNQUOTED([USE_NATPMP], [$natpmp_setting], [NAT-PMP support not compiled if undefined, otherwise value (0 or 1) determines default state])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl these are only used when qt is enabled
|
||||
BUILD_TEST_QT=""
|
||||
if test x$bitcoin_enable_qt != xno; then
|
||||
@ -1704,6 +1749,7 @@ AC_SUBST(SQLITE_LIBS)
|
||||
AC_SUBST(TESTDEFS)
|
||||
AC_SUBST(MINIUPNPC_CPPFLAGS)
|
||||
AC_SUBST(MINIUPNPC_LIBS)
|
||||
AC_SUBST(NATPMP_LIBS)
|
||||
AC_SUBST(EVENT_LIBS)
|
||||
AC_SUBST(EVENT_PTHREADS_LIBS)
|
||||
AC_SUBST(ZMQ_LIBS)
|
||||
@ -1791,6 +1837,7 @@ else
|
||||
fi
|
||||
echo " with bench = $use_bench"
|
||||
echo " with upnp = $use_upnp"
|
||||
echo " with natpmp = $use_natpmp"
|
||||
echo " use asm = $use_asm"
|
||||
echo " sanitizers = $use_sanitizers"
|
||||
echo " debug enabled = $enable_debug"
|
||||
|
Reference in New Issue
Block a user