First Pass ---------- ---------- Boot with dsln-rc4 Binutils-2.17 ------------- mkdir -v ../binutils-build cd ../binutils-build CC="gcc -B/usr/bin/" ../binutils-2.17/configure --prefix=/opt/tools --disable-nls --disable-werror make sudo make install make -C ld clean make -C ld LIB_PATH=/opt/tools/lib sudo cp ld/ld-new /opt/tools/bin GCC-4.2.2 --------- mkdir -v ../gcc-build cd ../gcc-build CC="gcc -B/usr/bin/" ../gcc-4.1.2/configure --prefix=/opt/tools --with-local-prefix=/opt/tools --disable-nls --enable-shared --enable-languages=c make bootstrap sudo make install sudo ln -s gcc /opt/tools/bin/cc linux-2.6.24-2 -------------- make mrproper make headers_check make INSTALL_HDR_PATH=dest headers_install sudo cp -r dest/include/* /opt/tools/include glibc-2.3.6 ----------- mkdir -v ../glibc-build cd ../glibc-build ../glibc-2.3.6/configure --prefix=/opt/tools --disable-profile --enable-add-ons --enable-kernel=2.6.0 --with-binutils=/opt/tools/bin --without-gd --with-headers=/opt/tools/include --without-selinux make sudo mkdir /opt/tools/etc sudo touch /opt/tools/etc/ld.so.conf sudo make install adjust toolchain ---------------- sudo mv /opt/tools/bin/{ld,ld-old} sudo mv /opt/tools/$(gcc -dumpmachine)/bin/{ld,ld-old} sudo mv /opt/tools/bin/{ld-new,ld} sudo ln -s /opt/tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld gcc -dumpspecs | sed 's@^/lib/ld-linux.so.2@//opt/tools&@g' > `dirname $(gcc -print-libgcc-file-name)`/specs GCC_INCLUDEDIR=`dirname $(gcc -print-libgcc-file-name)`/include find ${GCC_INCLUDEDIR}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; rm -f `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` unset GCC_INCLUDEDIR second pass ----------- ----------- export PATH=/opt/tools/bin:$PATH GCC-4.2.2 --------- cp gcc/Makefile.in{,.orig} sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in cp gcc/Makefile.in{,.tmp} sed 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp > gcc/Makefile.in patch -Np1 -i ../gcc-4.1.2-specs-1.patch mkdir -v ../gcc-build cd ../gcc-build ../gcc-4.2.2/configure --prefix=/opt/tools --with-local-prefix=/opt/tools --enable-clocale=gnu --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++ --disable-libstdcxx-pch make sudo make install Binutils-2.17 ------------- mkdir -v ../binutils-build cd ../binutils-build ../binutils-2.17/configure --prefix=/opt/tools --disable-nls --with-lib-path=/opt/tools/lib make sudo make install make -C ld clean make -C ld LIB_PATH=/usr/lib:/lib sudo cp ld/ld-new /opt/tools/bin Ncurses-5.6 ----------- ./configure --prefix=/opt/tools --with-shared --without-debug --without-ada --enable-overwrite make sudo make install Findutils-4.2.31 ---------------- ./configure --prefix=/opt/tools make sudo make install Gawk-3.1.5 ---------- ./configure --prefix=/opt/tools make sudo make install Gettext-0.16.1 -------------- cd gettext-tools ./configure --prefix=/opt/tools --disable-shared make -C gnulib-lib make -C src msgfmt sudo cp src/msgfmt /opt/tools/bin Grep-2.5.1a ----------- ./configure --prefix=/opt/tools --disable-perl-regexp make sudo make install Make-3.81 --------- ./configure --prefix=/opt/tools make sudo make install Patch-2.5.4 ----------- ./configure --prefix=/opt/tools make sudo make install Sed-4.1.5 --------- ./configure --prefix=/opt/tools make sudo make install Make a big extension out of everything in /opt/tools final pass ---------- ---------- Boot in tiny core untar the extension to /opt/tools export PATH=$PATH:/opt/tools/bin: linux-2.6.24-2 -------------- make mrproper make headers_check make INSTALL_HDR_PATH=dest headers_install sudo cp -r dest/include/* /usr/include glibc-2.3.6 ----------- mkdir -v ../glibc-build cd ../glibc-build ../glibc-2.3.6/configure --prefix=/opt/temp --disable-profile --enable-add-ons --enable-kernel=2.6.0 --libexecdir=/opt/temp/lib/glibc make sudo touch /opt/temp/etc/ld.so.conf sudo make install sudo cp /opt/temp/include/* /usr/include [ask Robert to send you the following from his glibc build]: /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtn.o /usr/lib/libc.a /usr/lib/libc.so /usr/lib/libc_nonshared.a adjust toolchain ---------------- sudo mv /opt/tools/bin/{ld,ld-old} sudo mv /opt/tools/$(gcc -dumpmachine)/bin/{ld,ld-old} sudo mv /opt/tools/bin/{ld-new,ld} sudo ln -s /opt/tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld gcc -dumpspecs | sed -e 's@/opt/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g' -e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' -e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' > `dirname $(gcc --print-libgcc-file-name)`/specs Binutils-2.17 ------------- mkdir -v ../binutils-build cd ../binutils-build ../binutils-2.17/configure --prefix=/usr --enable-shared make tooldir=/usr sudo make tooldir=/usr install sudo cp ../binutils-2.17/include/libiberty.h /usr/include GCC-4.2.2 --------- sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in sed -i 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in sed -i 's/@have_mktemp_command@/yes/' gcc/gccbug.in mkdir -v ../gcc-build cd ../gcc-build ../gcc-4.2.2/configure --prefix=/usr --libexecdir=/usr/lib --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++ make sudo make install sudo ln -s ../usr/bin/cpp /lib sudo ln -sv gcc /usr/bin/cc Sed-4.1.5 --------- ./configure --prefix=/usr --bindir=/bin make sudo make install M4-1.4.10 --------- ./configure --prefix=/usr make sudo make install Bison-2.3 --------- ./configure --prefix=/usr echo '#define YYENABLE_NLS 1' >> config.h make sudo make install Ncurses-5.6 ----------- patch -Np1 -i ../ncurses-5.6-coverity_fixes-1.patch ./configure --prefix=/usr --with-shared --without-debug --enable-overwrite make sudo make install Zlib-1.2.3 ---------- ./configure --prefix=/usr --shared --libdir=/lib make sudo make install File-4.21 --------- ./configure --prefix=/usr make sudo make install Findutils-4.2.31 ---------------- ./configure --prefix=/usr --libexecdir=/usr/lib/findutils --localstatedir=/var/lib/locate make sudo make install Flex-2.5.33 ----------- ./configure --prefix=/usr make sudo make install cat > /usr/bin/lex << "EOF" #!/bin/sh exec /usr/bin/flex -l "$@" EOF sudochmod -v 755 /usr/bin/lex Gawk-3.1.5 ---------- patch -Np1 -i ../gawk-3.1.5-segfault_fix-1.patch ./configure --prefix=/usr --libexecdir=/usr/lib make sudo make install Gettext-0.16.1 -------------- cd gettext-tools ./configure --prefix=/usr --disable-shared make -C gnulib-lib make -C src msgfmt sudo cp src/msgfmt /usr/bin Grep-2.5.1a ----------- patch -Np1 -i ../grep-2.5.1a-redhat_fixes-2.patch ./configure --prefix=/usr --bindir=/bin make sudo make install Make-3.81 --------- ./configure --prefix=/usr make sudo make install Patch-2.5.4 ----------- ./configure --prefix=/usr make sudo make install FreeType-2.3.4 -------------- ./configure --prefix=/usr make sudo make install libjpeg-6b ---------- ./configure --prefix=/usr --enable-static --enable-shared make sudo make install libpng-1.2.29 ------------- ./configure --prefix=/usr make sudo make install pkg-config-0.22 --------------- ./configure --prefix=/usr make sudo make install sysfsutils-2.1.0 ---------------- ./configure --prefix=/usr make sudo make install fltk-1.1.9 ---------- ./configure --prefix=/usr make sudo make install