]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - make.sh
Fix detection weather a toolchain can be built on host.
[ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index 9d7581b4d5e7725b633c22a71f672daad03a2cb5..415c19588a503d8e208372dc639adb58ad5114a9 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -25,8 +25,8 @@
 NAME="IPFire"                                                  # Software name
 SNAME="ipfire"                                                 # Short name
 VERSION="2.11"                                                 # Version number
-CORE="53"                                                      # Core Level (Filename)
-PAKFIRE_CORE="52"                                              # Core Level (PAKFIRE)
+CORE="55"                                                      # Core Level (Filename)
+PAKFIRE_CORE="54"                                              # Core Level (PAKFIRE)
 GIT_BRANCH=`git status | head -n1 | cut -d" " -f4`             # Git Branch
 SLOGAN="www.ipfire.org"                                                # Software slogan
 CONFIG_ROOT=/var/ipfire                                                # Configuration rootdir
@@ -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=1
+TOOLCHAINVER=2
 
 BUILDMACHINE=$MACHINE
     if [ "$MACHINE" = "x86_64" ]; then
@@ -71,14 +71,6 @@ mkdir $BASEDIR/log/ 2>/dev/null
 
 if [ -f .config ]; then
        . .config
-else
-       echo -e  "${BOLD}No configuration found!${NORMAL}"
-       echo -ne "Do you want to create one (y/N)?"
-       read CREATE_CONFIG
-       echo ""
-       if [ "$CREATE_CONFIG" == "y" ]; then
-               make_config
-       fi
 fi
 
 if [ -z $EDITOR ]; then
@@ -237,9 +229,28 @@ prepareenv() {
 }
 
 buildtoolchain() {
-    if [ "$(uname -m)" = "x86_64" ]; then
-        exiterror "Cannot build toolchain on x86_64. Please use the download."
-    fi
+    local error=false
+    case "${MACHINE}:$(uname -m)" in
+        # x86
+        i586:i586|i586:i686)
+            # These are working.
+            ;;
+        i586:*)
+            error=true
+            ;;
+
+        # ARM
+        armv5tel:armv5tel|armv5tel:armv5tejl)
+            # These are working.
+            ;;
+        armv5tel:*)
+            error=true
+            ;;
+    esac
+
+    ${error} && \
+        exiterror "Cannot build ${MACHINE} toolchain on $(uname -m). Please use the download if any."
+
     if [ "$(uname -r | grep ipfire)" ]; then
         exiterror "Cannot build toolchain on ipfire. Please use the download."
     fi
@@ -250,6 +261,7 @@ buildtoolchain() {
     export NATIVEGCC GCCmajor=${NATIVEGCC:0:1} GCCminor=${NATIVEGCC:2:1} GCCrelease=${NATIVEGCC:4:1}
     ORG_PATH=$PATH
     export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH
+    lfsmake1 fake-environ      PASS=1
     lfsmake1 ccache    PASS=1
     lfsmake1 make      PASS=1
     lfsmake1 binutils  PASS=1
@@ -261,6 +273,7 @@ buildtoolchain() {
     fi
     lfsmake1 glibc
     lfsmake1 cleanup-toolchain PASS=1
+    lfsmake1 fake-environ      PASS=2
     lfsmake1 tcl
     lfsmake1 expect
     lfsmake1 dejagnu
@@ -372,63 +385,91 @@ buildipfire() {
   ipfiremake xz
   ipfiremake linux-firmware
   ipfiremake zd1211-firmware
+  ipfiremake fw_ath9k_htc
   ipfiremake u-boot
 
   # The xen and PAE kernels are only available for x86
   if [ "${MACHINE_TYPE}" != "arm" ]; then
-    ipfiremake linux                   XEN=1
-    ipfiremake kqemu                   XEN=1
-    ipfiremake v4l-dvb                 XEN=1
-    ipfiremake madwifi                 XEN=1
-    ipfiremake mISDN                   XEN=1
-    ipfiremake dahdi                   XEN=1 KMOD=1
-    ipfiremake cryptodev                       XEN=1
-    ipfiremake compat-wireless         XEN=1
-    ipfiremake r8169                   XEN=1
-    ipfiremake r8168                   XEN=1
-    ipfiremake r8101                   XEN=1
-    ipfiremake e1000                   XEN=1
-    ipfiremake e1000e                  XEN=1
-    ipfiremake igb                     XEN=1
-    ipfiremake linux                   PAE=1
-    ipfiremake kqemu                   PAE=1
-    ipfiremake kvm-kmod                        PAE=1
-    ipfiremake v4l-dvb                 PAE=1
-    ipfiremake madwifi                 PAE=1
-    ipfiremake alsa                    PAE=1 KMOD=1
-    ipfiremake mISDN                   PAE=1
-    ipfiremake dahdi                   PAE=1 KMOD=1
-    ipfiremake cryptodev                       PAE=1
-    ipfiremake compat-wireless         PAE=1
-#    ipfiremake r8169                  PAE=1
-#    ipfiremake r8168                  PAE=1
-#    ipfiremake r8101                  PAE=1
-    ipfiremake e1000                   PAE=1
-    ipfiremake e1000e                  PAE=1
-    ipfiremake igb                     PAE=1
-  fi
-
-  # Default kernel build
-  ipfiremake linux
-  ipfiremake v4l-dvb
-  ipfiremake kqemu
-  ipfiremake kvm-kmod
-  ipfiremake madwifi
-  if [ "${MACHINE_TYPE}" != "arm" ]; then
-    #todo enable alsa driver in kernel config
-    ipfiremake alsa                    KMOD=1
+    ipfiremake linux                   KCFG="-xen"
+    ipfiremake kqemu                   KCFG="-xen"
+    ipfiremake v4l-dvb                 KCFG="-xen"
+    ipfiremake madwifi                 KCFG="-xen"
+    ipfiremake mISDN                   KCFG="-xen"
+    ipfiremake dahdi                   KCFG="-xen" KMOD=1
+    ipfiremake cryptodev               KCFG="-xen"
+    ipfiremake compat-wireless         KCFG="-xen"
+    ipfiremake r8169                   KCFG="-xen"
+    ipfiremake r8168                   KCFG="-xen"
+    ipfiremake r8101                   KCFG="-xen"
+    ipfiremake e1000                   KCFG="-xen"
+    ipfiremake e1000e                  KCFG="-xen"
+    ipfiremake igb                     KCFG="-xen"
+    ipfiremake linux                   KCFG="-pae"
+    ipfiremake kqemu                   KCFG="-pae"
+    ipfiremake kvm-kmod                        KCFG="-pae"
+    ipfiremake v4l-dvb                 KCFG="-pae"
+    ipfiremake madwifi                 KCFG="-pae"
+    ipfiremake alsa                    KCFG="-pae" KMOD=1
+    ipfiremake mISDN                   KCFG="-pae"
+    ipfiremake dahdi                   KCFG="-pae" KMOD=1
+    ipfiremake cryptodev               KCFG="-pae"
+    ipfiremake compat-wireless         KCFG="-pae"
+#    ipfiremake r8169                  KCFG="-pae"
+#    ipfiremake r8168                  KCFG="-pae"
+#    ipfiremake r8101                  KCFG="-pae"
+    ipfiremake e1000                   KCFG="-pae"
+    ipfiremake e1000e                  KCFG="-pae"
+    ipfiremake igb                     KCFG="-pae"
+    ipfiremake linux                   KCFG=""
+    ipfiremake v4l-dvb                 KCFG=""
+    ipfiremake kqemu                   KCFG=""
+    ipfiremake kvm-kmod                        KCFG=""
+    ipfiremake madwifi                 KCFG=""
+    ipfiremake alsa                    KCFG="" KMOD=1
+    ipfiremake mISDN                   KCFG=""
+    ipfiremake dahdi                   KCFG="" KMOD=1
+    ipfiremake cryptodev               KCFG=""
+    ipfiremake compat-wireless         KCFG=""
+#    ipfiremake r8169                  KCFG=""
+#    ipfiremake r8168                  KCFG=""
+#    ipfiremake r8101                  KCFG=""
+    ipfiremake e1000                   KCFG=""
+    ipfiremake e1000e                  KCFG=""
+    ipfiremake igb                     KCFG=""
+  else
+    # arm-versatile kernel build
+    ipfiremake linux                   KCFG="-versatile"
+    ipfiremake v4l-dvb                 KCFG="-versatile"
+    ipfiremake kqemu                   KCFG="-versatile"
+    ipfiremake kvm-kmod                        KCFG="-versatile"
+    ipfiremake madwifi                 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"
+    ipfiremake kqemu                   KCFG="-kirkwood"
+    ipfiremake kvm-kmod                        KCFG="-kirkwood"
+    ipfiremake madwifi                 KCFG="-kirkwood"
+    ipfiremake mISDN                   KCFG="-kirkwood"
+    ipfiremake dahdi                   KCFG="-kirkwood" KMOD=1
+    ipfiremake cryptodev               KCFG="-kirkwood"
+    ipfiremake compat-wireless         KCFG="-kirkwood"
+#  ipfiremake r8169                    KCFG="-kirkwood"
+#  ipfiremake r8168                    KCFG="-kirkwood"
+#  ipfiremake r8101                    KCFG="-kirkwood"
+    ipfiremake e1000                   KCFG="-kirkwood"
+    ipfiremake e1000e                  KCFG="-kirkwood"
+    ipfiremake igb                     KCFG="-kirkwood"
   fi
-  #undefined declaration in echo canceler try to fix later
-  ipfiremake mISDN
-  ipfiremake dahdi                     KMOD=1
-  ipfiremake cryptodev
-  ipfiremake compat-wireless
-#  ipfiremake r8169
-#  ipfiremake r8168
-#  ipfiremake r8101
-  ipfiremake e1000
-  ipfiremake e1000e
-  ipfiremake igb
   ipfiremake pkg-config
   ipfiremake linux-atm
   ipfiremake cpio
@@ -623,7 +664,6 @@ buildipfire() {
   ipfiremake lm_sensors
   ipfiremake liboping
   ipfiremake collectd
-  ipfiremake lcd4linux
   ipfiremake teamspeak
   ipfiremake elinks
   ipfiremake igmpproxy
@@ -722,6 +762,8 @@ buildipfire() {
   ipfiremake intltool
   ipfiremake pakfire3-deps
   ipfiremake transmission
+  ipfiremake dpfhack
+  ipfiremake lcd4linux
   echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
   cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
   echo >> $BASEDIR/build/var/ipfire/firebuild
@@ -731,10 +773,10 @@ buildipfire() {
   echo >> $BASEDIR/build/var/ipfire/firebuild
   cat /proc/cpuinfo >> $BASEDIR/build/var/ipfire/firebuild
   echo $PAKFIRE_CORE > $BASEDIR/build/opt/pakfire/db/core/mine
-  if [ "$GIT_BRANCH" = "next" ]; then
-       echo "$NAME $VERSION - (Development Build: $GIT_LASTCOMMIT)" > $BASEDIR/build/etc/system-release
+  if [ "$GIT_BRANCH" = "master" -o "$GIT_BRANCH" = "next" ]; then
+       echo "$NAME $VERSION ($MACHINE) - Development Build: $GIT_LASTCOMMIT" > $BASEDIR/build/etc/system-release
   else
-       echo "$NAME $VERSION - $GIT_BRANCH" > $BASEDIR/build/etc/system-release
+       echo "$NAME $VERSION ($MACHINE) - $GIT_BRANCH" > $BASEDIR/build/etc/system-release
   fi
 }