Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • BOOK/cross-tools/common/gcc-static.xml

    re05c4f0 rcc858ed  
    2424    and no Threads</title>
    2525
    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'])"/>
    3033
    3134    <para os="aa">Make a couple of essential adjustments to the
     
    3538<screen os="ab"><userinput>patch -Np1 -i ../&gcc-specs-patch;</userinput></screen>
    3639
    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
    4244echo -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 &gt; gcc/Makefile.in</userinput></screen>
    5045
    5146    <para os="t1">We will create a dummy <filename>limits.h</filename> so
     
    6964  ../gcc-&gcc-version;/configure --prefix=/cross-tools \
    7065  --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 \
    7268  --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>
    7776
    7877    <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>
    8086
    8187     <varlistentry>
     
    9096      </varlistentry>
    9197
    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>
    96155        </listitem>
    97156      </varlistentry>
     
    108167
    109168      <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>
    110197        <term><parameter>--enable-languages=c</parameter></term>
    111198        <listitem>
     
    114201      </varlistentry>
    115202
     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
    116210    </variablelist>
    117211
     
    120214<screen os="ao"><userinput>make all-gcc all-target-libgcc</userinput></screen>
    121215
    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>
    125232
    126233  </sect2>
Note: See TracChangeset for help on using the changeset viewer.