mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-09 10:43:19 -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=$withval],
|
||||||
[use_upnp=auto])
|
[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],
|
AC_ARG_WITH([natpmp],
|
||||||
[AS_HELP_STRING([--with-natpmp],
|
[AS_HELP_STRING([--with-natpmp],
|
||||||
[enable NAT-PMP (default is yes if libnatpmp is found)])],
|
[enable NAT-PMP (default is yes if libnatpmp is found)])],
|
||||||
[use_natpmp=$withval],
|
[use_natpmp=$withval],
|
||||||
[use_natpmp=auto])
|
[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,
|
AC_ARG_ENABLE(tests,
|
||||||
AS_HELP_STRING([--disable-tests],[do not compile tests (default is to compile)]),
|
AS_HELP_STRING([--disable-tests],[do not compile tests (default is to compile)]),
|
||||||
[use_tests=$enableval],
|
[use_tests=$enableval],
|
||||||
|
@ -1765,15 +1753,8 @@ if test "$have_miniupnpc" = "no"; then
|
||||||
else
|
else
|
||||||
if test "$use_upnp" != "no"; then
|
if test "$use_upnp" != "no"; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_MSG_CHECKING([whether to build with UPnP enabled by default])
|
|
||||||
use_upnp=yes
|
use_upnp=yes
|
||||||
upnp_setting=0
|
AC_DEFINE([USE_UPNP], [1], [Define to 1 if UPnP support should be compiled in.])
|
||||||
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])
|
|
||||||
if test "$TARGET_OS" = "windows"; then
|
if test "$TARGET_OS" = "windows"; then
|
||||||
MINIUPNPC_CPPFLAGS="$MINIUPNPC_CPPFLAGS -DSTATICLIB -DMINIUPNP_STATICLIB"
|
MINIUPNPC_CPPFLAGS="$MINIUPNPC_CPPFLAGS -DSTATICLIB -DMINIUPNP_STATICLIB"
|
||||||
fi
|
fi
|
||||||
|
@ -1793,15 +1774,8 @@ if test "$have_natpmp" = "no"; then
|
||||||
else
|
else
|
||||||
if test "$use_natpmp" != "no"; then
|
if test "$use_natpmp" != "no"; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_MSG_CHECKING([whether to build with NAT-PMP enabled by default])
|
|
||||||
use_natpmp=yes
|
use_natpmp=yes
|
||||||
natpmp_setting=0
|
AC_DEFINE([USE_NATPMP], [1], [Define to 1 if UPnP support should be compiled in.])
|
||||||
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])
|
|
||||||
if test "$TARGET_OS" = "windows"; then
|
if test "$TARGET_OS" = "windows"; then
|
||||||
NATPMP_CPPFLAGS="$NATPMP_CPPFLAGS -DSTATICLIB -DNATPMP_STATICLIB"
|
NATPMP_CPPFLAGS="$NATPMP_CPPFLAGS -DSTATICLIB -DNATPMP_STATICLIB"
|
||||||
fi
|
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)
|
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
|
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)
|
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
|
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](
|
[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
|
https://miniupnp.tuxfamily.org/files/). UPnP support is compiled in and
|
||||||
turned off by default. See the configure options for UPnP behavior desired:
|
turned off by default.
|
||||||
|
|
||||||
--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
|
|
||||||
|
|
||||||
libnatpmp
|
libnatpmp
|
||||||
---------
|
---------
|
||||||
|
|
||||||
[libnatpmp](https://miniupnp.tuxfamily.org/libnatpmp.html) may be used for NAT-PMP port mapping. It can be downloaded
|
[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
|
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:
|
turned off by default.
|
||||||
|
|
||||||
--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
|
|
||||||
|
|
||||||
Berkeley DB
|
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
|
#ifndef BITCOIN_MAPPORT_H
|
||||||
#define BITCOIN_MAPPORT_H
|
#define BITCOIN_MAPPORT_H
|
||||||
|
|
||||||
#ifdef USE_UPNP
|
|
||||||
static constexpr bool DEFAULT_UPNP = USE_UPNP;
|
|
||||||
#else
|
|
||||||
static constexpr bool DEFAULT_UPNP = false;
|
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;
|
static constexpr bool DEFAULT_NATPMP = false;
|
||||||
#endif // USE_NATPMP
|
|
||||||
|
|
||||||
enum MapPortProtoFlag : unsigned int {
|
enum MapPortProtoFlag : unsigned int {
|
||||||
NONE = 0x00,
|
NONE = 0x00,
|
||||||
|
|
Loading…
Add table
Reference in a new issue