- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/cross-tools/common/gcc-static.xml
rcc858ed re05c4f0 24 24 and no Threads</title> 25 25 26 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 27 href="../../final-system/common/gcc.xml" 28 xpointer="xpointer(//*[@os='p1'])"/> 26 <para os="p1">The following patch contains a number of updates to the 27 &gcc-version; branch by the GCC developers:</para> 29 28 30 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 31 href="../../final-system/common/gcc.xml" 32 xpointer="xpointer(//*[@os='p2'])"/> 29 <screen os="p2"><userinput>patch -Np1 -i ../&gcc-branch_update-patch;</userinput></screen> 33 30 34 31 <para os="aa">Make a couple of essential adjustments to the … … 38 35 <screen os="ab"><userinput>patch -Np1 -i ../&gcc-specs-patch;</userinput></screen> 39 36 40 <para os="ag">Change the StartFile Spec so that GCC looks in41 <filename class="directory">/tools</filename>:</para>37 <para os="ag">Change the StartFile Spec and Standard Include Dir so that 38 GCC looks in <filename class="directory">/tools</filename>:</para> 42 39 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 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 44 42 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 default 45 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> 45 50 46 51 <para os="t1">We will create a dummy <filename>limits.h</filename> so … … 64 69 ../gcc-&gcc-version;/configure --prefix=/cross-tools \ 65 70 --build=${CLFS_HOST} --host=${CLFS_HOST} --target=${CLFS_TARGET} \ 66 --with-sysroot=${CLFS} --with-local-prefix=/tools \ 67 --with-native-system-header-dir=/tools/include --disable-nls \ 71 --with-sysroot=${CLFS} --with-local-prefix=/tools --disable-nls \ 68 72 --disable-shared --with-mpfr=/cross-tools --with-gmp=/cross-tools \ 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> 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> 76 77 77 78 <variablelist os="am"> 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> 79 <title>The meaning of the configure options:</title> 86 80 87 81 <varlistentry> … … 96 90 </varlistentry> 97 91 98 99 92 <varlistentry> 100 <term><parameter>-- with-native-system-headers-dir=/tools/include</parameter></term>93 <term><parameter>--disable-shared</parameter></term> 101 94 <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> 95 <para>Disables the creation of the shared libraries.</para> 155 96 </listitem> 156 97 </varlistentry> … … 167 108 168 109 <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>197 110 <term><parameter>--enable-languages=c</parameter></term> 198 111 <listitem> 199 112 <para>This option ensures that only the C compiler is built.</para> 200 </listitem>201 </varlistentry>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 113 </listitem> 208 114 </varlistentry> … … 214 120 <screen os="ao"><userinput>make all-gcc all-target-libgcc</userinput></screen> 215 121 216 <variablelist os="ap"> 217 <title>The meaning of the new make options:</title> 122 <para os="ap">Install the package:</para> 218 123 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> 124 <screen os="aq"><userinput>make install-gcc install-target-libgcc</userinput></screen> 232 125 233 126 </sect2>
Note:
See TracChangeset
for help on using the changeset viewer.