Skip to content

Commit 3aa4935

Browse files
committed
Merge #17934: doc: Use CONFIG_SITE variable instead of --prefix option
223b1ba doc: Use CONFIG_SITE instead of --prefix (Hennadii Stepanov) Pull request description: The current examples of `--prefix=...` option usage to point `configure` script to appropriate `depends` directory is not [standard](https://www.gnu.org/prep/standards/html_node/Directory-Variables.html). This causes some [confusion](bitcoin/bitcoin#16691) and a bit of inconvenience. Consider a CentOS 7 32 bit system. Packages `libdb4-devel`, `libdb4-cxx-devel`, `miniupnpc-devel` and `zeromq-devel` are unavailable from repos. After recommended build with depends: ``` cd depends make cd .. ./autogen.sh ./configure --prefix=$PWD/depends/i686-pc-linux-gnu make ``` a user is unable to `make install` compiled binaries neither locally (to `~/.local`) nor system-wide (to `/usr/local`) as `--prefix` is set already. Meanwhile, the standard approach with using [`config.site`](https://www.gnu.org/software/automake/manual/html_node/config_002esite.html) files allows both possibilities: ``` cd depends make cd .. ./autogen.sh CONFIG_SITE=$PWD/depends/i686-pc-linux-gnu/share/config.site ./configure --prefix ~/.local make make install ``` or ``` CONFIG_SITE=$PWD/depends/i686-pc-linux-gnu/share/config.site ./configure make sudo make install # install to /usr/local ``` Moreover, this approach is used in [Gitian descriptors](https://github.com/bitcoin/bitcoin/tree/master/contrib/gitian-descriptors) already. ACKs for top commit: practicalswift: ACK 223b1ba: patch looks correct fanquake: ACK 223b1ba Tree-SHA512: 46d97924f0fc7e95ee4566737cf7c2ae805ca500e5c49af9aa99ecc3acede4b00329bc727a110aa1b62618dfbf5d1ca2234e736f16fbdf96d6ece5f821712f54
2 parents c1f480f + 223b1ba commit 3aa4935

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

depends/README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,18 @@ For example:
1212

1313
make HOST=x86_64-w64-mingw32 -j4
1414

15-
**Bitcoin Core's configure script by default will ignore the depends output.** In
15+
**Bitcoin Core's `configure` script by default will ignore the depends output.** In
1616
order for it to pick up libraries, tools, and settings from the depends build,
17-
you must point it at the appropriate `--prefix` directory generated by the
18-
build. In the above example, a prefix dir named x86_64-w64-mingw32 will be
19-
created. To use it for Bitcoin:
17+
you must set the `CONFIG_SITE` environment variable to point to a `config.site` settings file.
18+
In the above example, a file named `depends/x86_64-w64-mingw32/share/config.site` will be
19+
created. To use it during compilation:
2020

21-
./configure --prefix=$PWD/depends/x86_64-w64-mingw32
21+
CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure
2222

23-
Common `host-platform-triplets` for cross compilation are:
23+
The default install prefix when using `config.site` is `--prefix=depends/<host-platform-triplet>`,
24+
so depends build outputs will be installed in that location.
25+
26+
Common `host-platform-triplet`s for cross compilation are:
2427

2528
- `i686-pc-linux-gnu` for Linux 32 bit
2629
- `x86_64-pc-linux-gnu` for x86 Linux
@@ -133,4 +136,3 @@ This is an example command for a default build with no disabled dependencies:
133136

134137
- [description.md](description.md): General description of the depends system
135138
- [packages.md](packages.md): Steps for adding packages
136-

doc/build-unix.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ To build executables for ARM:
331331
make HOST=arm-linux-gnueabihf NO_QT=1
332332
cd ..
333333
./autogen.sh
334-
./configure --prefix=$PWD/depends/arm-linux-gnueabihf --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++
334+
CONFIG_SITE=$PWD/depends/arm-linux-gnueabihf/share/config.site ./configure --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++
335335
make
336336

337337

doc/multiprocess.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The multiprocess feature requires [Cap'n Proto](https://capnproto.org/) and [lib
2424
```
2525
cd <BITCOIN_SOURCE_DIRECTORY>
2626
make -C depends NO_QT=1 MULTIPROCESS=1
27-
./configure --prefix=$PWD/depends/x86_64-pc-linux-gnu
27+
CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure
2828
make
2929
src/bitcoin-node -regtest -printtoconsole -debug=ipc
3030
BITCOIND=bitcoin-node test/functional/test_runner.py

0 commit comments

Comments
 (0)