]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - make.sh
Merge remote-tracking branch 'origin/kernel-update' into glibc-update2
[ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index a531e4b7483f80b26bb45e87909bcc09cc674ad9..9d35e6ee4b1dd63ce385dede8b5c041c56149358 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -37,7 +37,7 @@ KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'`
 MACHINE=`uname -m`
 GIT_TAG=$(git tag | tail -1)                                   # Git Tag
 GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
-TOOLCHAINVER=3
+TOOLCHAINVER=4
 
 BUILDMACHINE=$MACHINE
     if [ "$MACHINE" = "x86_64" ]; then
@@ -240,7 +240,7 @@ buildtoolchain() {
             ;;
 
         # ARM
-        armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv7l)
+        armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv6l|armv5tel:armv7l)
             # These are working.
             ;;
         armv5tel:*)
@@ -255,26 +255,33 @@ buildtoolchain() {
         exiterror "Cannot build toolchain on ipfire. Please use the download."
     fi
 
+    if [ ! -e /usr/include/asm -o ! -e /usr/include/bits -o ! -e /usr/include/gnu -o ! -e /usr/include/sys ]; then
+        exiterror "Cannot build toolchain without (asm, bits, gnu or sys includes). Please fix or use the download."
+    fi
+
+    if [ ! -e /usr/lib/libc.so ]; then
+        exiterror "Cannot build toolchain without (/usr/lib/libc.so). Please fix or use the download."
+    fi
+
     LOGFILE="$BASEDIR/log/_build.toolchain.log"
     export LOGFILE
-    NATIVEGCC=`gcc --version | grep GCC | awk {'print $3'}`
-    export NATIVEGCC GCCmajor=${NATIVEGCC:0:1} GCCminor=${NATIVEGCC:2:1} GCCrelease=${NATIVEGCC:4:1}
-    ORG_PATH=$PATH
-    lfsmake1 ccache    PASS=1
-    lfsmake1 make      PASS=1
-    lfsmake1 binutils  PASS=1
-    lfsmake1 gcc               PASS=1
-    export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH
-    lfsmake1 linux2 TOOLS=1 HEADERS=1
+
+    local ORG_PATH=$PATH
+    export PATH="/tools/ccache/bin:/tools/bin:$PATH"
+    lfsmake1 fake-environ              PASS=1
+    lfsmake1 ccache                    PASS=1
+    lfsmake1 binutils                  PASS=1
+    lfsmake1 gcc                       PASS=1
+    lfsmake1 linux2                    TOOLS=1 HEADERS=1
     lfsmake1 glibc
-    lfsmake1 cleanup-toolchain PASS=1
-    lfsmake1 fake-environ
+    lfsmake1 cleanup-toolchain         PASS=1
+    lfsmake1 binutils                  PASS=2
+    lfsmake1 gcc                       PASS=2
+    lfsmake1 fake-environ              PASS=2
+    lfsmake1 ccache                    PASS=2
     lfsmake1 tcl
     lfsmake1 expect
     lfsmake1 dejagnu
-    lfsmake1 gcc               PASS=2
-    lfsmake1 binutils  PASS=2
-    lfsmake1 ccache    PASS=2
     lfsmake1 ncurses
     lfsmake1 bash
     lfsmake1 bzip2
@@ -286,15 +293,13 @@ buildtoolchain() {
     lfsmake1 grep
     lfsmake1 gzip
     lfsmake1 m4
-    lfsmake1 make      PASS=2
+    lfsmake1 make
     lfsmake1 patch
     lfsmake1 perl
     lfsmake1 sed
     lfsmake1 tar
     lfsmake1 texinfo
-    lfsmake1 util-linux
-    lfsmake1 strip
-    lfsmake1 cleanup-toolchain PASS=2
+    lfsmake1 cleanup-toolchain         PASS=2
     export PATH=$ORG_PATH
 }
 
@@ -302,13 +307,19 @@ buildbase() {
     LOGFILE="$BASEDIR/log/_build.base.log"
     export LOGFILE
     lfsmake2 stage2
-    lfsmake2 linux2 HEADERS=1
+    lfsmake2 linux2                    HEADERS=1
     lfsmake2 man-pages
     lfsmake2 glibc
     lfsmake2 tzdata
-    lfsmake2 cleanup-toolchain PASS=3
+    lfsmake2 cleanup-toolchain         PASS=3
+    lfsmake2 zlib
     lfsmake2 binutils
+    lfsmake2 gmp
+    lfsmake2 gmp-compat
+    lfsmake2 mpfr
+    lfsmake2 file
     lfsmake2 gcc
+    lfsmake2 sed
     lfsmake2 berkeley
     lfsmake2 coreutils
     lfsmake2 iana-etc
@@ -316,11 +327,9 @@ buildbase() {
     lfsmake2 bison
     lfsmake2 ncurses
     lfsmake2 procps
-    lfsmake2 sed
     lfsmake2 libtool
     lfsmake2 perl
     lfsmake2 readline
-    lfsmake2 zlib
     lfsmake2 autoconf
     lfsmake2 automake
     lfsmake2 bash
@@ -328,7 +337,6 @@ buildbase() {
     lfsmake2 diffutils
     lfsmake2 e2fsprogs
     lfsmake2 ed
-    lfsmake2 file
     lfsmake2 findutils
     lfsmake2 flex
     lfsmake2 gawk
@@ -455,20 +463,6 @@ buildipfire() {
 #    ipfiremake e1000e                 KCFG="-omap"
 #    ipfiremake igb                    KCFG="-omap"
 
-    # arm-versatile kernel build
-    ipfiremake linux                   KCFG="-versatile"
-#    ipfiremake v4l-dvb                        KCFG="-versatile"
-#    ipfiremake kvm-kmod                       KCFG="-versatile"
-#    ipfiremake mISDN                  KCFG="-versatile"
-#    ipfiremake dahdi                  KCFG="-versatile" KMOD=1
-    ipfiremake cryptodev               KCFG="-versatile"
-    ipfiremake compat-wireless         KCFG="-versatile"
-#    ipfiremake r8169                  KCFG="-versatile"
-#    ipfiremake r8168                  KCFG="-versatile"
-#    ipfiremake r8101                  KCFG="-versatile"
-#    ipfiremake e1000                  KCFG="-versatile"
-#    ipfiremake e1000e                 KCFG="-versatile"
-#    ipfiremake igb                    KCFG="-versatile"
     # arm-kirkwood kernel build
     ipfiremake linux                   KCFG="-kirkwood"
 #    ipfiremake v4l-dvb                        KCFG="-kirkwood"
@@ -490,7 +484,6 @@ buildipfire() {
   ipfiremake dracut
   ipfiremake expat
   ipfiremake gdbm
-  ipfiremake gmp
   ipfiremake pam
   ipfiremake openssl
   ipfiremake curl
@@ -803,7 +796,6 @@ buildinstaller() {
   ipfiremake mbr
   ipfiremake memtest
   ipfiremake installer
-  cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/
   installmake strip
   ipfiremake initrd
 }
@@ -1045,9 +1037,7 @@ toolchain)
        echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $MACHINE" | tee -a $LOGFILE
        test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains
        cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \
-               build/{bin,etc,usr/bin,usr/local} \
-               build/tools/{bin,etc,*-linux-gnu*,include,lib,libexec,sbin,share,var} \
-               log >> $LOGFILE
+               build/tools log >> $LOGFILE
        md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \
                > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.md5
        stdumount