Skip to content

Commit 0181d2b

Browse files
fanquakePastaPastaPasta
authored andcommitted
(partial) Merge bitcoin#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#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
1 parent 51c69d1 commit 0181d2b

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
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-
**Dash Core's configure script by default will ignore the depends output.** In
15+
**Dash 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 Dash:
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
@@ -138,4 +141,3 @@ This is an example command for a default build with no disabled dependencies:
138141

139142
- [description.md](description.md): General description of the depends system
140143
- [packages.md](packages.md): Steps for adding packages
141-

doc/build-unix.md

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

337338

0 commit comments

Comments
 (0)