mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-08 10:31:50 -05:00
Merge bitcoin/bitcoin#26896: build: Remove port-forwarding runtime setting options from configure
d51f0fa4b7
doc: add release notes for 26896 (fanquake)2b248798d9
build: remove --enable-upnp-default from configure (fanquake)02f5a5e7b5
build: remove --enable-natpmp-default from configure (fanquake)25a0e8ba0b
Remove configure-time setting of DEFAULT_UPNP (fanquake)06562e5fa7
Remove configure-time setting of DEFAULT_NATPMP (fanquake) Pull request description: This PR removes the `--enable-upnp-default` and `--enable-natpmp-default` options from configure. It's odd to me that we maintain configure-time options for setting the default port-forwarding runtime state (but no other similar options), and I'm not sure what use-case it satisfies, that can't be achieved by multiple other means. I also doubt that we'll ever restart using these in release builds, or turning on any of this by default. I think the only scenario these options would be used is when you want to compile your own binaries (we don't use them in Guix), with port-forwarding on by default, but otherwise can't or don't want to use a `.conf` file, can't or don't want to pass command line options at runtime, and also don't want to modify the source code? ACKs for top commit: hebasto: ACKd51f0fa4b7
, rebased and comments have been addressed since my recent [review](https://github.com/bitcoin/bitcoin/pull/26896#pullrequestreview-1273910740). TheCharlatan: ACKd51f0fa4b7
Tree-SHA512: 481decd8bddd8b03b7319591e3acf189f7b6b96c9a9a8c5bc1a3f8ec00d0b8f9b52d2f5c28a298a2ec947cfe9611cfd184e393ccb2e4e21bfce86ca7d4de60d3
This commit is contained in:
commit
79e18ebc81
4 changed files with 13 additions and 48 deletions
30
configure.ac
30
configure.ac
|
@ -163,24 +163,12 @@ AC_ARG_WITH([miniupnpc],
|
|||
[use_upnp=$withval],
|
||||
[use_upnp=auto])
|
||||
|
||||
AC_ARG_ENABLE([upnp-default],
|
||||
[AS_HELP_STRING([--enable-upnp-default],
|
||||
[if UPNP is enabled, turn it on at startup (default is no)])],
|
||||
[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],
|
||||
|
@ -1765,15 +1753,8 @@ if test "$have_miniupnpc" = "no"; then
|
|||
else
|
||||
if test "$use_upnp" != "no"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_MSG_CHECKING([whether to build with UPnP enabled by default])
|
||||
use_upnp=yes
|
||||
upnp_setting=0
|
||||
if test "$use_upnp_default" != "no"; then
|
||||
use_upnp_default=yes
|
||||
upnp_setting=1
|
||||
fi
|
||||
AC_MSG_RESULT([$use_upnp_default])
|
||||
AC_DEFINE_UNQUOTED([USE_UPNP],[$upnp_setting],[UPnP support not compiled if undefined, otherwise value (0 or 1) determines default state])
|
||||
AC_DEFINE([USE_UPNP], [1], [Define to 1 if UPnP support should be compiled in.])
|
||||
if test "$TARGET_OS" = "windows"; then
|
||||
MINIUPNPC_CPPFLAGS="$MINIUPNPC_CPPFLAGS -DSTATICLIB -DMINIUPNP_STATICLIB"
|
||||
fi
|
||||
|
@ -1793,15 +1774,8 @@ if test "$have_natpmp" = "no"; then
|
|||
else
|
||||
if test "$use_natpmp" != "no"; 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 "$use_natpmp_default" != "no"; 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])
|
||||
AC_DEFINE([USE_NATPMP], [1], [Define to 1 if UPnP support should be compiled in.])
|
||||
if test "$TARGET_OS" = "windows"; then
|
||||
NATPMP_CPPFLAGS="$NATPMP_CPPFLAGS -DSTATICLIB -DNATPMP_STATICLIB"
|
||||
fi
|
||||
|
|
|
@ -72,7 +72,7 @@ executables, which are based on BerkeleyDB 4.8. If you do not care about wallet
|
|||
|
||||
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
|
||||
|
||||
Optional port mapping libraries (see: `--with-miniupnpc`, `--enable-upnp-default`, and `--with-natpmp`, `--enable-natpmp-default`):
|
||||
Optional port mapping libraries (see: `--with-miniupnpc` and `--with-natpmp`):
|
||||
|
||||
sudo apt install libminiupnpc-dev libnatpmp-dev
|
||||
|
||||
|
@ -133,7 +133,7 @@ pass `--with-incompatible-bdb` to configure. Otherwise, you can build Berkeley D
|
|||
|
||||
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
|
||||
|
||||
Optional port mapping libraries (see: `--with-miniupnpc`, `--enable-upnp-default`, and `--with-natpmp`, `--enable-natpmp-default`):
|
||||
Optional port mapping libraries (see: `--with-miniupnpc` and `--with-natpmp`):
|
||||
|
||||
sudo dnf install miniupnpc-devel libnatpmp-devel
|
||||
|
||||
|
@ -176,22 +176,14 @@ miniupnpc
|
|||
|
||||
[miniupnpc](https://miniupnp.tuxfamily.org) may be used for UPnP port mapping. It can be downloaded from [here](
|
||||
https://miniupnp.tuxfamily.org/files/). UPnP support is compiled in and
|
||||
turned off by default. See the configure options for UPnP behavior desired:
|
||||
|
||||
--without-miniupnpc No UPnP support, miniupnp not required
|
||||
--disable-upnp-default (the default) UPnP support turned off by default at runtime
|
||||
--enable-upnp-default UPnP support turned on by default at runtime
|
||||
turned off by default.
|
||||
|
||||
libnatpmp
|
||||
---------
|
||||
|
||||
[libnatpmp](https://miniupnp.tuxfamily.org/libnatpmp.html) may be used for NAT-PMP port mapping. It can be downloaded
|
||||
from [here](https://miniupnp.tuxfamily.org/files/). NAT-PMP support is compiled in and
|
||||
turned off by default. See the configure options for NAT-PMP behavior desired:
|
||||
|
||||
--without-natpmp No NAT-PMP support, libnatpmp not required
|
||||
--disable-natpmp-default (the default) NAT-PMP support turned off by default at runtime
|
||||
--enable-natpmp-default NAT-PMP support turned on by default at runtime
|
||||
turned off by default.
|
||||
|
||||
Berkeley DB
|
||||
-----------
|
||||
|
|
7
doc/release-notes-26896.md
Normal file
7
doc/release-notes-26896.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
Build System
|
||||
------------
|
||||
|
||||
The --enable-upnp-default and --enable-natpmp-default options
|
||||
have been removed. If you want to use port mapping, you can
|
||||
configure it using a .conf file, or by passing the relevant
|
||||
options at runtime.
|
|
@ -5,17 +5,9 @@
|
|||
#ifndef BITCOIN_MAPPORT_H
|
||||
#define BITCOIN_MAPPORT_H
|
||||
|
||||
#ifdef USE_UPNP
|
||||
static constexpr bool DEFAULT_UPNP = USE_UPNP;
|
||||
#else
|
||||
static constexpr bool DEFAULT_UPNP = false;
|
||||
#endif // USE_UPNP
|
||||
|
||||
#ifdef USE_NATPMP
|
||||
static constexpr bool DEFAULT_NATPMP = USE_NATPMP;
|
||||
#else
|
||||
static constexpr bool DEFAULT_NATPMP = false;
|
||||
#endif // USE_NATPMP
|
||||
|
||||
enum MapPortProtoFlag : unsigned int {
|
||||
NONE = 0x00,
|
||||
|
|
Loading…
Add table
Reference in a new issue