1
# DP: Document multiarch changes
3
--- a/src/gcc/doc/install.texi (Revision 193696)
4
+++ b/src/gcc/doc/install.texi (Arbeitskopie)
6
workable alternative. This requires gas and gdb, as the normal SVR4
7
tools can not generate or interpret stabs.
9
+@item --enable-multiarch
10
+Specify whether to enable or disable multiarch support. The default is
11
+to check for glibc start files in a multiarch location, and enable it
12
+if the files are found. The auto detection is enabled for native builds,
13
+and for cross builds configured with @option{--with-sysroot}.
14
+More documentation about multiarch can be found at
15
+@uref{http://wiki.debian.org/Multiarch}.
17
@item --disable-multilib
18
Specify that multiple target
19
libraries to support different target variants, calling
20
--- a/src/gcc/doc/fragments.texi (Revision 193696)
21
+++ b/src/gcc/doc/fragments.texi (Arbeitskopie)
23
default value will be @code{MULTILIB_OPTIONS}, with all slashes treated
26
+@code{MULTILIB_DIRNAMES} describes the multilib directories using GCC
27
+conventions and is applied to directories that are part of the GCC
28
+installation. When multilib-enabled, the compiler will add a
29
+subdirectory of the form @var{prefix}/@var{multilib} before each
30
+directory in the search path for libraries and crt files.
32
For example, if @code{MULTILIB_OPTIONS} is set to @samp{m68000/m68020
33
msoft-float}, then the default value of @code{MULTILIB_DIRNAMES} is
34
@samp{m68000 m68020 msoft-float}. You may specify a different value if
36
you must set this to the directory containing the headers. This value
37
should match the value of the @code{SYSTEM_INCLUDE_DIR} macro.
39
+@findex MULTILIB_OSDIRNAMES
40
+@item MULTILIB_OSDIRNAMES
41
+If @code{MULTILIB_OPTIONS} is used, this variable specifies
42
+a list of subdirectory names, that are used to modify the search
43
+path depending on the chosen multilib. Unlike @code{MULTILIB_DIRNAMES},
44
+@code{MULTILIB_OSDIRNAMES} describes the multilib directories using
45
+operating systems conventions, and is applied to the directories such as
46
+@code{lib} or those in the @env{LIBRARY_PATH} environment variable.
47
+The format is either the same as of
48
+@code{MULTILIB_DIRNAMES}, or a set of mappings. When it is the same
49
+as @code{MULTILIB_DIRNAMES}, it describes the multilib directories
50
+using operating system conventions, rather than GCC conventions. When it is a set
51
+of mappings of the form @var{gccdir}=@var{osdir}, the left side gives
52
+the GCC convention and the right gives the equivalent OS defined
53
+location. If the @var{osdir} part begins with a @samp{!},
54
+GCC will not search in the non-multilib directory and use
55
+exclusively the multilib directory. Otherwise, the compiler will
56
+examine the search path for libraries and crt files twice; the first
57
+time it will add @var{multilib} to each directory in the search path,
58
+the second it will not.
60
+For configurations that support both multilib and multiarch,
61
+@code{MULTILIB_OSDIRNAMES} also encodes the multiarch name, thus
62
+subsuming @code{MULTIARCH_DIRNAME}. The multiarch name is appended to
63
+each directory name, separated by a colon (e.g.
64
+@samp{../lib32:i386-linux-gnu}).
66
+Each multiarch subdirectory will be searched before the corresponding OS
67
+multilib directory, for example @samp{/lib/i386-linux-gnu} before
68
+@samp{/lib/../lib32}. The multiarch name will also be used to modify the
69
+system header search path, as explained for @code{MULTIARCH_DIRNAME}.
71
+@findex MULTIARCH_DIRNAME
72
+@item MULTIARCH_DIRNAME
73
+This variable specifies the multiarch name for configurations that are
74
+multiarch-enabled but not multilibbed configurations.
76
+The multiarch name is used to augment the search path for libraries, crt
77
+files and system header files with additional locations. The compiler
78
+will add a multiarch subdirectory of the form
79
+@var{prefix}/@var{multiarch} before each directory in the library and
80
+crt search path. It will also add two directories
81
+@code{LOCAL_INCLUDE_DIR}/@var{multiarch} and
82
+@code{NATIVE_SYSTEM_HEADER_DIR}/@var{multiarch}) to the system header
83
+search path, respectively before @code{LOCAL_INCLUDE_DIR} and
84
+@code{NATIVE_SYSTEM_HEADER_DIR}.
86
+@code{MULTIARCH_DIRNAME} is not used for configurations that support
87
+both multilib and multiarch. In that case, multiarch names are encoded
88
+in @code{MULTILIB_OSDIRNAMES} instead.
90
+More documentation about multiarch can be found at
91
+@uref{http://wiki.debian.org/Multiarch}.
95
Unfortunately, setting @code{MULTILIB_EXTRA_OPTS} is not enough, since
96
--- a/src/gcc/doc/invoke.texi (Revision 193696)
97
+++ b/src/gcc/doc/invoke.texi (Arbeitskopie)
98
@@ -5787,6 +5787,11 @@
99
@file{../lib32}, or if OS libraries are present in @file{lib/@var{subdir}}
100
subdirectories it prints e.g.@: @file{amd64}, @file{sparcv9} or @file{ev6}.
102
+@item -print-multiarch
103
+@opindex print-multiarch
104
+Print the path to OS libraries for the selected multiarch,
105
+relative to some @file{lib} subdirectory.
107
@item -print-prog-name=@var{program}
108
@opindex print-prog-name
109
Like @option{-print-file-name}, but searches for a program such as @samp{cpp}.