diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-05-04 10:50:18 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-05-04 10:50:18 +0200 |
commit | 1f14e25c1969a93908288cb302a572f3cbbaa478 (patch) | |
tree | a4b0e6d732aff656482ac69f5b674ffea3181674 /doc/guix.texi | |
parent | d074f73aacc5a39aed0202d6e45721f53f34a8c0 (diff) | |
download | guix-1f14e25c1969a93908288cb302a572f3cbbaa478.tar.gz |
doc: Add "Packages for C Development" section.
Suggested by Bruno Haible <bruno@clisp.org> in <https://bugs.gnu.org/41038>. * doc/guix.texi (Packages for C Development): New node. (Application Setup)[The GCC toolchain]: Empty and refer to it.
Diffstat (limited to 'doc/guix.texi')
-rw-r--r-- | doc/guix.texi | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index d5d8662937..64e3c01a50 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1768,22 +1768,11 @@ can do so by running Emacs with the @code{--no-site-file} option @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. - -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. You can instruct the -wrapper to refuse to link against libraries not in the store by setting the -@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES} environment variable to @code{no}. +@c XXX: The contents of this section were moved under +@c ``Development'', since it makes more sense there and is not specific +@c foreign distros. Remove it from here eventually? +@xref{Packages for C Development}, for information on packages for C/C++ +development. @node Upgrading Guix @section Upgrading Guix @@ -4681,6 +4670,7 @@ easily distributed to users who do not run Guix. @menu * Invoking guix environment:: Setting up development environments. * Invoking guix pack:: Creating software bundles. +* Packages for C Development:: Working with C code with Guix. @end menu @node Invoking guix environment @@ -5344,6 +5334,27 @@ In addition, @command{guix pack} supports all the common build options (@pxref{Common Build Options}) and all the package transformation options (@pxref{Package Transformation Options}). +@node Packages for C Development +@section Packages for C Development + +@cindex GCC +@cindex ld-wrapper +@cindex linker wrapper +@cindex toolchain, for C development + +If you need a complete toolchain for compiling and linking C or C++ +source code, use 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. + +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. You can instruct the +wrapper to refuse to link against libraries not in the store by setting the +@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES} environment variable to @code{no}. + + @c ********************************************************************* @node Programming Interface |