Ignore:
File:
1 edited

Legend:

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

    rcc858ed re05c4f0  
    2424    and no Threads</title>
    2525
    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>
    2928
    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>
    3330
    3431    <para os="aa">Make a couple of essential adjustments to the
     
    3835<screen os="ab"><userinput>patch -Np1 -i ../&gcc-specs-patch;</userinput></screen>
    3936
    40     <para os="ag">Change the StartFile Spec so that GCC looks in
    41 <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>
    4239
    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
     41echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >> gcc/config/linux.h
    4442echo -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}
     48sed -e "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g" \
     49    gcc/Makefile.in.orig &gt; gcc/Makefile.in</userinput></screen>
    4550
    4651    <para os="t1">We will create a dummy <filename>limits.h</filename> so
     
    6469  ../gcc-&gcc-version;/configure --prefix=/cross-tools \
    6570  --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 \
    6872  --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>
    7677
    7778    <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>
    8680
    8781     <varlistentry>
     
    9690      </varlistentry>
    9791
    98 
    9992      <varlistentry>
    100         <term><parameter>--with-native-system-headers-dir=/tools/include</parameter></term>
     93        <term><parameter>--disable-shared</parameter></term>
    10194        <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>
    15596        </listitem>
    15697      </varlistentry>
     
    167108
    168109      <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>
    197110        <term><parameter>--enable-languages=c</parameter></term>
    198111        <listitem>
    199112          <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>
    207113        </listitem>
    208114      </varlistentry>
     
    214120<screen os="ao"><userinput>make all-gcc all-target-libgcc</userinput></screen>
    215121
    216     <variablelist os="ap">
    217       <title>The meaning of the new make options:</title>
     122    <para os="ap">Install the package:</para>
    218123
    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>
    232125
    233126  </sect2>
Note: See TracChangeset for help on using the changeset viewer.