Merge #15584: build: disable BIP70 support by default
e09913f1c4
doc: specify protobuf as optional in build docs (fanquake)376f4929f8
build: disable BIP70 support by default (fanquake) Pull request description: Disable BIP70 support in the GUI by default for `0.19.0` (for eventual removal in `0.20.0`?). Users who want to compile with BIP70 support enabled can pass `--enable-bip70` to `./configure`. I've inverted the current `--disable-bip70` test to instead pass `--enable-bip70`. Tested configurations on `macOS` (`protobuf` installed with `brew`). Protobuf available and `./configure`: ``` Options used to compile and link: with wallet = yes with gui / qt = yes with bip70 = no ``` Protobuf available and `./configure --enable-bip70`: ``` Options used to compile and link: with wallet = yes with gui / qt = yes with bip70 = yes ``` Protobuf not available (i.e `brew unlink protobuf`) and `./configure`: ``` Options used to compile and link: with wallet = yes with gui / qt = yes with bip70 = no ``` Protobuf not available and `./configure --enable-bip70`: ``` checking whether to build test_bitcoin-qt... yes checking whether to build BIP70 support... configure: error: protobuf missing ``` TODO: - [x] Remove `protobuf` from other Travis builds - [ ] Documentation updates (mention that `protobuf` is now optional)? - [ ] Could split release notes into GUI and build ACKs for top commit: laanwj: ACKe09913f1c4
elichai: ACKe09913f1c4
Read the autotools changes. awesome that this removes the protobuf requirement. practicalswift: ACKe09913f1c4
-- diff looks correct Tree-SHA512: 7bf87ae8555e24db2da2e89cc4d4e90d09be27499ad386ad65879d05df8f96d9a1384379891ac8963d17728c90e55961560813df97e849e631e2de8c08e210c8
This commit is contained in:
commit
102998ea03
10 changed files with 24 additions and 12 deletions
|
@ -99,7 +99,7 @@ jobs:
|
||||||
FILE_ENV="./ci/test/00_setup_env_win64.sh"
|
FILE_ENV="./ci/test/00_setup_env_win64.sh"
|
||||||
|
|
||||||
- stage: test
|
- stage: test
|
||||||
name: '32-bit + dash [GOAL: install] [GUI: no BIP70]'
|
name: '32-bit + dash [GOAL: install] [GUI: BIP70 enabled]'
|
||||||
env: >-
|
env: >-
|
||||||
FILE_ENV="./ci/test/00_setup_env_i686.sh"
|
FILE_ENV="./ci/test/00_setup_env_i686.sh"
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
export LC_ALL=C.UTF-8
|
export LC_ALL=C.UTF-8
|
||||||
|
|
||||||
export HOST=x86_64-unknown-linux-gnu
|
export HOST=x86_64-unknown-linux-gnu
|
||||||
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
|
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev"
|
||||||
export NO_DEPENDS=1
|
export NO_DEPENDS=1
|
||||||
export GOAL="install"
|
export GOAL="install"
|
||||||
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=address,integer,undefined CC=clang CXX=clang++"
|
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=address,integer,undefined CC=clang CXX=clang++"
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
export LC_ALL=C.UTF-8
|
export LC_ALL=C.UTF-8
|
||||||
|
|
||||||
export HOST=x86_64-unknown-linux-gnu
|
export HOST=x86_64-unknown-linux-gnu
|
||||||
export PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev libprotobuf-dev"
|
export PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libdbus-1-dev libharfbuzz-dev"
|
||||||
export DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1"
|
export DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1"
|
||||||
export TEST_RUNNER_EXTRA="--coverage --extended --exclude feature_dbcrash" # Run extended tests so that coverage does not fail, but exclude the very slow dbcrash
|
export TEST_RUNNER_EXTRA="--coverage --extended --exclude feature_dbcrash" # Run extended tests so that coverage does not fail, but exclude the very slow dbcrash
|
||||||
export GOAL="install"
|
export GOAL="install"
|
||||||
|
|
|
@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8
|
||||||
|
|
||||||
export HOST=x86_64-unknown-linux-gnu
|
export HOST=x86_64-unknown-linux-gnu
|
||||||
export DOCKER_NAME_TAG=ubuntu:14.04
|
export DOCKER_NAME_TAG=ubuntu:14.04
|
||||||
export PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libicu-dev libpng-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
|
export PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libicu-dev libpng-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libzmq3-dev libqrencode-dev"
|
||||||
export NO_DEPENDS=1
|
export NO_DEPENDS=1
|
||||||
export RUN_FUNCTIONAL_TESTS=false
|
export RUN_FUNCTIONAL_TESTS=false
|
||||||
export GOAL="install"
|
export GOAL="install"
|
||||||
|
|
|
@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8
|
||||||
|
|
||||||
export HOST=x86_64-unknown-linux-gnu
|
export HOST=x86_64-unknown-linux-gnu
|
||||||
export DOCKER_NAME_TAG=ubuntu:16.04
|
export DOCKER_NAME_TAG=ubuntu:16.04
|
||||||
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
|
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev"
|
||||||
export NO_DEPENDS=1
|
export NO_DEPENDS=1
|
||||||
export GOAL="install"
|
export GOAL="install"
|
||||||
export BITCOIN_CONFIG="--enable-zmq --disable-wallet --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=thread --disable-hardening --disable-asm CC=clang CXX=clang++"
|
export BITCOIN_CONFIG="--enable-zmq --disable-wallet --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=thread --disable-hardening --disable-asm CC=clang CXX=clang++"
|
||||||
|
|
|
@ -9,5 +9,5 @@ export LC_ALL=C.UTF-8
|
||||||
export HOST=i686-pc-linux-gnu
|
export HOST=i686-pc-linux-gnu
|
||||||
export PACKAGES="g++-multilib python3-zmq"
|
export PACKAGES="g++-multilib python3-zmq"
|
||||||
export GOAL="install"
|
export GOAL="install"
|
||||||
export BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --disable-bip70 --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++"
|
export BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-bip70 --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++"
|
||||||
export CONFIG_SHELL="/bin/dash"
|
export CONFIG_SHELL="/bin/dash"
|
||||||
|
|
|
@ -223,10 +223,10 @@ AC_ARG_ENABLE([zmq],
|
||||||
[use_zmq=$enableval],
|
[use_zmq=$enableval],
|
||||||
[use_zmq=yes])
|
[use_zmq=yes])
|
||||||
AC_ARG_ENABLE([bip70],
|
AC_ARG_ENABLE([bip70],
|
||||||
[AS_HELP_STRING([--disable-bip70],
|
[AS_HELP_STRING([--enable-bip70],
|
||||||
[disable BIP70 (payment protocol) support in GUI (enabled by default)])],
|
[enable BIP70 (payment protocol) support in the GUI (default is to disable)])],
|
||||||
[enable_bip70=$enableval],
|
[enable_bip70=$enableval],
|
||||||
[enable_bip70=auto])
|
[enable_bip70=no])
|
||||||
|
|
||||||
AC_ARG_WITH([protoc-bindir],[AS_HELP_STRING([--with-protoc-bindir=BIN_DIR],[specify protoc bin path])], [protoc_bin_path=$withval], [])
|
AC_ARG_WITH([protoc-bindir],[AS_HELP_STRING([--with-protoc-bindir=BIN_DIR],[specify protoc bin path])], [protoc_bin_path=$withval], [])
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ Then install [Homebrew](https://brew.sh).
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
```shell
|
```shell
|
||||||
brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf python qt libevent qrencode
|
brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config python qt libevent qrencode
|
||||||
```
|
```
|
||||||
|
|
||||||
See [dependencies.md](dependencies.md) for a complete overview.
|
See [dependencies.md](dependencies.md) for a complete overview.
|
||||||
|
|
|
@ -112,12 +112,16 @@ To build without GUI pass `--without-gui`.
|
||||||
|
|
||||||
To build with Qt 5 you need the following:
|
To build with Qt 5 you need the following:
|
||||||
|
|
||||||
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
|
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools
|
||||||
|
|
||||||
libqrencode (optional) can be installed with:
|
libqrencode (optional) can be installed with:
|
||||||
|
|
||||||
sudo apt-get install libqrencode-dev
|
sudo apt-get install libqrencode-dev
|
||||||
|
|
||||||
|
protobuf (optional) can be installed with:
|
||||||
|
|
||||||
|
sudo apt-get install libprotobuf-dev protobuf-compiler
|
||||||
|
|
||||||
Once these are installed, they will be found by configure and a bitcoin-qt executable will be
|
Once these are installed, they will be found by configure and a bitcoin-qt executable will be
|
||||||
built by default.
|
built by default.
|
||||||
|
|
||||||
|
@ -140,12 +144,16 @@ ZMQ dependencies (provides ZMQ API):
|
||||||
|
|
||||||
To build with Qt 5 you need the following:
|
To build with Qt 5 you need the following:
|
||||||
|
|
||||||
sudo dnf install qt5-qttools-devel qt5-qtbase-devel protobuf-devel
|
sudo dnf install qt5-qttools-devel qt5-qtbase-devel
|
||||||
|
|
||||||
libqrencode (optional) can be installed with:
|
libqrencode (optional) can be installed with:
|
||||||
|
|
||||||
sudo dnf install qrencode-devel
|
sudo dnf install qrencode-devel
|
||||||
|
|
||||||
|
protobuf (optional) can be installed with:
|
||||||
|
|
||||||
|
sudo dnf install protobuf-devel
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
-----
|
-----
|
||||||
The release is built with GCC and then "strip bitcoind" to strip the debug
|
The release is built with GCC and then "strip bitcoind" to strip the debug
|
||||||
|
|
4
doc/release-notes-15584.md
Normal file
4
doc/release-notes-15584.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
GUI Changes
|
||||||
|
-----------
|
||||||
|
- In 0.18.0 a `./configure` flag was introduced to allow disabling BIP70 support in the GUI (support was enabled by default). In 0.19.0 this flag is now __disabled__ by default.
|
||||||
|
- If you want compile Bitcoin Core with BIP70 support in the GUI, you can pass `--enable-bip70` to `./configure`.
|
Loading…
Add table
Reference in a new issue