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.master
parent
d074f73aac
commit
1f14e25c19
|
@ -1768,22 +1768,11 @@ can do so by running Emacs with the @code{--no-site-file} option
|
||||||
|
|
||||||
@subsection The GCC toolchain
|
@subsection The GCC toolchain
|
||||||
|
|
||||||
@cindex GCC
|
@c XXX: The contents of this section were moved under
|
||||||
@cindex ld-wrapper
|
@c ``Development'', since it makes more sense there and is not specific
|
||||||
|
@c foreign distros. Remove it from here eventually?
|
||||||
Guix offers individual compiler packages such as @code{gcc} but if you
|
@xref{Packages for C Development}, for information on packages for C/C++
|
||||||
are in need of a complete toolchain for compiling and linking source
|
development.
|
||||||
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}.
|
|
||||||
|
|
||||||
@node Upgrading Guix
|
@node Upgrading Guix
|
||||||
@section Upgrading Guix
|
@section Upgrading Guix
|
||||||
|
@ -4681,6 +4670,7 @@ easily distributed to users who do not run Guix.
|
||||||
@menu
|
@menu
|
||||||
* Invoking guix environment:: Setting up development environments.
|
* Invoking guix environment:: Setting up development environments.
|
||||||
* Invoking guix pack:: Creating software bundles.
|
* Invoking guix pack:: Creating software bundles.
|
||||||
|
* Packages for C Development:: Working with C code with Guix.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Invoking guix environment
|
@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
|
(@pxref{Common Build Options}) and all the package transformation
|
||||||
options (@pxref{Package Transformation Options}).
|
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 *********************************************************************
|
@c *********************************************************************
|
||||||
@node Programming Interface
|
@node Programming Interface
|
||||||
|
|
Reference in New Issue