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

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

r3663@server (orig r1664): jciccone | 2006-05-26 17:16:29 -0700
Added glibc-ports to arm and made a few text changes

  • Property mode set to 100644
File size: 4.4 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=/tools/include</parameter></term>
85           <listitem>
86              <para>This tells Glibc to compile itself against the headers
87              recently installed to the <filename class="directory">/tools</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.