diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2017-06-16 09:55:00 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2017-06-16 18:23:31 +0200 |
commit | 2f0c4b82843ab41793b675267ede13c169399f86 (patch) | |
tree | 9af6fac9a8f7ef19b5a2a96a5945f13db51993b3 /doc | |
parent | 8231c539382bfb734afb186130a0f9e2dde0822c (diff) | |
download | guix-2f0c4b82843ab41793b675267ede13c169399f86.tar.gz guix-2f0c4b82843ab41793b675267ede13c169399f86.zip |
doc: Explain how to use the GCC toolchain.
* doc/guix.texi (Application Setup): Add subsection "The GCC toolchain".
Diffstat (limited to 'doc')
-rw-r--r-- | doc/guix.texi | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 97fa1b7864..cb5821e698 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1441,6 +1441,30 @@ some reason, you want to avoid auto-loading Emacs packages installed with Guix, you can do so by running Emacs with @code{--no-site-file} option (@pxref{Init File,,, emacs, The GNU Emacs Manual}). +@subsection The GCC toolchain + +@cindex GCC +@cindex ld-wrapper + +Guix offers individual compiler packages such as @code{gcc} but if you +are in need of a complete toolchain for compiling and linking source +code what you really want is the @code{gcc-toolchain} package. This +package provides a complete GCC toolchain for C/C++ development, +including GCC itself, the GNU C Library (headers and binaries, plus +debugging symbols in the @code{debug} output), Binutils, and a linker +wrapper. + +@cindex attempt to use impure library, error message + +The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches +passed to the linker, add corresponding @code{-rpath} arguments, and +invoke the actual linker with this new set of arguments. By default, +the linker wrapper refuses to link to libraries outside the store to +ensure ``purity''. This can be annoying when using the toolchain to +link with local libraries. To allow references to libraries outside the +store you need to define the environment variable +@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES}. + @c TODO What else? @c ********************************************************************* |