mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
(partial) Merge #17934: doc: Use CONFIG_SITE variable instead of --prefix option
223b1ba7d90509a47ea07af46f4b9c3b8efbc9f8 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](https://github.com/bitcoin/bitcoin/pull/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 223b1ba7d90509a47ea07af46f4b9c3b8efbc9f8: patch looks correct fanquake: ACK 223b1ba7d90509a47ea07af46f4b9c3b8efbc9f8 Tree-SHA512: 46d97924f0fc7e95ee4566737cf7c2ae805ca500e5c49af9aa99ecc3acede4b00329bc727a110aa1b62618dfbf5d1ca2234e736f16fbdf96d6ece5f821712f54
This commit is contained in:
parent
51c69d1d0a
commit
0181d2bb15
@ -12,15 +12,18 @@ For example:
|
||||
|
||||
make HOST=x86_64-w64-mingw32 -j4
|
||||
|
||||
**Dash Core's configure script by default will ignore the depends output.** In
|
||||
**Dash Core's `configure` script by default will ignore the depends output.** In
|
||||
order for it to pick up libraries, tools, and settings from the depends build,
|
||||
you must point it at the appropriate `--prefix` directory generated by the
|
||||
build. In the above example, a prefix dir named x86_64-w64-mingw32 will be
|
||||
created. To use it for Dash:
|
||||
you must set the `CONFIG_SITE` environment variable to point to a `config.site` settings file.
|
||||
In the above example, a file named `depends/x86_64-w64-mingw32/share/config.site` will be
|
||||
created. To use it during compilation:
|
||||
|
||||
./configure --prefix=$PWD/depends/x86_64-w64-mingw32
|
||||
CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure
|
||||
|
||||
Common `host-platform-triplets` for cross compilation are:
|
||||
The default install prefix when using `config.site` is `--prefix=depends/<host-platform-triplet>`,
|
||||
so depends build outputs will be installed in that location.
|
||||
|
||||
Common `host-platform-triplet`s for cross compilation are:
|
||||
|
||||
- `i686-pc-linux-gnu` for Linux 32 bit
|
||||
- `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:
|
||||
|
||||
- [description.md](description.md): General description of the depends system
|
||||
- [packages.md](packages.md): Steps for adding packages
|
||||
|
||||
|
@ -331,7 +331,8 @@ To build executables for ARM:
|
||||
cd depends
|
||||
make HOST=arm-linux-gnueabihf NO_QT=1
|
||||
cd ..
|
||||
./configure --prefix=$PWD/depends/arm-linux-gnueabihf --enable-reduce-exports LDFLAGS=-static-libstdc++
|
||||
./autogen.sh
|
||||
CONFIG_SITE=$PWD/depends/arm-linux-gnueabihf/share/config.site ./configure --enable-reduce-exports LDFLAGS=-static-libstdc++
|
||||
make
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user