Upgraded to gcc-4.5.1
authorgobo72 <gobo72@364a67c3-989e-7be9-548d-dae8560ea662>
Sun, 31 Oct 2010 21:34:36 +0000 (21:34 +0000)
committergobo72 <gobo72@364a67c3-989e-7be9-548d-dae8560ea662>
Sun, 31 Oct 2010 21:34:36 +0000 (21:34 +0000)
packages-list
stage0/cis-binutils
stage0/cis-eglibc
stage0/cis-gcc-common [new file with mode: 0755]
stage0/cis-gcc-pass1
stage0/cis-gcc-pass2
stage0/install-1
stage0/packages-update
stage1/install-linux-minimal
stage2/cis-kernel
sysinfos

index b345995..ad511bb 100644 (file)
@@ -25,7 +25,7 @@ BASH="bash-4.0"
 BC="bc-1.06"
 BISON="bison-2.4.1"
 BIND="bind-9.6.1-P3"
-BINUTILS="binutils-2.20"
+BINUTILS="binutils-2.20.1"
 ARM_BINUTILS=${BINUTILS}
 AVR_BINUTILS=${BINUTILS}
 BRIDGE_UTILS="bridge-utils-1.4"
@@ -37,7 +37,7 @@ CDRTOOLS="cdrtools-2.01"
 CDRDAO="cdrdao-1.2.2"
 CKERMIT="ckermit-8.0.211"
 CLAMAV="clamav-0.93.3"
-CLOOG_PPL="cloog-ppl-0.15.7"
+CLOOG_PPL="cloog-ppl-0.15.9"
 CONSOLEKIT="ConsoleKit-0.4.1"
 COREUTILS="coreutils-7.6"
 CPIO="cpio-2.9"
@@ -69,8 +69,8 @@ E2FSPROGS="e2fsprogs-1.41.9"
 EASYTAG="easytag-2.1"
 ED="ed-1.4"
 EGGDBUS="eggdbus-0.6"
-EGLIBC="eglibc-2.10.2-20100305-r9381"
-EGLIBC_PORTS="eglibc-ports-2.10.2-20100305-r9381"
+EGLIBC="eglibc-2.12-20100725-r11059"
+EGLIBC_PORTS="eglibc-ports-2.12-20100725-r11059"
 UCLIBC="uClibc-0.9.30.1"
 EMACS="emacs-23.1"
 ESOUND="esound-0.2.37"
@@ -80,7 +80,7 @@ FCRON="fcron-3.0.0"
 FETCHMAIL="fetchmail-6.3.12"
 FFMPEG="ffmpeg-svn-20539"
 FIREFOX="firefox-3.6.source"
-FILE_PKG="file-5.03"
+FILE_PKG="file-5.04"
 FINDUTILS="findutils-4.4.2"
 FLAC="flac-1.2.1"
 FLEX="flex-2.5.35"
@@ -91,7 +91,9 @@ FUSE="fuse-2.8.3"
 
 GAWK="gawk-3.1.7"
 GC="gc6.8"
-GCC="gcc-4.4.2"
+GCC="gcc-4.5.1"
+# Specify bug-fixing patches manually
+#GCC_PATCHES="branch_update-1"
 GDB="gdb-6.4"
 GDBM="gdbm-1.8.3"
 GIT="git-1.6.6.1"
@@ -182,7 +184,7 @@ GNOME_VOLUME_MANAGER="gnome-volume-manager-2.17.0"
 GNOME_SOUND_JUICER="sound-juicer-2.16.4"
 GNOME_TOTEM="totem-2.28.1"
 GDM="gdm-2.28.1"
-GMP="gmp-4.3.1"
+GMP="gmp-5.0.1"
 GNOME_MOUNT="gnome-mount-0.6"
 GNUTLS="gnutls-2.8.5"
 GOBJECT_INSTROSPECTION="gobject-introspection-0.6.5"
@@ -299,7 +301,8 @@ MFOUR="m4-1.4.13"
 MILTER_GREYLIST="milter-greylist-4.0"
 MILTER_SPF="smf-spf-2.0.1"
 MODULE_INIT_TOOLS="module-init-tools-3.11.1"
-MPFR="mpfr-2.4.2"
+MPC="mpc-0.8.2"
+MPFR="mpfr-3.0.0"
 MUTT="mutt-1.5.20"
 MYSQL="mysql-5.1.42"
 
index ab33892..336b1ac 100755 (executable)
@@ -17,15 +17,22 @@ case "${HVL_TARGET}" in
 esac
 
 # --prefix=/cross-tools
-#     This tells the configure script to prepare to install the package in the /cross-tools directory.
+#     This tells the configure script to prepare to install the package in the
+#     /cross-tools directory.
 # --host=${CLFS_HOST}
-#     When used with --target, this creates a cross-architecture executable that creates files for ${CLFS_TARGET} but runs on ${CLFS_HOST}.
+#     When used with --target, this creates a cross-architecture executable
+#     that creates files for ${CLFS_TARGET} but runs on ${CLFS_HOST}.
 # --target=${CLFS_TARGET}
-#     When used with --host, this creates a cross-architecture executable that creates files for ${CLFS_TARGET} but runs on ${CLFS_HOST}.
+#     When used with --host, this creates a cross-architecture executable that
+#     creates files for ${CLFS_TARGET} but runs on ${CLFS_HOST}.
 # --with-lib-path=/tools/lib
-#     This tells the configure script to specify the library search path during the compilation of Binutils, resulting in /tools/lib being passed to the linker. This prevents the linker from searching through library directories on the host.
+#     This tells the configure script to specify the library search path during
+#     the compilation of Binutils, resulting in /tools/lib being passed to the
+#     linker. This prevents the linker from searching through library
+#     directories on the host.
 # --disable-nls
-#     This disables internationalization as i18n is not needed for the cross-compile tools.
+#     This disables internationalization as i18n is not needed for the
+#     cross-compile tools.
 # --enable-shared
 #     Enable the creation of the shared libraries.
 # --disable-multilib
index 6172ee0..0591177 100755 (executable)
@@ -9,13 +9,16 @@ source ../packages-list
 case "${HVL_TARGET}" in
     "x86" | "x86_64")
         # Manually apply patch
-        apply_patch ${1}-rpath.patch ${1}
+        #apply_patch ${1}-rpath.patch ${1}
         ;;
 esac
 
 case "${HVL_TARGET}" in
     "x86")
-        TMP_CFLAGS="-march=$(cut -d- -f1 <<< ${CLFS_TARGET}) -mtune=generic -g -O2"
+        TMP_CFLAGS="-march=$(cut -d- -f1 <<< ${CLFS_TARGET}) -mtune=native -g -O2"
+        ;;
+    "x86_64")
+        TMP_CFLAGS="-mtune=native -g -O2"
         ;;
 esac
 
@@ -33,6 +36,7 @@ cat > config.cache << "EOF"
 libc_cv_forced_unwind=yes
 libc_cv_c_cleanup=yes
 libc_cv_gnu89_inline=yes
+libc_cv_ssp=no
 EOF
 
 # Configure options:
diff --git a/stage0/cis-gcc-common b/stage0/cis-gcc-common
new file mode 100755 (executable)
index 0000000..0e870b2
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# Manually applying patches if specified
+if [ -n "${GCC_PATCHES}" ]; then
+    for p in ${GCC_PATCHES}; do
+        apply_patch ${1}-${p}.patch ${1}
+    done
+fi
+
+case "${HVL_TARGET}" in
+    *)
+        TARGET_CONFIGURE_OPTS="--with-ppl=/cross-tools \
+            --with-cloog=/cross-tools \
+            --disable-multilib"
+        ;;
+esac
+
+case "${HVL_TARGET}" in
+    "x86")
+        apply_patch ${1}-specs-1.patch ${1}
+        ;;
+    "x86_64")
+        apply_patch ${1}-pure64_specs-1.patch ${1}
+       ;;
+esac
+
+cd ${LFS_TMP}/${1}
+
+# Change the StartFile Spec to point to the correct library location:
+echo -en '#undef STANDARD_INCLUDE_DIR\n#define STANDARD_INCLUDE_DIR "/tools/include/"\n\n' >> gcc/config/linux.h
+echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >> gcc/config/linux.h
+echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define STANDARD_STARTFILE_PREFIX_2 ""\n' >> gcc/config/linux.h
+
+# Alter gcc's C preprocessor's default include search path to use /tools only:
+cp -v gcc/Makefile.in{,.orig}
+sed -e "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g" \
+    gcc/Makefile.in.orig > gcc/Makefile.in
index 4e665f8..961f61e 100755 (executable)
@@ -6,43 +6,12 @@ source ../sysinfos
 source ../functions
 source ../packages-list
 
-# Manually applying patches
-apply_patch ${1}-branch_update-1.patch ${1}
-
-case "${HVL_TARGET}" in
-    *)
-        TARGET_CONFIGURE_OPTS="--with-ppl=/cross-tools \
-            --with-cloog=/cross-tools \
-            --with-local-prefix=/tools \
-            --disable-multilib"
-        ;;
-esac
-
-
-case "${HVL_TARGET}" in
-    "x86")
-        apply_patch ${1}-specs-1.patch ${1}
-        ;;
-    "x86_64")
-        apply_patch ${1}-pure64_specs-1.patch ${1}
-       ;;
-esac
-
-cd ${LFS_TMP}/${1}
-
-# Change the StartFile Spec to point to the correct library location:
-echo -en '#undef STANDARD_INCLUDE_DIR\n#define STANDARD_INCLUDE_DIR "/tools/include/"\n\n' >> gcc/config/linux.h
-echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >> gcc/config/linux.h
-echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define STANDARD_STARTFILE_PREFIX_2 ""\n' >> gcc/config/linux.h
-
-# Alter gcc's C preprocessor's default include search path to use /tools only:
-cp -v gcc/Makefile.in{,.orig}
-sed -e "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g" \
-    gcc/Makefile.in.orig > gcc/Makefile.in
+source ./cis-gcc-common
 
 # We will create a dummy limits.h so the build will not use the one provided by the host distro:
 touch /tools/include/limits.h
 
+# Configure options:
 # --with-local-prefix=/tools
 #     Remove /usr/local/include from gcc's include search path. This is not
 #     absolutely essential, however, it helps to minimize the influence of the
@@ -63,6 +32,7 @@ AR=ar LDFLAGS="-Wl,-rpath,/cross-tools/lib" \
     --host=${CLFS_HOST} \
     --target=${CLFS_TARGET} \
     --with-sysroot=${CLFS} \
+    --with-local-prefix=/tools \
     --disable-nls \
     --disable-shared \
     --with-mpfr=/cross-tools \
index 4ec8626..2dea487 100755 (executable)
@@ -6,41 +6,9 @@ source ../sysinfos
 source ../functions
 source ../packages-list
 
-# Manually applying patches
-apply_patch ${1}-branch_update-1.patch ${1}
-
-case "${HVL_TARGET}" in
-    *)
-        TARGET_CONFIGURE_OPTS="--with-ppl=/cross-tools \
-            --with-cloog=/cross-tools \
-            --disable-multilib"
-        ;;
-esac
-
-case "${HVL_TARGET}" in
-    "x86")
-        apply_patch ${1}-specs-1.patch ${1}
-        ;;
-    "x86_64")
-        apply_patch ${1}-pure64_specs-1.patch ${1}
-       ;;
-esac
-
-cd ${LFS_TMP}/${1}
-
-# Change the StartFile Spec to point to the correct library location:
-echo -en '#undef STANDARD_INCLUDE_DIR\n#define STANDARD_INCLUDE_DIR "/tools/include/"\n\n' >> gcc/config/linux.h
-echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >> gcc/config/linux.h
-echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define STANDARD_STARTFILE_PREFIX_2 ""\n' >> gcc/config/linux.h
-
-# Alter gcc's C preprocessor's default include search path to use /tools only:
-cp -v gcc/Makefile.in{,.orig}
-sed -e "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g" \
-    gcc/Makefile.in.orig > gcc/Makefile.in
+source ./cis-gcc-common
 
 # Configure options:
-# --enable-languages=c,c++
-#     This option ensures that only the C and C++ compilers are built.
 # --enable-__cxa_atexit
 #     This option allows use of __cxa_atexit, rather than atexit, to register
 #     C++ destructors for local
@@ -54,6 +22,8 @@ sed -e "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g" \
 #     Enables long long support in the compiler.
 # --enable-threads=posix
 #     This enables C++ exception handling for multi-threaded code.
+# --enable-languages=c,c++
+#     This option ensures that only the C and C++ compilers are built.
 cd ${LFS_TMP}/${1}-build
 AR=ar LDFLAGS="-Wl,-rpath,/cross-tools/lib" \
     ../${1}/configure \
index 755a345..3207709 100755 (executable)
@@ -27,15 +27,22 @@ esac
 
 CPPFLAGS=-fexceptions \
     ipkg_ac   ${GMP}  "--enable-cxx"
+
 LDFLAGS="-Wl,-rpath,/cross-tools/lib" \
     ipkg_ac   ${MPFR} "--enable-shared --with-gmp=/cross-tools"
 
+LDFLAGS="-Wl,-rpath,/cross-tools/lib" \
+    ipkg_ac   ${MPC} "--enable-shared \
+        --with-gmp=/cross-tools \
+        --with-mpfr=/cross-tools"
+
 LDFLAGS="-Wl,-rpath,/cross-tools/lib" \
     ipkg_ac   ${PPL}  "--enable-shared \
         --enable-interfaces=c,cxx \
         --disable-optimization \
         --with-libgmp-prefix=/cross-tools \
         --with-libgmpxx-prefix=/cross-tools"
+
 LDFLAGS="-Wl,-rpath,/cross-tools/lib" \
     ipkg_cust ${CLOOG_PPL} cis-cloog-ppl "--enable-shared --with-bits=gmp \
         --with-gmp=/cross-tools --with-ppl=/cross-tools"
index 7416d8c..2345293 100755 (executable)
@@ -23,12 +23,13 @@ fpkg       ${FILE_PKG}  "ftp://ftp.astron.com/pub/file"
 fpkg_gnu   ${NCURSES}
 fpkg_gnu   ${GMP}
 fpkg_gnu   ${MPFR}
+fpkg -e "tar.gz" ${MPC} "http://www.multiprecision.org/mpc/download"
 fpkg -s "$(get_pkg_ver ${PPL})" ${PPL} \
     "http://www.cs.unipr.it/ppl/Download/ftp/releases"
 fpkg       ${CLOOG_PPL} "ftp://gcc.gnu.org/pub/gcc/infrastructure"
 fpkg_gnu   ${BINUTILS}
 fpkg_gnu   ${GCC} "gcc/${GCC}"
-fpkg_hv    ${EGLIBC}
-fpkg_hv    ${EGLIBC_PORTS}
+fpkg       ${EGLIBC} "http://cross-lfs.org/files/packages/svn"
+fpkg       ${EGLIBC_PORTS} "http://cross-lfs.org/files/packages/svn"
 
 exit $?
index f1d918f..b464d8e 100755 (executable)
@@ -20,36 +20,27 @@ VERSION=$(get_pkg_ver ${PACKAGE})
 SCRIPT=${LFS}/usr/src/compile-kernel-minimal
 
 echo "#!/bin/bash" > ${SCRIPT}
+echo "set -o errexit" >> ${SCRIPT}
 echo "KERNEL_VERSION=${VERSION}" >> ${SCRIPT}
 echo "KERNEL_NAME=clfs-\${KERNEL_VERSION}" >> ${SCRIPT}
 echo "DEST=${LFS}/boot" >> ${SCRIPT}
 echo "PATH=\${PATH}:${LFS}/cross-tools/bin" >> ${SCRIPT}
 echo "" >> ${SCRIPT}
 
-echo "make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- menuconfig &&" >> ${SCRIPT}
+echo "make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- menuconfig" >> ${SCRIPT}
 
 # Compile the kernel image:
-echo "make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- &&" >> ${SCRIPT}
+echo "make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}-" >> ${SCRIPT}
 
 # Install the kernel:
-echo "cp -v arch/${CLFS_ARCH}/boot/bzImage \${DEST}/vmlinuz-\${KERNEL_NAME} &&" >> ${SCRIPT}
+echo "cp -v arch/${CLFS_ARCH}/boot/bzImage \${DEST}/vmlinuz-\${KERNEL_NAME}" >> ${SCRIPT}
 
 # Install map file:
-echo "cp -v System.map \${DEST}/System.map-\${KERNEL_NAME} &&" >> ${SCRIPT}
+echo "cp -v System.map \${DEST}/System.map-\${KERNEL_NAME}" >> ${SCRIPT}
 
 # Install config file:
 echo "cp -v .config \${DEST}/config-\${KERNEL_NAME}" >> ${SCRIPT}
 
-cat >> ${SCRIPT} << "EOF"
-
-if [ $? -ne 0 ]; then
-    echo "*** Kernel compilation error ***."
-    exit 1
-fi
-
-exit 0
-EOF
-
 chmod -v u+x ${SCRIPT}
 
 exit $?
index acc2b8b..9c6705b 100755 (executable)
@@ -29,29 +29,20 @@ VERSION=$(get_pkg_ver ${PACKAGE})
 SCRIPT=/usr/src/compile-kernel
 
 echo "#!/bin/bash" > ${SCRIPT}
+echo "set -o errexit" >> ${SCRIPT}
 echo "KERNEL_VERSION=${VERSION}" >> ${SCRIPT}
 echo "KERNEL_NAME=clfs-\${KERNEL_VERSION}" >> ${SCRIPT}
 echo "DEST=/boot" >> ${SCRIPT}
 echo "ARCH=${HVL_TARGET}" >> ${SCRIPT}
 echo "unset CROSS_COMPILE" >> ${SCRIPT}
 echo "" >> ${SCRIPT}
-echo "make &&" >> ${SCRIPT}
-echo "make modules &&" >> ${SCRIPT}
-echo "make modules_install &&" >> ${SCRIPT}
-echo "cp -v arch/${HVL_TARGET}/boot/bzImage \${DEST}/vmlinuz-\${KERNEL_NAME} &&" >> ${SCRIPT}
-echo "cp -v System.map \${DEST}/System.map-\${KERNEL_NAME} &&" >> ${SCRIPT}
+echo "make" >> ${SCRIPT}
+echo "make modules" >> ${SCRIPT}
+echo "make modules_install" >> ${SCRIPT}
+echo "cp -v arch/${HVL_TARGET}/boot/bzImage \${DEST}/vmlinuz-\${KERNEL_NAME}" >> ${SCRIPT}
+echo "cp -v System.map \${DEST}/System.map-\${KERNEL_NAME}" >> ${SCRIPT}
 echo "cp -v .config \${DEST}/config-\${KERNEL_NAME}" >> ${SCRIPT}
 
-cat >> ${SCRIPT} << "EOF"
-
-if [ $? -ne 0 ]; then
-    echo "*** Kernel compilation error ***."
-    exit 1
-fi
-
-exit 0
-EOF
-
 chmod -v u+x ${SCRIPT}
 
 exit $?
index d9158d1..7cd21be 100644 (file)
--- a/sysinfos
+++ b/sysinfos
@@ -16,9 +16,7 @@ REGUSER="hugo"
 
 # Destination path where to install new Linux-HV system. This is usually where
 # you have mounted your new LFS partition, but it can also be any directory.
-# After stage 1, this must be set to "".
-#LFS="/mnt/hvlinux"
-LFS=""
+LFS="/mnt/hvlinux"
 
 # Destination partition where to install new Linux-HV system
 LFS_PARTITION="/dev/sdb7"