source: clfs-sysroot/BOOK/cross-tools/arm/glibc-headers.xml @ f6c417f

Last change on this file since f6c417f was f6c417f, checked in by Jim Gifford <clfs@…>, 18 years ago

r3667@server (orig r1666): jciccone | 2006-05-27 12:10:35 -0700
Updated the description of the configure command for glibc-headers. Removed --disable-threads from gcc-static and gcc-final and added --enable-shared to gcc-final.

  • Property mode set to 100644
File size: 4.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4  <!ENTITY % general-entities SYSTEM "../../general.ent">
5  %general-entities;
6]>
7
8<sect1 id="ch-cross-tools-glibc-headers" role="wrap">
9  <?dbhtml filename="glibc-headers.html"?>
10
11  <title>Glibc-&glibc-version; Headers</title>
12
13  <indexterm zone="ch-cross-tools-glibc-headers">
14    <primary sortas="a-Glibc">Glibc</primary>
15    <secondary>cross tools, headers</secondary>
16  </indexterm>
17
18  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
19  href="../common/glibc.xml"
20  xpointer="xpointer(//*[@role='package'])"/>
21
22  <sect2 role="installation">
23    <title>Installation of Glibc Headers</title>
24
25    <para os="s1">The following sed removes a dependency of gcc 3.4.x from
26    the glibc we are using in cross-lfs. The reason we are changing it is
27    because this only installs the headers, no compiling takes place. In the
28    next glibc chapter, we use the gcc that's built right after this chapter.</para>
29       
30<screen os="s2"><userinput>cp configure{,.orig}
31sed -e 's/3.4/3.[0-9]/g' configure.orig > configure</userinput></screen>
32
33    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
34    href="glibc.xml"
35    xpointer="xpointer(//*[@os='u1'])"/>
36
37    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
38    href="glibc.xml"
39    xpointer="xpointer(//*[@os='u2'])"/>
40
41    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
42    href="../common/glibc.xml"
43    xpointer="xpointer(//*[@os='b'])"/>
44
45    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
46    href="../common/glibc.xml"
47    xpointer="xpointer(//*[@os='c'])"/>
48
49    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
50    href="../common/glibc.xml"
51    xpointer="xpointer(//*[@os='d'])"/>
52
53<screen os="e"><userinput>echo "libc_cv_forced_unwind=yes" &gt; config.cache
54echo "libc_cv_c_cleanup=yes" &gt;&gt; config.cache
55echo "libc_cv_arm_tls=yes" &gt;&gt; config.cache</userinput></screen>
56
57    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
58    href="../common/glibc.xml"
59    xpointer="xpointer(//*[@os='f'])"/>
60
61    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
62    href="../common/glibc.xml"
63    xpointer="xpointer(//*[@os='g'])"/>
64
65    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
66    href="../common/glibc.xml"
67    xpointer="xpointer(//*[@os='h'])"/>
68
69<screen os="i"><userinput>CC=gcc ../glibc-&glibc-version;/configure --prefix=/usr \
70   --host=${LFS_TARGET} --build=${LFS_HOST} \
71   --with-headers=${LFS}/usr/include --cache-file=config.cache</userinput></screen>
72
73    <variablelist os="dj">
74       <title>The meaning of the configure options:</title>
75       
76          <varlistentry os="dj1">
77             <term><parameter>CC=gcc</parameter></term>
78             <listitem>
79                <para>Tells GLIBC to use the hosts GCC compiler.</para>
80             </listitem>
81          </varlistentry>
82       
83       <varlistentry os="dj2">
84           <term><parameter>--with-headers=${LFS}/usr/include</parameter></term>
85           <listitem>
86              <para>This tells Glibc to compile itself against the headers
87              recently installed to the <filename class="directory">${LFS}/usr/include</filename>
88              directory, so that it knows exactly what features the kernel has
89              and can optimize itself accordingly.</para>
90           </listitem>
91       </varlistentry>
92       
93     </variablelist>
94       
95   <para os="k">Now, install the headers:</para>
96
97<screen os="l"><userinput>make install-headers</userinput></screen>
98
99   <para os="m">Some files aren't installed by the above command, then
100    we will copy the header files we need:</para>
101
102   <para os="n">First we will copy a common file over to <filename 
103   class="directory">${LFS}/usr/include</filename>:</para>
104
105<screen os="o"><userinput>install -dv ${LFS}/usr/include/bits
106cp -v bits/stdio_lim.h ${LFS}/usr/include/bits</userinput></screen>
107
108   <para os="p">Now we will create a blank stub file:</para>
109
110<screen os="q"><userinput>touch ${LFS}/usr/include/gnu/stubs.h</userinput></screen>
111
112   <para os="r">For NPTL we use the following command:</para>
113   
114<screen os="s"><userinput>cp -v ../glibc-&glibc-version;/../glibc-2.4/ports/sysdeps/unix/sysv/linux/arm/nptl/bits/pthreadtypes.h \
115    ${LFS}/usr/include/bits</userinput></screen>
116
117  </sect2>
118
119  <sect2 role="content">
120    <title/>
121
122    <para>Details on this package are located in <xref
123    linkend="contents-glibc" role="."/></para>
124
125  </sect2>
126
127</sect1>
Note: See TracBrowser for help on using the repository browser.