source: clfs-embedded/BOOK/cross-tools/x86/uclibc.xml @ 128e9a4

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

Fixed variable page on x86

  • Property mode set to 100644
File size: 3.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4  <!ENTITY % general-entities SYSTEM "../../general.ent">
5  %general-entities;
6]>
7
8<sect1 id="ch-cross-tools-uclibc" role="wrap">
9  <?dbhtml filename="uclibc.html"?>
10
11  <title>uClibc-&uclibc-version;</title>
12
13  <indexterm zone="ch-cross-tools-uclibc">
14    <primary sortas="a-uClibc">uClibc</primary>
15    <secondary>cross tools</secondary>
16  </indexterm>
17
18  <sect2 role="package">
19    <title/>
20
21    <para>The uClibc package contains the main C library. This library provides
22    the basic routines for allocating memory, searching directories, opening and
23    closing files, reading and writing files, string handling, pattern matching,
24    arithmetic, and so on.</para>
25
26  </sect2>
27
28  <sect2 role="installation">
29    <title>Installation of uClibc</title>
30
31    <note os="a">
32      <para>Below we are just telling uClibc to use its default configuration.
33      For those for more adventureous, you can use make menuconfig, and
34      do a more custom build for your uClibc installation.</para>
35    </note>
36
37    <para os="p1">The following patch contains a number of updates to the
38    &uclibc-version; branch by the uClibc developers:</para>
39
40<screen os="p2"><userinput>patch -Np1 -i ../&uclibc-branch_update-patch;</userinput></screen>
41
42    <para os="b">Create the default configuration:</para>
43
44<screen os="c"><userinput>make defconfig ARCH=i386</userinput></screen>
45
46   <para os="d">We will need to edit the configuration file, to make sure everything gets
47   compiled and put into its proper location:</para>
48
49<screen os="e"><userinput>cp .config{,.orig}
50sed -e "/# TARGET_${CLFS_ARCH} is not set/TARGET_${CLFS_ARCH}=y/" \
51    -e "/^TARGET_ARCH=\".*\"/TARGET_ARCH=\"$(CLFS__ARCH)\"/" \
52    -e "/^CROSS_COMPILER_PREFIX/s:=.*:=\"${CLFS_TARGET}-\":" \
53    -e "/^KERNEL_HEADERS/s:=.*:=\"${CLFS}/usr/include\":" \
54    -e "/^SHARED_LIB_LOADER_PREFIX/s:=.*:=\"/lib\":" \
55    -e "/^DEVEL_PREFIX/s:=.*:=\"/usr\":" \
56    -e "/^RUNTIME_PREFIX/s:=.*:=\"/\":" \
57    .config.orig > .config</userinput></screen>
58
59    <para os="h">We have made some changes to our config, let's make sure
60    that we didn't miss and dependencies:</para>
61
62<screen os="i"><userinput>make oldconfig</userinput></screen>
63
64    <para os="j">Compile the package:</para>
65
66<screen os="k"><userinput>make CC="${CLFS_TARGET}-gcc ${BUILD}"</userinput></screen>
67
68    <para os="l">Install the package:</para>
69
70<screen os="m"><userinput>make PREFIX=${CLFS} install</userinput></screen>
71
72  </sect2>
73
74  <sect2 id="contents-uclibc" role="content">
75    <title>Contents of uClibc</title>
76
77    <segmentedlist>
78      <segtitle>Installed uClibc</segtitle>
79
80      <seglistitem>
81        <seg>To Be Written</seg>
82      </seglistitem>
83    </segmentedlist>
84<!--
85    <variablelist>
86      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
87      <?dbfo list-presentation="list"?>
88      <?dbhtml list-presentation="table"?>
89
90     <varlistentry id="uclibc">
91        <term><filename
92        class="headerfile">/usr/include/{asm,linux}/*.h</filename></term>
93        <listitem>
94          <para>The Linux API headers</para>
95          <indexterm zone="ch-system-linux-headers linux-headers">
96            <primary
97            sortas="e-/usr/include/{asm,linux}/*.h">/usr/include/{asm,linux}/*.h</primary>
98          </indexterm>
99        </listitem>
100      </varlistentry>
101    </variablelist>
102-->
103
104  </sect2>
105</sect1>
Note: See TracBrowser for help on using the repository browser.