- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/cross-tools/common/gcc-static.xml
re05c4f0 rcc858ed 24 24 and no Threads</title> 25 25 26 <para os="p1">The following patch contains a number of updates to the 27 &gcc-version; branch by the GCC developers:</para> 28 29 <screen os="p2"><userinput>patch -Np1 -i ../&gcc-branch_update-patch;</userinput></screen> 26 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 27 href="../../final-system/common/gcc.xml" 28 xpointer="xpointer(//*[@os='p1'])"/> 29 30 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 31 href="../../final-system/common/gcc.xml" 32 xpointer="xpointer(//*[@os='p2'])"/> 30 33 31 34 <para os="aa">Make a couple of essential adjustments to the … … 35 38 <screen os="ab"><userinput>patch -Np1 -i ../&gcc-specs-patch;</userinput></screen> 36 39 37 <para os="ag">Change the StartFile Spec and Standard Include Dir so that 38 GCC looks in <filename class="directory">/tools</filename>:</para> 39 40 <screen os="ah"><userinput>echo -en '#undef STANDARD_INCLUDE_DIR\n#define STANDARD_INCLUDE_DIR "/tools/include/"\n\n' >> gcc/config/linux.h 41 echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >> gcc/config/linux.h 40 <para os="ag">Change the StartFile Spec so that GCC looks in 41 <filename class="directory">/tools</filename>:</para> 42 43 <screen os="ah"><userinput>echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >> gcc/config/linux.h 42 44 echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define STANDARD_STARTFILE_PREFIX_2 ""\n' >> gcc/config/linux.h</userinput></screen> 43 44 <para os="ai">Now alter <command>gcc</command>'s c preprocessor's default45 include search path to use <filename class="directory">/tools</filename> only:</para>46 47 <screen os="aj"><userinput>cp -v gcc/Makefile.in{,.orig}48 sed -e "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g" \49 gcc/Makefile.in.orig > gcc/Makefile.in</userinput></screen>50 45 51 46 <para os="t1">We will create a dummy <filename>limits.h</filename> so … … 69 64 ../gcc-&gcc-version;/configure --prefix=/cross-tools \ 70 65 --build=${CLFS_HOST} --host=${CLFS_HOST} --target=${CLFS_TARGET} \ 71 --with-sysroot=${CLFS} --with-local-prefix=/tools --disable-nls \ 66 --with-sysroot=${CLFS} --with-local-prefix=/tools \ 67 --with-native-system-header-dir=/tools/include --disable-nls \ 72 68 --disable-shared --with-mpfr=/cross-tools --with-gmp=/cross-tools \ 73 --with-ppl=/cross-tools --with-cloog=/cross-tools \ 74 --without-headers --with-newlib --disable-decimal-float \ 75 --disable-libgomp --disable-libmudflap --disable-libssp \ 76 --disable-threads --enable-languages=c --disable-multilib</userinput></screen> 69 --with-isl=/cross-tools --with-cloog=/cross-tools --with-mpc=/cross-tools \ 70 --without-headers --with-newlib --disable-decimal-float --disable-libgomp \ 71 --disable-libmudflap --disable-libssp --disable-threads --disable-multilib \ 72 --disable-libatomic --disable-libitm --disable-libsanitizer \ 73 --disable-libquadmath --disable-target-libiberty --disable-target-zlib \ 74 --with-system-zlib --enable-cloog-backend=isl --disable-isl-version-check \ 75 --enable-languages=c --enable-checking=release</userinput></screen> 77 76 78 77 <variablelist os="am"> 79 <title>The meaning of the configure options:</title> 78 <title>The meaning of the new configure options:</title> 79 80 <varlistentry> 81 <term><parameter>--with-sysroot=${CLFS}</parameter></term> 82 <listitem> 83 <para>Tells GCC to consider ${CLFS} as the root file system.</para> 84 </listitem> 85 </varlistentry> 80 86 81 87 <varlistentry> … … 90 96 </varlistentry> 91 97 92 <varlistentry> 93 <term><parameter>--disable-shared</parameter></term> 94 <listitem> 95 <para>Disables the creation of the shared libraries.</para> 98 99 <varlistentry> 100 <term><parameter>--with-native-system-headers-dir=/tools/include</parameter></term> 101 <listitem> 102 <para>This switch ensures that GCC will search for the system headers 103 in <filename class="directory">/tools/include</filename> and that 104 host system headers will not be searched.</para> 105 </listitem> 106 </varlistentry> 107 108 <varlistentry> 109 <term><parameter>--disable-nls</parameter></term> 110 <listitem> 111 <para>This disables internationalization as i18n is not needed for the 112 cross-compile tools.</para> 113 </listitem> 114 </varlistentry> 115 116 <varlistentry> 117 <term><parameter>--without-headers</parameter></term> 118 <listitem> 119 <para>Disables GCC from using the target's Libc when cross compiling.</para> 120 </listitem> 121 </varlistentry> 122 123 <varlistentry> 124 <term><parameter>--with-newlib</parameter></term> 125 <listitem> 126 <para>Tells GCC that the target libc will use 'newlib'.</para> 127 </listitem> 128 </varlistentry> 129 130 <varlistentry> 131 <term><parameter>--disable-decimal-float</parameter></term> 132 <listitem> 133 <para>Disables support for the C decimal floating point extension.</para> 134 </listitem> 135 </varlistentry> 136 137 <varlistentry> 138 <term><parameter>--disable-libgomp</parameter></term> 139 <listitem> 140 <para>Disables the creation of runtime libraries used by GOMP.</para> 141 </listitem> 142 </varlistentry> 143 144 <varlistentry> 145 <term><parameter>--disable-libmudflap</parameter></term> 146 <listitem> 147 <para>Disables the creation of runtime libaries used by libmudflap.</para> 148 </listitem> 149 </varlistentry> 150 151 <varlistentry> 152 <term><parameter>--disable-libssp</parameter></term> 153 <listitem> 154 <para>Disables the use of Stack Smashing Protection for runtime libraries.</para> 96 155 </listitem> 97 156 </varlistentry> … … 108 167 109 168 <varlistentry> 169 <term><parameter>--disable-libatomic</parameter></term> 170 <listitem> 171 <para>The atomic library isn't needed at this time.</para> 172 </listitem> 173 </varlistentry> 174 175 <varlistentry> 176 <term><parameter>--disable-libitm</parameter></term> 177 <listitem> 178 <para>The itm library isn't neeeded at this tiem.</para> 179 </listitem> 180 </varlistentry> 181 182 <varlistentry> 183 <term><parameter>--disable-libsanitizer</parameter></term> 184 <listitem> 185 <para>The sanitizer library isn't needed at this time.</para> 186 </listitem> 187 </varlistentry> 188 189 <varlistentry> 190 <term><parameter>--disable-libquadmath</parameter></term> 191 <listitem> 192 <para>The quadmath library isn't needed at this time.</para> 193 </listitem> 194 </varlistentry> 195 196 <varlistentry> 110 197 <term><parameter>--enable-languages=c</parameter></term> 111 198 <listitem> … … 114 201 </varlistentry> 115 202 203 <varlistentry> 204 <term><parameter>--enable-checking=release</parameter></term> 205 <listitem> 206 <para>This option selects the complexity of the internal consistency checks and adds error checking within the compiler.</para> 207 </listitem> 208 </varlistentry> 209 116 210 </variablelist> 117 211 … … 120 214 <screen os="ao"><userinput>make all-gcc all-target-libgcc</userinput></screen> 121 215 122 <para os="ap">Install the package:</para> 123 124 <screen os="aq"><userinput>make install-gcc install-target-libgcc</userinput></screen> 216 <variablelist os="ap"> 217 <title>The meaning of the new make options:</title> 218 219 <varlistentry> 220 <term><parameter>all-gcc all-target-libgcc</parameter></term> 221 <listitem> 222 <para>Compiles only the parts of GCC that are needed at this time, 223 rather than the full package.</para> 224 </listitem> 225 </varlistentry> 226 227 </variablelist> 228 229 <para os="aq">Install the package:</para> 230 231 <screen os="ar"><userinput>make install-gcc install-target-libgcc</userinput></screen> 125 232 126 233 </sect2>
Note:
See TracChangeset
for help on using the changeset viewer.