Changeset ae51e2a in clfs-embedded


Ignore:
Timestamp:
Feb 12, 2011, 9:41:33 PM (14 years ago)
Author:
Andrew Bradford <bradfa@…>
Branches:
master
Children:
b128a0e
Parents:
1fd00ea
Message:

Created MIPS and ARM GCC-Static files & cleanup

x86 no longer is common with MIPS and ARM for GCC-Static, so it has
its own GCC-Static file. In the previous implementation, there
was a lot of duplication between the common and x86 GCC-Static files.
This removes the duplication by better referencing the common file
and also creates MIPS and ARM specific GCC-Static files.

In this way, everything that is common to all architectures goes into
the common file and each architecture's GCC-Static file is specific
to the architecture.

* PLEASE NOTE *: As of this commit, GCC-Final is BROKEN for x86!
It will be fixed shortly.
DO NOT MERGE THIS UNTIL GCC-FINAL IS FIXED FOR x86!

Location:
BOOK/cross-tools
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • BOOK/cross-tools/arm-chapter.xml

    r1fd00ea rae51e2a  
    2121  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/mpc.xml"/>
    2222  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/binutils.xml"/>
    23   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/gcc-static.xml"/>
     23  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="arm/gcc-static.xml"/>
    2424  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/uclibc.xml"/>
    2525  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/gcc-final.xml"/>
  • BOOK/cross-tools/common/gcc-final.xml

    r1fd00ea rae51e2a  
    7171    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
    7272    href="gcc-static.xml"
    73     xpointer="xpointer(//*[@os='ag'])"/>
     73    xpointer="xpointer(//*[@os='ah'])"/>
    7474
    7575<screen os="ah"><userinput>make</userinput></screen>
     
    7777    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
    7878    href="gcc-static.xml"
    79     xpointer="xpointer(//*[@os='ai'])"/>
     79    xpointer="xpointer(//*[@os='aj'])"/>
    8080
    8181<screen os="aj"><userinput>make install</userinput></screen>
  • BOOK/cross-tools/common/gcc-static.xml

    r1fd00ea rae51e2a  
    2525
    2626  <sect2 role="installation">
    27     <title>Installation of Cross GCC Compiler with Static libgcc
     27    <title os="a">Installation of Cross GCC Compiler with Static libgcc
    2828    and no Threads</title>
    2929
     
    3636    <para os="e">Prepare GCC for compilation:</para>
    3737
     38<!-- This is the common configure line for GCC-Static. -->
     39<!-- It's not actually used by any arch but is here for reference. -->
    3840<screen os="ae"><userinput>AR=ar LDFLAGS="-Wl,-rpath,${CLFS}/cross-tools/lib" \
    3941  ../gcc-&gcc-version;/configure --prefix=${CLFS}/cross-tools \
     
    4345  --with-mpc=${CLFS}/cross-tools --without-headers --with-newlib \
    4446  --disable-decimal-float --disable-libgomp --disable-libmudflap \
    45   --disable-libssp --disable-threads --enable-languages=c \
    46   --with-abi=${CLFS_ABI}</userinput></screen>
     47  --disable-libssp --disable-threads --enable-languages=c</userinput></screen>
    4748
    4849    <variablelist os="af">
     
    207208      </varlistentry>
    208209
    209       <varlistentry os="af19">
    210         <term><parameter>--with-abi=${CLFS_ABI}</parameter></term>
    211         <listitem>
    212           <para>This option sets the ABI selected earlier.</para>
    213         </listitem>
    214       </varlistentry>
    215 
    216210    </variablelist>
    217211
    218     <para os="ag">Continue with compiling the package:</para>
    219 
    220 <screen os="ah"><userinput>make all-gcc all-target-libgcc</userinput></screen>
    221 
    222     <para os="ai">Install the package:</para>
    223 
    224 <screen os="aj"><userinput>make install-gcc install-target-libgcc</userinput></screen>
     212    <para os="ah">Continue with compiling the package:</para>
     213
     214<screen os="ai"><userinput>make all-gcc all-target-libgcc</userinput></screen>
     215
     216    <para os="aj">Install the package:</para>
     217
     218<screen os="ak"><userinput>make install-gcc install-target-libgcc</userinput></screen>
    225219
    226220  </sect2>
  • BOOK/cross-tools/mips-chapter.xml

    r1fd00ea rae51e2a  
    2121  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/mpc.xml"/>
    2222  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/binutils.xml"/>
    23   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/gcc-static.xml"/>
     23  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mips/gcc-static.xml"/>
    2424  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/uclibc.xml"/>
    2525  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/gcc-final.xml"/>
  • BOOK/cross-tools/x86/gcc-static.xml

    r1fd00ea rae51e2a  
    55  %general-entities;
    66]>
     7
     8<!-- x86 GCC-Static -->
    79
    810<sect1 id="ch-cross-tools-gcc-static" role="wrap">
     
    1618  </indexterm>
    1719
    18   <sect2 role="package">
    19     <title/>
    20 
    21     <para>The GCC package contains the GNU compiler collection, which includes
    22     the C and C++ compilers.</para>
    23 
    24   </sect2>
     20  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     21  href="../common/gcc-static.xml"
     22  xpointer="xpointer(//*[@role='package'])"/>
    2523
    2624  <sect2 role="installation">
    27     <title>Installation of Cross GCC Compiler with Static libgcc
    28     and no Threads</title>
     25
     26  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     27  href="../common/gcc-static.xml"
     28  xpointer="xpointer(//*[@os='a'])"/>
    2929
    3030  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     
    5050  --with-arch=${CLFS_CPU} --disable-multilib</userinput></screen>
    5151
    52     <variablelist os="af">
    53       <title>The meaning of the configure options:</title>
    54 
    55       <varlistentry os="af1">
    56         <term><parameter>--prefix=${CLFS}/cross-tools</parameter></term>
    57         <listitem>
    58           <para>This tells the configure script to prepare to install the
    59           package in the <filename class="directory">${CLFS}/cross-tools</filename>
    60           directory.</para>
    61         </listitem>
    62       </varlistentry>
    63 
    64       <varlistentry os="af2">
    65         <term><parameter>--build=${CLFS_HOST}</parameter></term>
    66         <listitem>
    67           <para>This tells the configure script the triplet to use to build GCC.
    68           It will use ${CLFS_HOST} as that's where it's being built.</para>
    69         </listitem>
    70       </varlistentry>
    71 
    72       <varlistentry os="af3">
    73         <term><parameter>--host=${CLFS_HOST}</parameter></term>
    74         <listitem>
    75           <para>This tells the configure script the triplet of the machine GCC
    76           will be executed on when actually cross compiling.  It will use
    77           ${CLFS_HOST} as that's where GCC will execute when cross compiling
    78           software later.</para>
    79         </listitem>
    80       </varlistentry>
    81 
    82       <varlistentry os="af4">
    83         <term><parameter>--target=${CLFS_TARGET}</parameter></term>
    84         <listitem>
    85           <para>This tells the configure script the triplet of the machine GCC
    86           will build executables for.  It will use ${CLFS_TARGET} so that software
    87           compiled with this version of GCC can be executed on the embedded machine
    88           target.</para>
    89         </listitem>
    90       </varlistentry>
    91 
    92       <varlistentry os="af5">
    93         <term><parameter>--with-sysroot=${CLFS}</parameter></term>
    94         <listitem>
    95           <para>This tells configure that ${CLFS} is going to be the root
    96           of our system. It will now use the specified sysroot, ${CLFS}, as
    97           a prefix of the default search paths.</para>
    98         </listitem>
    99       </varlistentry>
    100 
    101       <varlistentry os="af6">
    102         <term><parameter>--disable-nls</parameter></term>
    103         <listitem>
    104           <para>This disables internationalization as i18n is not needed for the
    105           cross-compile tools.</para>
    106         </listitem>
    107       </varlistentry>
    108 
    109       <varlistentry os="af7">
    110         <term><parameter>--disable-shared</parameter></term>
    111         <listitem>
    112           <para>Disables the creation of the shared libraries.</para>
    113         </listitem>
    114       </varlistentry>
    115 
    116       <varlistentry os="af8">
    117         <term><parameter>--with-mpfr=${CLFS}/cross-tools</parameter></term>
    118         <listitem>
    119           <para>Tells configure where to find the
    120           <filename class="directory">lib</filename> and
    121           <filename class="directory">include</filename> directories
    122           that contain MPFR which was built earlier.</para>
    123         </listitem>
    124       </varlistentry>
    125 
    126       <varlistentry os="af9">
    127         <term><parameter>--with-gmp=${CLFS}/cross-tools</parameter></term>
    128         <listitem>
    129           <para>Tells configure where to find the
    130           <filename class="directory">lib</filename> and
    131           <filename class="directory">include</filename> directories
    132           that contain GMP which was built earlier.</para>
    133         </listitem>
    134       </varlistentry>
    135 
    136       <varlistentry os="af10">
    137         <term><parameter>--with-mpc=${CLFS}/cross-tools</parameter></term>
    138         <listitem>
    139           <para>Tells configure where to find the
    140           <filename class="directory">lib</filename> and
    141           <filename class="directory">include</filename> directories
    142           that contain MPC which was built earlier.</para>
    143         </listitem>
    144       </varlistentry>
    145 
    146       <varlistentry os="af11">
    147         <term><parameter>--without-headers</parameter></term>
    148         <listitem>
    149           <para>Tells configure to not use any headers from any C libraries.
    150           This is needed as we haven't yet built the C library and to prevent
    151           influence from the host environment.</para>
    152         </listitem>
    153       </varlistentry>
    154 
    155       <varlistentry os="af12">
    156         <term><parameter>--with-newlib</parameter></term>
    157         <listitem>
    158           <para>Tells configure to build libgcc without needing any C
    159           libraries.</para>
    160         </listitem>
    161       </varlistentry>
    162 
    163       <varlistentry os="af13">
    164         <term><parameter>--disable-decimal-float</parameter></term>
    165         <listitem>
    166           <para>Tells configure to disable IEEE 754-2008 decimal floating
    167           point support.  Decimal floating point support isn't needed yet.</para>
    168         </listitem>
    169       </varlistentry>
    170 
    171       <varlistentry os="af14">
    172         <term><parameter>--disable-libgomp</parameter></term>
    173         <listitem>
    174           <para>Tells configure to not build the GOMP run-time libraries.
    175           GOMP is the GNU implementation of OpenMP, a API for shared-memory
    176           parallel programming.</para>
    177         </listitem>
    178       </varlistentry>
    179 
    180       <varlistentry os="af15">
    181         <term><parameter>--disable-libmudflap</parameter></term>
    182         <listitem>
    183           <para>Tells configure to not build libmudflap.  Mudflap is a
    184           library that can be used to help check for proper pointer usage.</para>
    185         </listitem>
    186       </varlistentry>
    187 
    188       <varlistentry os="af16">
    189         <term><parameter>--disable-libssp</parameter></term>
    190         <listitem>
    191           <para>Tells configure not to build run-time libraries for stack
    192           smashing detection.</para>
    193         </listitem>
    194       </varlistentry>
    195 
    196       <varlistentry os="af17">
    197         <term><parameter>--disable-threads</parameter></term>
    198         <listitem>
    199           <para>This will prevent GCC from looking for the multi-thread
    200           include files, since they haven't been created for this architecture
    201           yet. GCC will be able to find the multi-thread information after
    202           the glib headers are created.</para>
    203         </listitem>
    204       </varlistentry>
    205 
    206       <varlistentry os="af18">
    207         <term><parameter>--enable-languages=c</parameter></term>
    208         <listitem>
    209           <para>This option ensures that only the C compiler is built.</para>
    210         </listitem>
    211       </varlistentry>
    212 
    213       <varlistentry os="af19">
    214         <term><parameter>--with-arch=${CLFS_CPU}</parameter></term>
    215         <listitem>
    216           <para>This option configures the cross compiler to only output
    217           instructions for our previously selected CPU.</para>
    218         </listitem>
    219       </varlistentry>
    220 
    221       <varlistentry os="af20">
    222         <term><parameter>--disable-multilib</parameter></term>
    223         <listitem>
    224           <para>This option specifies that multiple target libraries should
    225           not be built.</para>
    226         </listitem>
    227       </varlistentry>
    228 
    229     </variablelist>
    230 
     52<!-- Common configure switches for all archs -->
    23153  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
    23254  href="../common/gcc-static.xml"
    233   xpointer="xpointer(//*[@os='ag'])"/>
     55  xpointer="xpointer(//*[@os='af'])"/>
     56
     57<!-- Specific configure switches for x86 -->
     58  <variablelist os="ag">
     59
     60    <varlistentry os="ag1">
     61      <term><parameter>--with-arch=${CLFS_CPU}</parameter></term>
     62      <listitem>
     63        <para>This option configures the cross compiler to only output
     64        instructions for our previously selected CPU.</para>
     65      </listitem>
     66    </varlistentry>
     67
     68    <varlistentry os="ag2">
     69      <term><parameter>--disable-multilib</parameter></term>
     70      <listitem>
     71        <para>This option specifies that multiple target libraries should
     72        not be built.</para>
     73      </listitem>
     74    </varlistentry>
     75
     76  </variablelist>
    23477
    23578  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     
    24588  xpointer="xpointer(//*[@os='aj'])"/>
    24689
    247   </sect2>
    248 
    249   <sect2 role="content">
    250     <title/>
    251 
    252     <para>Details on this package are located in <xref
    253     linkend="contents-gcc" role="."/></para>
     90  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     91  href="../common/gcc-static.xml"
     92  xpointer="xpointer(//*[@os='ak'])"/>
    25493
    25594  </sect2>
    25695
     96  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     97  href="../common/gcc-static.xml"
     98  xpointer="xpointer(//*[@role='content'])"/>
     99
    257100</sect1>
Note: See TracChangeset for help on using the changeset viewer.