Changeset e666df1 in clfs-embedded for BOOK/cross-tools
- Timestamp:
- Nov 10, 2006, 12:56:08 AM (18 years ago)
- Branches:
- master
- Children:
- 4ef72df
- Parents:
- e2d2a2d
- Location:
- BOOK/cross-tools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/cross-tools/common/binutils.xml
re2d2a2d re666df1 27 27 <title>Installation of Cross Binutils</title> 28 28 29 <para os=" da">It is important that Binutils be the first package compiled30 because both Glibc and GCC perform various tests on the available29 <para os="a">It is important that Binutils be the first package compiled 30 because both uClibc and GCC perform various tests on the available 31 31 linker and assembler to determine which of their own features to 32 32 enable.</para> 33 33 34 35 34 <para os="p1">To make sure that the proper syntax is used for a couple of 36 35 tools, apply the following patch:</para> … … 38 37 <screen os="p2"><userinput>patch -Np1 -i ../&binutils-posix-patch;</userinput></screen> 39 38 40 <para os=" a">The Binutils documentation recommends building Binutils outside of the39 <para os="b">The Binutils documentation recommends building Binutils outside of the 41 40 source directory in a dedicated build directory:</para> 42 41 43 <screen os=" b"><userinput>mkdir -v ../binutils-build42 <screen os="c"><userinput>mkdir -v ../binutils-build 44 43 cd ../binutils-build</userinput></screen> 45 44 46 <para os=" c">Prepare Binutils for compilation:</para>47 48 <screen os=" bc"><userinput>../binutils-&binutils-version;/configure --prefix=${CLFS}/cross-tools \45 <para os="d">Prepare Binutils for compilation:</para> 46 47 <screen os="e"><userinput>../binutils-&binutils-version;/configure --prefix=${CLFS}/cross-tools \ 49 48 --host=${CLFS_HOST} --target=${CLFS_TARGET} --with-sysroot=${CLFS} \ 50 49 --disable-nls --enable-shared --disable-multilib</userinput></screen> 51 50 52 <variablelist os=" bd">51 <variablelist os="f"> 53 52 <title>The meaning of the configure options:</title> 54 53 55 <varlistentry os=" bd1">54 <varlistentry os="f1"> 56 55 <term><parameter>--prefix=${CLFS}/cross-tools</parameter></term> 57 56 <listitem> … … 62 61 </varlistentry> 63 62 64 <varlistentry os=" bd2">63 <varlistentry os="f2"> 65 64 <term><parameter>--host=${CLFS_HOST}</parameter></term> 66 65 <listitem> … … 71 70 </varlistentry> 72 71 73 <varlistentry os=" bd3">72 <varlistentry os="f3"> 74 73 <term><parameter>--target=${CLFS_TARGET}</parameter></term> 75 74 <listitem> … … 80 79 </varlistentry> 81 80 82 <varlistentry os=" bd4">81 <varlistentry os="f4"> 83 82 <term><parameter>--with-sysroot=${CLFS}</parameter></term> 84 83 <listitem> … … 89 88 </varlistentry> 90 89 91 <varlistentry os=" bd5">90 <varlistentry os="f5"> 92 91 <term><parameter>--disable-nls</parameter></term> 93 92 <listitem> … … 97 96 </varlistentry> 98 97 99 <varlistentry os=" bd6">98 <varlistentry os="f6"> 100 99 <term><parameter>--enable-shared</parameter></term> 101 100 <listitem> … … 104 103 </varlistentry> 105 104 106 <varlistentry os=" bd7">105 <varlistentry os="f7"> 107 106 <term><parameter>--disable-multilib</parameter></term> 108 107 <listitem> … … 114 113 </variablelist> 115 114 116 <para os=" be">Compile the package:</para>117 118 <screen os=" bf"><userinput>make configure-host115 <para os="g">Compile the package:</para> 116 117 <screen os="h"><userinput>make configure-host 119 118 make</userinput></screen> 120 119 121 <variablelist os=" bg">120 <variablelist os="i"> 122 121 <title>The meaning of the make options:</title> 123 122 124 <varlistentry os=" bg1">123 <varlistentry os="i1"> 125 124 <term><parameter>configure-host</parameter></term> 126 125 <listitem> … … 132 131 </variablelist> 133 132 134 <para os=" bh">Install the package:</para>135 136 <screen os=" bi"><userinput>make install</userinput></screen>137 138 <para os=" bj">Copy the <filename class="headerfile">libiberty.h</filename> file to133 <para os="j">Install the package:</para> 134 135 <screen os="k"><userinput>make install</userinput></screen> 136 137 <para os="l">Copy the <filename class="headerfile">libiberty.h</filename> file to 139 138 <filename class="directory">${CLFS}/usr/include</filename> directory:</para> 140 139 141 <screen os=" bk"><userinput>cp -v ../binutils-&binutils-version;/include/libiberty.h ${CLFS}/usr/include</userinput></screen>140 <screen os="m"><userinput>cp -v ../binutils-&binutils-version;/include/libiberty.h ${CLFS}/usr/include</userinput></screen> 142 141 143 142 </sect2> -
BOOK/cross-tools/x86/uclibc-headers.xml
re2d2a2d re666df1 23 23 <title>Installation of uClibc Headers</title> 24 24 25 <para os="a">Since we are cross-compiling, we need to make sure when we 26 configuration for our architecture we get the correct information. The 27 following sed makes sure we are using the proper settings for our 28 architecture: (This is a place holder for the other architectures</para> 25 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 26 href="uclibc.xml" 27 xpointer="xpointer(//*[@os='a'])"/> 29 28 30 <screen os="b"><userinput>cp extra/Configs/Config.in extra/Configs/Config.in.orig 31 sed -e "s:default TARGET_i386:default TARGET_i386:" \ 32 extra/Configs/Config.in.orig > extra/Configs/Config.in</userinput></screen>29 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 30 href="uclibc.xml" 31 xpointer="xpointer(//*[@os='b'])"/> 33 32 34 <para os="c">By default uClibc symlinks all its headers from the source, we 35 will change this behavious with the following sed:</para> 36 37 <screen os="d"><userinput>cp Makefile Makefile.orig 38 sed -e 's/$(LN) -fs/cp/g' Makefile.orig > Makefile 39 for file in `find libc/sysdeps/linux -name Makefile`; do 40 cp $file $file.orig 41 sed -e 's/$(LN) -fs/cp/g' -e 's@../libc/@$(TOPDIR)libc/@g' $file.orig > $file 42 done</userinput></screen> 33 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 34 href="uclibc.xml" 35 xpointer="xpointer(//*[@os='c'])"/> 43 36 44 <para os="e">Now we will ask uClibc to create a default configuration:</para> 37 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 38 href="uclibc.xml" 39 xpointer="xpointer(//*[@os='d'])"/> 45 40 46 <screen os="f"><userinput>make defconfig</userinput></screen> 41 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 42 href="uclibc.xml" 43 xpointer="xpointer(//*[@os='e'])"/> 44 45 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 46 href="uclibc.xml" 47 xpointer="xpointer(//*[@os='f'])"/> 48 49 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 50 href="uclibc.xml" 51 xpointer="xpointer(//*[@os='h'])"/> 52 53 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 54 href="uclibc.xml" 55 xpointer="xpointer(//*[@os='i'])"/> 47 56 48 57 <para os="g">Create the Headers:</para> … … 53 62 files were copied into the source directory of uClibc:</para> 54 63 55 <screen os="j"><userinput>rm include/{asm,asm-generic,linux}</userinput></screen> 64 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 65 href="uclibc.xml" 66 xpointer="xpointer(//*[@os='l'])"/> 56 67 57 <para os="k">Install the Headers:</para> 68 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 69 href="uclibc.xml" 70 xpointer="xpointer(//*[@os='m'])"/> 58 71 59 72 <screen os="l"><userinput>cp -a include/* ${CLFS}/usr/include</userinput></screen> -
BOOK/cross-tools/x86/uclibc.xml
re2d2a2d re666df1 59 59 .config.orig > .config</userinput></screen> 60 60 61 <para os="h">Compile the package:</para> 61 <para os="h">We will need to make sure that some settings in uClibc are set so we 62 can utilize all the features of BusyBox:</para> 62 63 63 <screen os="i"><userinput>make TARGET_ARCH=i386</userinput></screen> 64 <screen os="i"><userinput>UCLIBC_OPTIONS="DO_C99_MATH UCLIBC_HAS_RPC UCLIBC_HAS_CTYPE_CHECKED UCLIBC_HAS_WCHAR UCLIBC_HAS_HEXADECIMAL_FLOATS 65 UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE UCLIBC_HAS_PRINTF_M_SPEC UCLIBC_HAS_FTW UCLIBC_HAS_IPV6" 66 for config in $UCLIBC_OPTIONS; do 67 cp .config .config.orig 68 sed -e "s:# ${config} is not set:${config}=y:" .config.orig > .config 69 done 70 echo "UCLIBC_HAS_FULL_RPC=y" >> .config</userinput></screen> 64 71 65 <para os="j">We will remove the files that were copied over from our Linux Headers, these 72 <para os="j">Compile the package:</para> 73 74 <screen os="k"><userinput>make TARGET_ARCH=i386</userinput></screen> 75 76 <para os="l">We will remove the files that were copied over from our Linux Headers, these 66 77 files were copied into the source directory of uClibc:</para> 67 78 68 <screen os=" k"><userinput>rm include/{asm,asm-generic,linux}</userinput></screen>79 <screen os="m"><userinput>rm include/{asm,asm-generic,linux}</userinput></screen> 69 80 70 <para os=" l">Install the package:</para>81 <para os="n">Install the package:</para> 71 82 72 <screen os=" m"><userinput>make PREFIX=${CLFS} install</userinput></screen>83 <screen os="o"><userinput>make PREFIX=${CLFS} install</userinput></screen> 73 84 74 85 </sect2>
Note:
See TracChangeset
for help on using the changeset viewer.