Subversion Repositories svn LFS-FR

Compare Revisions

Ignore whitespace Rev 1328 → Rev 1329

/trunk/clfssysroot/cross-tools/arm/linux-headers.xml
17,17 → 17,17
<sect2 role="package">
<title/>
 
<para>The Linux Kernel contains a make target that installs
<quote>sanitized</quote> kernel headers.</para>
<para>Le noyau Linux contient une cible make qui installe
des en-têtes du noyau <quote>propres</quote></para>
 
</sect2>
 
<sect2 role="installation">
<title>Installation of Linux-Headers</title>
<title>Installation de Linux-Headers</title>
 
<para os="a">For this step you will need the kernel tarball.</para>
<para os="a">Pour cette étape, vous aurez besoin de l'archive tar du noyau.</para>
 
<para os="b">Install the kernel header files:</para>
<para os="b">Installez les fichiers d'en-tête du noyau :</para>
 
<screen os="c"><userinput>make mrproper
make ARCH=arm headers_check
36,12 → 36,12
find ${CLFS}/usr/include -name .install -or -name ..install.cmd | xargs rm -fv</userinput></screen>
 
<variablelist os="d">
<title>The meaning of the make commands:</title>
<title>Voici la signification des commandes :</title>
 
<varlistentry os="d1">
<term><parameter>make mrproper</parameter></term>
<listitem>
<para>Ensures that the kernel source dir is clean.</para>
<para>S'assure que le répertoire des sources du noyau est propre.</para>
</listitem>
</varlistentry>
 
48,8 → 48,8
<varlistentry os="d2">
<term><parameter>make ARCH=<replaceable>[arch]</replaceable> headers_check</parameter></term>
<listitem>
<para>Sanitizes the raw kernel headers so that they can be used
by userspace programs.</para>
<para>Nettoie les en-têtes raw du noyau afin qu'elles puissent être utilisées
par les programmes d'espace utilisateur. </para>
</listitem>
</varlistentry>
 
56,11 → 56,11
<varlistentry os="d3">
<term><parameter>make ARCH=<replaceable>[arch]</replaceable> INSTALL_HDR_PATH=dest headers_install</parameter></term>
<listitem>
<para>Normally the headers_install target removes the entire
destination directory (default
<filename class="directory">/usr/include</filename>) before
installing the headers. To prevent this, we tell the kernel to
install the headers to a directory inside the source dir.</para>
<para>La cible headers_install supprime normalement tout
le répertoire de destination (default
<filename class="directory">/usr/include</filename>) avant d'installer
les en-têtes. Pour empêcher cela, nous disons au noyau d'installer
les en-têtes dans un autre répertoire à l'intérieur de celui des sources.</para>
</listitem>
</varlistentry>
 
69,10 → 69,10
</sect2>
 
<sect2 id="contents-linux-headers" role="content">
<title>Contents of Linux-Headers</title>
<title>Contenu de Linux-Headers</title>
 
<segmentedlist>
<segtitle>Installed headers</segtitle>
<segtitle>En-têtes installées :</segtitle>
 
<seglistitem>
<seg>/usr/include/{asm,asm-generic,drm,linux,mtd,rdma,sound,video}/*.h</seg>
80,7 → 80,7
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
88,7 → 88,7
<term><filename
class="headerfile">/usr/include/{asm,asm-generic,drm,linux,mtd,rdma,sound,video}/*.h</filename></term>
<listitem>
<para>The Linux API headers</para>
<para>Les en-têtes Linux API</para>
<indexterm zone="ch-cross-tools-linux-headers linux-headers">
<primary
sortas="e-/usr/include/{asm,linux}/*.h">/usr/include/{asm,linux}/*.h</primary>
/trunk/clfssysroot/cross-tools/arm/variables.xml
8,31 → 8,31
<sect1 id="ch-cross-tools-variables">
<?dbhtml filename="variables.html"?>
 
<title>Build Variables</title>
<title>Variables de construction </title>
 
<bridgehead renderas="sect4">Setting Host and Target</bridgehead>
<bridgehead renderas="sect4">Initialisation de l'hôte et de la cible</bridgehead>
 
<para os="a">During the building of the cross-compile tools you will need to
set a few variables that will be dependent on your particular needs.
The first variable will be the triplet of the host machine, which will be
put into the <envar>CLFS_HOST</envar> variable. To account for the
possibility that the host and target are the same arch, as cross-compiling
won't work when host and target are the same, part of the triplet needs to
be changed slightly to add "cross". Set <envar>CLFS_HOST</envar> using the
following command:</para>
 
<para os="a">Pendant la construction des outils de compilation croisée, vous
aurez besoin de régler quelques variables en fonction de vos besoins
particuliers. La première variable sera le triplet de la machine hôte, qui sera
contenu dans la variable <envar>CLFS_HOST</envar>. Pour prendre en compte
la possibilité que l'hôte et la cible aient la même architecture, étant donné que la
compilation croisée ne fonctionnera pas lorsque l'hôte et la cible sont les mêmes,
il faudra modifier légèrement une partie du triplet pour ajouter "cross". Réglez
<envar>CLFS_HOST</envar> en utilisant la commande suivante&nbsp;:</para>
<screen os="b"><userinput>export CLFS_HOST="$(echo $MACHTYPE | \
sed "s/$(echo $MACHTYPE | cut -d- -f2)/cross/")"</userinput></screen>
 
<para os="c">Now you will need to set the triplet for the target
architecture. Set the target variable using the following command:</para>
<para os="c">Maintenant, vous aurez besoin de paramétrer le triplet pour l'architecture cible.
Paramétrez la variable cible en utilisant la commande suivante&nbsp;:</para>
 
<screen os="d"><userinput>export CLFS_TARGET="arm-unknown-linux-gnu"</userinput></screen>
 
<bridgehead renderas="sect4">Copy settings to Environment</bridgehead>
<bridgehead renderas="sect4">Copie des paramètres vers l'environnement</bridgehead>
 
<para os="e">Now add these to <filename>~/.bashrc</filename>, just in
case you have to exit and restart building later:</para>
<para os="e">Ajoutez maintenant ceux-ci à <filename>~/.bashrc</filename>, au cas où vous
devriez quitter et recommencer la construction plus tard&nbsp;:</para>
 
<screen os="f"><userinput>cat &gt;&gt; ~/.bashrc &lt;&lt; EOF
export CLFS_HOST="${CLFS_HOST}"
/trunk/clfssysroot/cross-tools/arm-chapter.xml
9,7 → 9,7
<?dbhtml dir="cross-tools"?>
<?dbhtml filename="chapter.html"?>
 
<title>Constructing Cross-Compile Tools</title>
<title>Construire les outils de compilation croisée</title>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/cflags.xml"/>
/trunk/clfssysroot/cross-tools/common/gcc-static.xml
8,7 → 8,7
<sect1 id="ch-cross-tools-gcc-static" role="wrap">
<?dbhtml filename="gcc-static.html"?>
 
<title>Cross GCC-&gcc-version; - Static</title>
<title>GCC-&gcc-version; croisé - Statique</title>
 
<indexterm zone="ch-cross-tools-gcc-static">
<primary sortas="a-GCC">GCC</primary>
20,8 → 20,8
xpointer="xpointer(//*[@role='package'])"/>
 
<sect2 role="installation">
<title>Installation of Cross GCC Compiler with Static libgcc
and no Threads</title>
<title>Installation du compilateur croisé GCC avec libgcc statique
et sans Threads</title>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../../final-system/common/gcc.xml"
54,12 → 54,12
--disable-shared --disable-threads --enable-languages=c</userinput></screen>
 
<variablelist os="af">
<title>The meaning of the configure options:</title>
<title>Voici la signification des options de configure :</title>
 
<varlistentry>
<term><parameter>--disable-shared</parameter></term>
<listitem>
<para>Disables the creation of the shared libraries.</para>
<para>Désactive la création des bibliothèques partagées.</para>
</listitem>
</varlistentry>
 
66,10 → 66,10
<varlistentry>
<term><parameter>--disable-threads</parameter></term>
<listitem>
<para>This will prevent GCC from looking for the multi-thread
include files, since they haven't been created for this architecture
yet. GCC will be able to find the multi-thread information after
the EGLIBC headers are created.</para>
<para>Cela empêchera GCC de chercher les fichiers include pour le
multi-thread, vu qu'ils n'ont pas encore été créés pour cette
architecture. GCC sera capable de trouver les informations pour
multi-thread après que les en-têtes Glibc soient créés.</para>
</listitem>
</varlistentry>
 
76,17 → 76,17
<varlistentry>
<term><parameter>--enable-languages=c</parameter></term>
<listitem>
<para>This option ensures that only the C compiler is built.</para>
<para>Cette option garantit que seul le compilateur C sera construit.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para os="ag">Continue with compiling the package:</para>
<para os="ag">Poursuivez en compilant le paquet :</para>
 
<screen os="ah"><userinput>make all-gcc all-target-libgcc</userinput></screen>
 
<para os="ai">Install the package:</para>
<para os="ai">Installez le paquet :</para>
 
<screen os="aj"><userinput>make install-gcc install-target-libgcc</userinput></screen>
 
95,7 → 95,7
<sect2 role="content">
<title/>
 
<para>Details on this package are located in <xref
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-gcc" role="."/></para>
 
</sect2>
/trunk/clfssysroot/cross-tools/common/introduction.xml
10,44 → 10,36
 
<title>Introduction</title>
 
<para>This chapter shows you how to create cross platform tools.</para>
<para>Ce chapitre vous montre comment créer les outils pour la compilation croisée.</para>
 
<para>If for some reason you have to stop and come back later, remember
to use the <command>su - clfs</command> command, and it will setup the
build environment that you left.</para>
<para>Si, pour quelque raison que ce soit, vous devez vous arrêter et revenir plus tard, rappelez-vous d'utiliser la commande
<command>su - clfs</command> et elle initialisera l'environnement de construction que vous avez quitté.</para>
 
<sect2>
<title>Common Notes</title>
<title>Remarques générales</title>
 
<important>
<para>Before issuing the build instructions for a package, the package
should be unpacked as user <systemitem class="username">clfs</systemitem>,
and a <command>cd</command> into the created directory should be
performed. The build instructions assume that the <command>bash</command>
shell is in use.</para>
<para>Avant d'exécuter les instructions de construction pour un paquet, vous devriez déballer le paquet en tant que
<systemitem class="username">clfs</systemitem> et effectuer un <command>cd</command> dans le répertoire créé. Les instructions de
construction supposent que vous utilisez le shell <command>bash</command>.</para>
</important>
 
<para>Several of the packages are patched before compilation, but only
when the patch is needed to circumvent a problem. A patch is often needed
in both this and the next chapters, but sometimes in only one or the other.
Therefore, do not be concerned if instructions for a downloaded patch seem
to be missing. Warning messages about <emphasis>offset</emphasis> or
<emphasis>fuzz</emphasis> may also be encountered when applying a patch.
Do not worry about these warnings, as the patch was still successfully
applied.</para>
<para>Plusieurs paquets sont corrigés avant d'être compilés, mais seulement lorsque le correctif est nécessaire pour contourner un
problème. Un correctif est souvent nécessaire à la fois dans ce chapitre et dans les suivants, mais parfois uniquement dans un des
autres. Donc, ne vous affolez pas si les instructions pour un correctif téléchargé vous paraissent absentes. Il se peut que vous
rencontriez des messages d'avertissement concernant <emphasis>offset</emphasis> ou <emphasis>fuzz</emphasis> lorsque vous appliquerez un
correctif. Ne vous en inquiétez pas car le correctif a été appliqué avec succès.</para>
 
<para>During the compilation of most packages, there will be several
warnings that scroll by on the screen. These are normal and can safely
be ignored. These warnings are as they appear&mdash;warnings about
deprecated, but not invalid, use of the C or C++ syntax. C standards
change fairly often, and some packages still use the older standard.
This is not a problem, but does prompt the warning.</para>
<para>Pendant la compilation de la plupart des paquets, il y aura plusieurs avertissements qui vont défiler sur l'écran. Ils sont
normaux et vous pouvez les ignorer en toute sécurité. Comme ils le signalent, ces messages sont des&mdash;avertissements concernant l'usage
d'une syntaxe C ou C++ obsolète ou invalide. Les standards du C changent
assez souvent et certains paquets utilisent encore de vieux
standards. Cela n'est pas un problème mais affiche des avertissements.</para>
 
<important>
<para>After installing each package, both in this and the next chapters,
delete its source and build directories, unless specifically instructed
otherwise. Deleting the sources prevents mis-configuration
when the same package is reinstalled later.</para>
<para>Après l'installation de chaque paquet, qu'il s'agisse de ce chapitre ou des suivants, effacez ses répertoires de sources
et de construction sauf si on vous indique autre chose. L'effacement des sources empêche une mauvaise configuration quand vous réinstallerez le
même paquet plus tard.</para>
</important>
 
</sect2>
/trunk/clfssysroot/cross-tools/common/gmp.xml
20,18 → 20,18
xpointer="xpointer(//*[@role='package'])"/>
 
<sect2 role="installation">
<title>Installation of GMP</title>
<title>Installation de GMP</title>
 
<para os="a">Prepare GMP for compilation:</para>
<para os="a">Préparez la compilation de GMP :</para>
 
<screen os="b"><userinput>CPPFLAGS=-fexceptions ./configure \
--prefix=${CLFS}/cross-tools --enable-cxx</userinput></screen>
 
<para os="c">Compile the package:</para>
<para os="c">Compilez le paquet :</para>
 
<screen os="d"><userinput>make</userinput></screen>
 
<para os="e">Install the package:</para>
<para os="e">Installez le paquet :</para>
 
<screen os="f"><userinput>make install</userinput></screen>
 
40,7 → 40,7
<sect2 role="content">
<title/>
 
<para>Details on this package are located in <xref
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-gmp" role="."/></para>
 
</sect2>
/trunk/clfssysroot/cross-tools/common/mpfr.xml
20,7 → 20,7
xpointer="xpointer(//*[@role='package'])"/>
 
<sect2 role="installation">
<title>Installation of MPFR</title>
<title>Installation de MPFR</title>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../../final-system/common/mpfr.xml"
30,17 → 30,17
href="../../final-system/common/mpfr.xml"
xpointer="xpointer(//*[@os='p2'])"/>
 
<para os="a">Prepare MPFR for compilation:</para>
<para os="a">Préparez la compilation de MPFR :</para>
 
<screen os="b"><userinput>LDFLAGS="-Wl,-rpath,${CLFS}/cross-tools/lib" \
./configure --prefix=${CLFS}/cross-tools \
--enable-shared --with-gmp=${CLFS}/cross-tools</userinput></screen>
 
<para os="c">Compile the package:</para>
<para os="c">Compilez le paquet :</para>
 
<screen os="d"><userinput>make</userinput></screen>
 
<para os="e">Install the package:</para>
<para os="e">Installez le paquet :</para>
 
<screen os="f"><userinput>make install</userinput></screen>
 
49,7 → 49,7
<sect2 role="content">
<title/>
 
<para>Details on this package are located in <xref
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-mpfr" role="."/></para>
 
</sect2>
/trunk/clfssysroot/cross-tools/common/binutils.xml
8,7 → 8,7
<sect1 id="ch-cross-tools-binutils" role="wrap">
<?dbhtml filename="binutils.html"?>
 
<title>Cross Binutils-&binutils-version;</title>
<title>Binutils-&binutils-version; croisé</title>
 
<indexterm zone="ch-cross-tools-binutils">
<primary sortas="a-Binutils">Binutils</primary>
20,12 → 20,12
xpointer="xpointer(//*[@role='package'])"/>
 
<sect2 role="installation">
<title>Installation of Cross Binutils</title>
<title>Installation de Binutils croisé</title>
 
<para os="da">It is important that Binutils be the first package compiled
because both EGLIBC and GCC perform various tests on the available
linker and assembler to determine which of their own features to
enable.</para>
<para os="da">Il est important que Binutils soit construit
avant Glibc et GCC car les deux effectuent divers tests
sur l'éditeur de liens et l'assembleur disponibles
pour déterminer quelles fonctionnalités activer. </para>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../../final-system/common/binutils.xml"
52,14 → 52,14
--disable-nls --enable-shared --disable-multilib</userinput></screen>
 
<variablelist os="bd">
<title>The meaning of the configure options:</title>
<title>Voici la signification des options de configure :</title>
 
<varlistentry os="bd1">
<term><parameter>--prefix=${CLFS}/cross-tools</parameter></term>
<listitem>
<para>This tells the configure script to prepare to install the
package in the <filename class="directory">${CLFS}/cross-tools</filename>
directory.</para>
<para>Ceci dit à configure de se préparer à installer le paquet dans
le répertoire <filename class="directory">${CLFS}/cross-tools</filename>
</para>
</listitem>
</varlistentry>
 
66,9 → 66,9
<varlistentry os="bd2">
<term><parameter>--host=${CLFS_HOST}</parameter></term>
<listitem>
<para>When used with --target, this creates a cross-architecture
executable that creates files for ${CLFS_TARGET} but runs on
${CLFS_HOST}.</para>
<para>Lors d'une utilisation avec --target, ceci crée un exécutable
pour une architecture croisée qui crée des fichiers pour ${CLFS_TARGET}
mais s'exécute sur ${CLFS_HOST}.</para>
</listitem>
</varlistentry>
 
75,9 → 75,9
<varlistentry os="bd3">
<term><parameter>--target=${CLFS_TARGET}</parameter></term>
<listitem>
<para>When used with --host, this creates a cross-architecture
executable that creates files for ${CLFS_TARGET} but runs on
${CLFS_HOST}.</para>
<para>Lors d'une utilisation avec --host, ceci crée un exécutable
pour une architecture croisée qui crée des fichiers pour ${CLFS_TARGET}
mais s'exécute sur ${CLFS_HOST}.</para>
</listitem>
</varlistentry>
 
84,9 → 84,9
<varlistentry os="bd4">
<term><parameter>--with-sysroot=${CLFS}</parameter></term>
<listitem>
<para>This tells configure that ${CLFS} is going to be the root
of our system. It will now use the specified sysroot, ${CLFS}, as
a prefix of the default search paths.</para>
<para>Ceci indique à configure que ${CLFS} va être la racine
de notre système. Il va maintenant utiliser le sysroot spécifé,
${CLFS}, comme préfixe pour les chemins de recherche par défaut.</para>
</listitem>
</varlistentry>
 
93,8 → 93,8
<varlistentry os="bd5">
<term><parameter>--disable-nls</parameter></term>
<listitem>
<para>This disables internationalization as i18n is not needed for the
cross-compile tools.</para>
<para>Ceci désactive l'internationalisation car i18n n'est pas nécessaire
pour les outils de compilation croisée.</para>
</listitem>
</varlistentry>
 
101,7 → 101,7
<varlistentry os="bd6">
<term><parameter>--enable-shared</parameter></term>
<listitem>
<para>Enable the creation of the shared libraries.</para>
<para>Active la création des bibliothèques partagées.</para>
</listitem>
</varlistentry>
 
108,37 → 108,36
<varlistentry os="bd7">
<term><parameter>--disable-multilib</parameter></term>
<listitem>
<para>This option disables the building of a multilib
capable Binutils.</para>
<para>Cette option désactive la construction d'un Binutils supportant le Multilib.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para os="be">Compile the package:</para>
<para os="be">Compilez le paquet :</para>
 
<screen os="bf"><userinput>make configure-host
make</userinput></screen>
 
<variablelist os="bg">
<title>The meaning of the make options:</title>
<title>Voici la signification des options de make :</title>
 
<varlistentry os="bg1">
<term><parameter>configure-host</parameter></term>
<listitem>
<para>This checks the host environment and makes sure all the
necessary tools are available to compile Binutils.</para>
<para>Ceci vérifie l'environnement hôte et s'assure que tous les outils
nécessaires sont disponibles pour compiler Binutils.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para os="bh">Install the package:</para>
<para os="bh">Installez le paquet :</para>
 
<screen os="bi"><userinput>make install</userinput></screen>
 
<para os="bj">Install the <filename class="headerfile">libiberty</filename> header
file that is needed by some packages:</para>
<para os="bj">Copiez l'entête <filename class="headerfile">libiberty</filename>,
requise par certains paquets:</para>
 
<screen os="bk"><userinput>cp -v ../binutils-&binutils-version;/include/libiberty.h ${CLFS}/usr/include</userinput></screen>
 
147,7 → 146,7
<sect2 role="content">
<title/>
 
<para>Details on this package are located in <xref
<para>Les détails de ce paquet sont situés dans <xref
linkend="contents-binutils" role="."/></para>
 
</sect2>
/trunk/clfssysroot/cross-tools/common/ppl.xml
20,7 → 20,7
xpointer="xpointer(//*[@role='package'])"/>
 
<sect2 role="installation">
<title>Installation of PPL</title>
<title>Installation de PPL</title>
 
<!--
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
32,7 → 32,7
xpointer="xpointer(//*[@os='p2'])"/>
-->
 
<para os="a">Prepare PPL for compilation:</para>
<para os="a">Préparez la compilation de PPL :</para>
 
<screen os="b"><userinput>LDFLAGS="-Wl,-rpath,${CLFS}/cross-tools/lib" \
./configure --prefix=${CLFS}/cross-tools --enable-shared \
40,11 → 40,11
--with-libgmp-prefix=${CLFS}/cross-tools \
--with-libgmpxx-prefix=${CLFS}/cross-tools</userinput></screen>
 
<para os="c">Compile the package:</para>
<para os="c">Compilez le paquet :</para>
 
<screen os="d"><userinput>make</userinput></screen>
 
<para os="e">Install the package:</para>
<para os="e">Installez le paquet :</para>
 
<screen os="f"><userinput>make install</userinput></screen>
 
53,7 → 53,7
<sect2 role="content">
<title/>
 
<para>Details on this package are located in <xref
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-ppl" role="."/></para>
 
</sect2>
/trunk/clfssysroot/cross-tools/common/cloog-ppl.xml
20,7 → 20,7
xpointer="xpointer(//*[@role='package'])"/>
 
<sect2 role="installation">
<title>Installation of CLooG-PPL</title>
<title>Installation de CLooG-PPL</title>
 
<!--
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
32,17 → 32,17
xpointer="xpointer(//*[@os='p2'])"/>
-->
 
<para os="a">Prepare CLooG-PPL for compilation:</para>
<para os="a">Préparez la compilation de CLooG-PPL :</para>
 
<screen os="b"><userinput>LDFLAGS="-Wl,-rpath,${CLFS}/cross-tools/lib" \
./configure --prefix=${CLFS}/cross-tools --enable-shared --with-bits=gmp \
--with-gmp=${CLFS}/cross-tools --with-ppl=${CLFS}/cross-tools</userinput></screen>
 
<para os="c">Compile the package:</para>
<para os="c">Compilez le paquet :</para>
 
<screen os="d"><userinput>make</userinput></screen>
 
<para os="e">Install the package:</para>
<para os="e">Installez le paquet :</para>
 
<screen os="f"><userinput>make install</userinput></screen>
 
51,7 → 51,7
<sect2 role="content">
<title/>
 
<para>Details on this package are located in <xref
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-cloog-ppl" role="."/></para>
 
</sect2>
/trunk/clfssysroot/cross-tools/common/cflags.xml
8,23 → 8,21
<sect1 id="ch-cross-tools-cflags">
<?dbhtml filename="cflags.html"?>
 
<title>Build CFLAGS</title>
<title>CFLAGS de construction</title>
 
<para><envar>CFLAGS</envar> and <envar>CXXFLAGS</envar> must not be
set during the building of cross-tools.</para>
<para><envar>CFLAGS</envar> et <envar>CXXFLAGS</envar> ne doivent pas être
initialisées pendant la construction des outils de compilation croisés.</para>
 
<para>To disable <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>
use the following commands:</para>
<para>Pour désactiver <envar>CFLAGS</envar> et <envar>CXXFLAGS</envar>,
utilisez les commandes suivantes&nbsp;:</para>
 
<screen><userinput>unset CFLAGS
unset CXXFLAGS</userinput></screen>
 
<para>Now add these to <filename>~/.bashrc</filename>, just in
case you have to exit and restart building later:</para>
<para>Maintenant, ajoutez ce qui suit à <filename>~/.bashrc</filename>, pour le cas où vous devriez quitter et redémarrer la construction plus
tard&nbsp;:</para>
 
<screen><userinput>cat &gt;&gt; ~/.bashrc &lt;&lt; EOF
unset CFLAGS
unset CXXFLAGS
EOF</userinput></screen>
<screen><userinput>echo unset CFLAGS &gt;&gt; ~/.bashrc
echo unset CXXFLAGS &gt;&gt; ~/.bashrc</userinput></screen>
 
</sect1>
/trunk/clfssysroot/tidy.conf
1,7 → 1,7
indent-spaces: 2
wrap: 78
tab-size: 8
input-encoding: latin1
input-encoding: utf8
output-encoding: latin1
newline: CRLF
write-back: yes
/trunk/clfssysroot/Makefile
1,22 → 1,24
BASEDIR := ~/cross-lfs-sysroot-book
DUMPDIR := ~/cross-lfs-sysroot-commands
DLLISTDIR := ~/cross-lfs-sysroot-dllist
RENDERTMP := $(HOME)/tmp
TOP := $(PWD)
RENDERDIR := $(TOP)/../render
 
VALIDATEDIR := $(RENDERDIR)/validate
PROFILEDIR := $(RENDERDIR)/profile
 
HTMLDIR := $(RENDERDIR)/html
NOCHUNKDIR := $(RENDERDIR)/nochunk
 
FODIR := $(RENDERDIR)/fo
PDFDIR := $(RENDERDIR)/pdf
 
TROUBLEDIR := $(RENDERDIR)/trouble
DUMPDIR := $(RENDERDIR)/commands
DLLISTDIR := $(RENDERDIR)/download-list
 
CHUNK_QUIET := 1
ROOT_ID :=
ROOT_ID :=
 
S := -
 
ARCHS := alpha arm hppa x86
 
ARCHS_HTML := $(ARCHS:%=%$(S)html)
ARCHS_NOCHUNKS := $(ARCHS:%=%$(S)nochunks)
ARCHS_PDF := $(ARCHS:%=%$(S)pdf)
ARCHS_VALIDATE := $(ARCHS:%=%$(S)validate)
ARCHS_TROUBLE := $(ARCHS:%=%$(S)trouble)
ARCHS_DUMP := $(ARCHS:%=%$(S)dump)
ARCHS_DLLIST := $(ARCHS:%=%$(S)dllist)
 
ifdef V
Q =
else
23,169 → 25,197
Q = @
endif
 
.PHONY: lfs tidy render titlepage $(ARCHS_HTML) nochunks $(ARCHS_NOCHUNKS) pdf \
$(ARCHS_PDF) validate $(ARCHS_VALIDATE) trouble $(ARCHS_TROUBLE) \
dump-commands $(ARCHS_DUMP) download-list $(ARCHS_DLLIST) tmpdir
.PHONY: clfs lfs
clfs lfs: html
 
lfs: tmpdir render tidy
.PHONY: tidy tidy-f tidy-d
ifeq ($(shell which tidy >/dev/null 2>&1 && echo yes),yes)
tidy:
@$(MAKE) --no-print-directory tidy-d TIDY_DIR=$(HTMLDIR)
 
tmpdir:
@echo "Creating and cleaning $(RENDERTMP)"
$(Q)[ -d $(RENDERTMP) ] || mkdir -p $(RENDERTMP)
$(Q)rm -f $(RENDERTMP)/*-{full,html,pdf}.xml
$(Q)rm -f $(RENDERTMP)/*.fo
tidy-f:
@echo "Running tidy on F:$(shell basename $(TIDY_FILE))"
@$(TOP)/tidy.sh "$(TIDY_FILE)"
 
ifeq ($(shell which tidy >/dev/null 2>&1 && echo yes),yes)
tidy:
@echo "Running tidy on the created HTML"
$(Q)for filename in `find $(BASEDIR) -name "*.html"`; do \
tidy -config $(PWD)/tidy.conf $$filename; \
true; \
sh $(PWD)/obfuscate.sh $$filename; \
sed -i -e "s@text/html@application/xhtml+xml@g" $$filename; \
done;
tidy-d:
@echo "Running tidy on D:$(shell basename $(TIDY_DIR))"
@$(TOP)/tidy.sh "$(TIDY_DIR)"
else
tidy:
tidy tidy-f tidy-d:
@echo "Tidy is not installed on this system"
endif
 
render: $(ARCHS_HTML) titlepage
 
.PHONY: titlepage
titlepage:
@echo "Rendering Top Index"
$(Q)xsltproc --nonet --output $(BASEDIR)/index.html \
$(PWD)/stylesheets/top-index.xsl $(PWD)/index.xml
@echo "Rendering the top-level index..."
$(Q)xsltproc --nonet --output $(HTMLDIR)/index.html \
$(PWD)/stylesheets/top-index.xsl \
$(PWD)/index.xml
@$(MAKE) --no-print-directory tidy-f TIDY_FILE=$(HTMLDIR)/index.html
 
$(ARCHS_HTML): override html_arch = $(@:%$(S)html=%)
$(ARCHS_HTML):
@echo "Validating $(html_arch) book..."
ARCHS_VD_XML := $(ARCHS:%=%-validate_dump-xml)
.PHONY: $(ARCHS_VD_XML)
$(ARCHS_VD_XML): override arch = $(@:%-validate_dump-xml=%)
$(ARCHS_VD_XML):
@echo "Validating $(arch) book..."
$(Q)mkdir -p $(VALIDATEDIR)
$(Q)xmllint --nonet --noent --xinclude --postvalid \
-o $(RENDERTMP)/$(html_arch)-full.xml $(PWD)/$(html_arch)-index.xml
-o $(VALIDATEDIR)/$(arch)-full.xml \
$(PWD)/$(arch)-index.xml
 
@echo "Generating profiled $(html_arch) book for XHTML..."
ARCHS_P_XML := $(ARCHS:%=%-profiled-xml)
.PHONY: $(ARCHS_P_XML)
$(ARCHS_P_XML): override arch = $(@:%-profiled-xml=%)
$(ARCHS_P_XML):
@$(MAKE) --no-print-directory $(arch)-validate_dump-xml
@echo "Generating profiled $(arch) book..."
$(Q)mkdir -p $(PROFILEDIR)
$(Q)xsltproc --nonet --stringparam profile.condition html \
--output $(RENDERTMP)/$(html_arch)-html.xml \
$(PWD)/stylesheets/lfs-xsl/profile.xsl $(RENDERTMP)/$(html_arch)-full.xml
--output $(PROFILEDIR)/$(arch)-html.xml \
$(PWD)/stylesheets/lfs-xsl/profile.xsl \
$(VALIDATEDIR)/$(arch)-full.xml
 
@echo "Rendering chunked XHTML of $(html_arch)..."
$(Q)mkdir -p $(BASEDIR)/$(html_arch)
ARCHS_HTML := $(ARCHS:%=%-html)
.PHONY: html render $(ARCHS_HTML)
html render: $(ARCHS_HTML) titlepage
$(ARCHS_HTML): override arch = $(@:%-html=%)
$(ARCHS_HTML):
@$(MAKE) --no-print-directory $(arch)-profiled-xml
 
@echo "Rendering chunked XHTML of $(arch)..."
$(Q)mkdir -p $(HTMLDIR)/$(arch)
$(Q)xsltproc --nonet -stringparam chunk.quietly $(CHUNK_QUIET) \
-stringparam rootid "$(ROOT_ID)" \
-stringparam base.dir $(BASEDIR)/$(html_arch)/ \
$(PWD)/stylesheets/clfs-chunked.xsl $(RENDERTMP)/$(html_arch)-html.xml
-stringparam base.dir $(HTMLDIR)/$(arch)/ \
$(PWD)/stylesheets/clfs-chunked.xsl \
$(PROFILEDIR)/$(arch)-html.xml
 
@echo "Copying CSS code and images..."
$(Q)mkdir -p $(BASEDIR)/$(html_arch)/stylesheets
$(Q)cp $(PWD)/stylesheets/lfs-xsl/*.css $(BASEDIR)/$(html_arch)/stylesheets
$(Q)sed -i -e "s@../stylesheets@stylesheets@g" $(BASEDIR)/$(html_arch)/*.html
$(Q)mkdir -p $(BASEDIR)/$(html_arch)/images
$(Q)cp $(PWD)/images/*.png $(BASEDIR)/$(html_arch)/images
$(Q)sed -i -e "s@../images@images@g" $(BASEDIR)/$(html_arch)/*.html
@echo "Copying CSS code and images for $(arch)..."
$(Q)mkdir -p $(HTMLDIR)/$(arch)/stylesheets
$(Q)cp $(PWD)/stylesheets/lfs-xsl/*.css $(HTMLDIR)/$(arch)/stylesheets
$(Q)sed -i -e "s@../stylesheets@stylesheets@g" $(HTMLDIR)/$(arch)/*.html
$(Q)mkdir -p $(HTMLDIR)/$(arch)/images
$(Q)cp $(PWD)/images/*.png $(HTMLDIR)/$(arch)/images
$(Q)sed -i -e "s@../images@images@g" $(HTMLDIR)/$(arch)/*.html
 
nochunks: tmpdir $(ARCHS_NOCHUNKS) tidy
@$(MAKE) --no-print-directory tidy-d TIDY_DIR=$(HTMLDIR)/$(arch)
 
$(ARCHS_NOCHUNKS): override nochunk_arch = $(@:%$(S)nochunks=%)
ARCHS_NOCHUNKS := $(ARCHS:%=%-nochunks)
.PHONY: nochunks $(ARCHS_NOCHUNKS)
nochunks: $(ARCHS_NOCHUNKS)
$(ARCHS_NOCHUNKS): override arch = $(@:%-nochunks=%)
$(ARCHS_NOCHUNKS):
@echo "Validating $(nochunk_arch) book..."
$(Q)xmllint --nonet --noent --xinclude --postvalid \
-o $(RENDERTMP)/$(nochunk_arch)-full.xml $(PWD)/$(nochunk_arch)-index.xml
@$(MAKE) --no-print-directory $(arch)-profiled-xml
 
@echo "Generating profiled $(nochunk_arch) book for XHTML..."
$(Q)xsltproc --nonet --stringparam profile.condition html \
--output $(RENDERTMP)/$(nochunk_arch)-html.xml \
$(PWD)/stylesheets/lfs-xsl/profile.xsl \
$(RENDERTMP)/$(nochunk_arch)-full.xml
 
@echo "Rendering Single File HTML of $(nochunk_arch)..."
$(Q)mkdir -p $(BASEDIR)
@echo "Rendering Single File HTML of $(arch)..."
$(Q)mkdir -p $(NOCHUNKDIR)
$(Q)xsltproc --nonet -stringparam rootid "$(ROOT_ID)" \
--output $(BASEDIR)/CLFS-SYSROOT-$(nochunk_arch).html \
$(PWD)/stylesheets/clfs-nochunks.xsl $(RENDERTMP)/$(nochunk_arch)-html.xml
--output $(NOCHUNKDIR)/CLFS-$(arch).html \
$(PWD)/stylesheets/clfs-nochunks.xsl \
$(PROFILEDIR)/$(arch)-html.xml
 
@echo "Running Tidy..."
$(Q)tidy -config $(PWD)/tidy.conf $(BASEDIR)/CLFS-SYSROOT-$(nochunk_arch).html || true
@echo "Running obfuscate.sh..."
$(Q)sh $(PWD)/obfuscate.sh $(BASEDIR)/CLFS-SYSROOT-$(nochunk_arch).html
$(Q)sed -i -e "s@text/html@application/xhtml+xml@g" \
$(BASEDIR)/CLFS-SYSROOT-$(nochunk_arch).html
@$(MAKE) --no-print-directory tidy-f TIDY_FILE=$(NOCHUNKDIR)/CLFS-$(arch).html
 
pdf: tmpdir $(ARCHS_PDF)
ARCHS_FO := $(ARCHS:%=%-fo)
.PHONY: fo $(ARCHS_FO)
fo: $(ARCHS_FO)
$(ARCHS_FO): override arch = $(@:%-fo=%)
$(ARCHS_FO):
@$(MAKE) --no-print-directory $(arch)-profiled-xml
 
$(ARCHS_PDF): override pdf_arch = $(@:%$(S)pdf=%)
@echo "Generating FO file of $(arch)..."
@mkdir -p $(FODIR)
$(Q)xsltproc --nonet -stringparam rootid "$(ROOT_ID)" \
--output $(FODIR)/$(arch).fo \
$(PWD)/stylesheets/clfs-pdf.xsl \
$(PROFILEDIR)/$(arch)-html.xml
$(Q)sed -i -e 's/span="inherit"/span="all"/' $(FODIR)/$(arch).fo
 
ARCHS_PDF := $(ARCHS:%=%-pdf)
.PHONY: pdf $(ARCHS_PDF)
pdf: $(ARCHS_PDF)
$(ARCHS_PDF): override arch = $(@:%-pdf=%)
$(ARCHS_PDF):
@echo "Validating $(pdf_arch) book..."
$(Q)xmllint --nonet --noent --xinclude --postvalid \
-o $(RENDERTMP)/$(pdf_arch)-full.xml $(PWD)/$(pdf_arch)-index.xml
@$(MAKE) --no-print-directory $(arch)-fo
 
@echo "Generating profiled $(pdf_arch) book for PDF..."
$(Q)xsltproc --nonet --stringparam profile.condition pdf \
--output $(RENDERTMP)/$(pdf_arch)-pdf.xml \
$(PWD)/stylesheets/lfs-xsl/profile.xsl \
$(RENDERTMP)/$(pdf_arch)-full.xml
@echo "Rendering PDF of $(arch)..."
$(Q)mkdir -p $(PDFDIR)
$(Q)fop $(FODIR)/$(arch).fo $(PDFDIR)/CLFS-$(arch).pdf
 
@echo "Generating FO file of $(pdf_arch)..."
$(Q)xsltproc --nonet -stringparam rootid "$(ROOT_ID)" \
--output $(RENDERTMP)/$(pdf_arch).fo $(PWD)/stylesheets/clfs-pdf.xsl \
$(RENDERTMP)/$(pdf_arch)-pdf.xml
$(Q)sed -i -e 's/span="inherit"/span="all"/' $(RENDERTMP)/$(pdf_arch).fo
 
@echo "Rendering PDF of $(pdf_arch)..."
$(Q)mkdir -p $(BASEDIR)
$(Q)fop $(RENDERTMP)/$(pdf_arch).fo $(BASEDIR)/CLFS-SYSROOT-$(pdf_arch).pdf
 
ARCHS_VALIDATE := $(ARCHS:%=%-validate)
.PHONY: validate $(ARCHS_VALIDATE)
validate: $(ARCHS_VALIDATE)
 
$(ARCHS_VALIDATE): override validate_arch = $(@:%$(S)validate=%)
$(ARCHS_VALIDATE): override arch = $(@:%-validate=%)
$(ARCHS_VALIDATE):
@echo "Validating $(validate_arch)..."
$(Q)xmllint --xinclude --noout --nonet --postvalid $(PWD)/$(validate_arch)-index.xml
@echo "Validating $(arch)..."
$(Q)xmllint --xinclude --noout \
--nonet --postvalid \
$(PWD)/$(arch)-index.xml
 
trouble: tmpdir $(ARCHS_TROUBLE)
 
$(ARCHS_TROUBLE): override trouble_arch = $(@:%$(S)trouble=%)
ARCHS_TROUBLE := $(ARCHS:%=%-trouble)
.PHONY: trouble $(ARCHS_TROUBLE)
trouble: $(ARCHS_TROUBLE)
$(ARCHS_TROUBLE): override arch = $(@:%-trouble=%)
$(ARCHS_TROUBLE):
@echo "Troubleshooting $(trouble_arch)..."
@echo "Troubleshooting $(arch)..."
@mkdir -p $(TROUBLEDIR)
$(Q)xmllint --xinclude --nonet --postvalid \
-o $(RENDERTMP)/dump-$(trouble_arch) $(PWD)/$(trouble_arch)-index.xml
$(Q)xmllint --xinclude --noout --nonet --valid $(RENDERTMP)/dump-$(trouble_arch)
@echo "You can now look at $(RENDERTMP)/dump-$(trouble_arch) to see the errors"
-o $(TROUBLEDIR)/dump-$(arch) \
$(PWD)/$(arch)-index.xml
$(Q)xmllint --xinclude --noout --nonet --valid \
$(TROUBLEDIR)/dump-$(arch)
@echo "You can now look at $(TROUBLEDIR)/dump-$(arch) to see the errors"
 
ARCHS_DUMP := $(ARCHS:%=%-dump)
.PHONY: dump-commands $(ARCHS_DUMP)
dump-commands: $(ARCHS_DUMP)
 
$(ARCHS_DUMP): override dump_arch = $(@:%$(S)dump=%)
$(ARCHS_DUMP): override arch = $(@:%-dump=%)
$(ARCHS_DUMP):
@echo "Extracting commands from $(dump_arch)..."
$(Q)mkdir -p $(DUMPDIR)/$(dump_arch)
$(Q)xsltproc --xinclude --nonet --output $(DUMPDIR)/$(dump_arch)/ \
$(PWD)/stylesheets/dump-commands.xsl $(PWD)/$(dump_arch)-index.xml
@echo "Extracting commands from $(arch)..."
$(Q)mkdir -p $(DUMPDIR)/$(arch)
$(Q)xsltproc --xinclude --nonet \
--output $(DUMPDIR)/$(arch)/ \
$(PWD)/stylesheets/dump-commands.xsl \
$(PWD)/$(arch)-index.xml
 
ARCHS_DLLIST := $(ARCHS:%=%-dllist)
.PHONY: download-list $(ARCHS_DLLIST)
download-list: $(ARCHS_DLLIST)
 
$(ARCHS_DLLIST): override dllist_arch = $(@:%$(S)dllist=%)
$(ARCHS_DLLIST): override arch = $(@:%-dllist=%)
$(ARCHS_DLLIST):
@echo "Creating download list for $(dllist_arch)..."
@echo "Creating download list for $(arch)..."
$(Q)mkdir -p $(DLLISTDIR)
$(Q)xsltproc --xinclude --nonet --output $(DLLISTDIR)/$(dllist_arch).dl.list \
$(PWD)/stylesheets/wget.xsl $(PWD)/$(dllist_arch)-index.xml
$(Q)xsltproc --xinclude --nonet \
--output $(DLLISTDIR)/$(arch).list \
$(PWD)/stylesheets/wget.xsl \
$(PWD)/$(arch)-index.xml
 
FG_GREEN := $(shell echo -e '\e[0;32m')
FG_BLUE := $(shell echo -e '\e[0;34m')
FG_DEFAULT := $(shell echo -e '\e[0;0m')
help:
@echo "Output: $(RENDERDIR)"
@echo
@echo "HTML Targets"
@echo -e " \e[0;32mlfs tidy render titlepage \e[0;34m$(ARCHS_HTML)\e[0;0m"
@echo " $(FG_GREEN)clfs lfs tidy html render titlepage $(FG_BLUE)$(ARCHS_HTML)$(FG_DEFAULT)"
@echo
@echo "NoChunks Targets"
@echo -e " \e[0;32mnochunks tidy \e[0;34m$(ARCHS_NOCHUNKS)\e[0;0m"
@echo " $(FG_GREEN)nochunks tidy $(FG_BLUE)$(ARCHS_NOCHUNKS)$(FG_DEFAULT)"
@echo
@echo "FO Targets"
@echo " $(FG_GREEN)fo $(FG_BLUE)$(ARCHS_FO)$(FG_DEFAULT)"
@echo
@echo "PDF Targets"
@echo -e " \e[0;32mpdf \e[0;34m$(ARCHS_PDF)\e[0;0m"
@echo " $(FG_GREEN)pdf $(FG_BLUE)$(ARCHS_PDF)$(FG_DEFAULT)"
@echo
@echo "Validate Targets"
@echo -e " \e[0;32mvalidate \e[0;34m$(ARCHS_VALIDATE)\e[0;0m"
@echo " $(FG_GREEN)validate $(FG_BLUE)$(ARCHS_VALIDATE)$(FG_DEFAULT)"
@echo
@echo "Trouble Targets"
@echo -e " \e[0;32mtrouble \e[0;34m$(ARCHS_TROUBLE)\e[0;0m"
@echo " $(FG_GREEN)trouble $(FG_BLUE)$(ARCHS_TROUBLE)$(FG_DEFAULT)"
@echo
@echo "Dump-Commands Targets"
@echo -e " \e[0;32mdump-commands \e[0;34m$(ARCHS_DUMP)\e[0;0m"
@echo " $(FG_GREEN)dump-commands $(FG_BLUE)$(ARCHS_DUMP)$(FG_DEFAULT)"
@echo
@echo "Download-List Targets"
@echo -e " \e[0;32mdownload-list \e[0;34m$(ARCHS_DLLIST)\e[0;0m"
@echo " $(FG_GREEN)download-list $(FG_BLUE)$(ARCHS_DLLIST)$(FG_DEFAULT)"