]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - tools/make-functions
Add possibility to disable packages for some arches.
[ipfire-2.x.git] / tools / make-functions
index 13608085316f66285e9de852cc9fd061346a30ea..e6333a3838b3675401b0177f6242b0cbe465aa07 100644 (file)
@@ -185,7 +185,6 @@ beautify()
                                        echo -ne "${SET_RESULT_COL}[${FAIL} FAIL ${NORMAL}]\n"
                                        ;;
                                SKIP)
-                                       echo -ne "${SET_TIME_COL}[ ${BOLD}${SET_TIME_COL_REAL}$PKG_TIME${NORMAL} ]"
                                        echo -ne "${SET_RESULT_COL}[${SKIP} SKIP ${NORMAL}]\n"
                                        ;;
                        esac
@@ -226,8 +225,9 @@ if [ 'x86_64' = $MACHINE -o 'i686' = $MACHINE -o 'i586' = $MACHINE ]; then
        CXX2FLAGS="-O2 -march=i586 -mtune=i586 -pipe -fomit-frame-pointer"
 elif [ 'armv5tejl' = $MACHINE -o 'armv5tel' = $MACHINE ]; then
        echo "`date -u '+%b %e %T'`: Machine is ARM (or equivalent)" >> $LOGFILE
-       MACHINE=arm
-       BUILDTARGET=arm-unknown-linux-gnueabi
+       MACHINE=armv5tel
+       MACHINE_TYPE=arm
+       BUILDTARGET=${MACHINE}-unknown-linux-gnueabi
        CFLAGS="-O2 -march=armv5te -fomit-frame-pointer -pipe"
        CXXFLAGS="$CFLAGS"
        C2FLAGS="$CFLAGS"
@@ -282,7 +282,9 @@ entershell() {
                CCACHE_COMPRESS=1 \
                CCACHE_HASHDIR=1 \
                KVER=$KVER \
-               BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \
+               BUILDTARGET="$BUILDTARGET" \
+               MACHINE="$MACHINE" \
+               MACHINE_TYPE="$MACHINE_TYPE" \
                KGCC="ccache /usr/bin/gcc" \
                /tools/bin/bash
        if [ $? -ne 0 ]; then
@@ -315,6 +317,16 @@ lfsmakecommoncheck()
        local PKG_VER=`get_pkg_ver $BASEDIR/lfs/$1`
        beautify make_pkg "$PKG_VER $*"
 
+       # Check if this package is supported by our architecture.
+       # If no SUP_ARCH is found, we assume the package can be built for all.
+       if grep "^SUP_ARCH" ${BASEDIR}/lfs/${1} >/dev/null; then
+               # Check if package supports ${MACHINE} or all architectures.
+               if ! grep -E "^SUP_ARCH.*${MACHINE}|^SUP_ARCH.*all" ${BASEDIR}/lfs/${1} >/dev/null; then
+                       beautify result SKIP
+                       return 1
+               fi
+       fi
+
        # Script slipped?
        local i
        for i in $SKIP_PACKAGE_LIST
@@ -328,12 +340,14 @@ lfsmakecommoncheck()
        echo -ne "`date -u '+%b %e %T'`: Building $* " >> $LOGFILE
 
        cd $BASEDIR/lfs && make -s -f $* LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \
+               MACHINE_TYPE="$MACHINE_TYPE" \
                MESSAGE="$1\t " download  >> $LOGFILE 2>&1
        if [ $? -ne 0 ]; then
                exiterror "Download error in $1"
        fi
 
        cd $BASEDIR/lfs && make -s -f $* LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \
+               MACHINE_TYPE="$MACHINE_TYPE" \
                MESSAGE="$1\t md5sum" md5  >> $LOGFILE 2>&1
        if [ $? -ne 0 ]; then
                exiterror "md5sum error in $1, check file in cache or signature"
@@ -350,6 +364,7 @@ lfsmake1() {
 
        cd $BASEDIR/lfs && make -f $*   BUILDTARGET=$BUILDTARGET \
                                                MACHINE=$MACHINE \
+                                               MACHINE_TYPE=$MACHINE_TYPE \
                                                LFS_BASEDIR=$BASEDIR \
                                                ROOT=$LFS \
                                                KVER=$KVER \
@@ -383,6 +398,7 @@ lfsmake2() {
                                                CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \
                                                KVER=$KVER MAKETUNING=$MAKETUNING \
                                                BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \
+                                               MACHINE_TYPE="$MACHINE_TYPE" \
                                                IPFVER="$IPFVER" \
                                                /tools/bin/bash -x -c "cd /usr/src/lfs && \
                                                make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1
@@ -415,6 +431,7 @@ ipfiremake() {
                                                CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \
                                                KVER=$KVER MAKETUNING=$MAKETUNING \
                                                BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \
+                                               MACHINE_TYPE="$MACHINE_TYPE" \
                                                IPFVER="$IPFVER" \
                                                /bin/bash -x -c "cd /usr/src/lfs && \
                                                make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1
@@ -446,6 +463,7 @@ ipfiredist() {
                                        CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \
                                        KVER=$KVER IPFVER="$IPFVER" \
                                        BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \
+                                       MACHINE_TYPE="$MACHINE_TYPE" \
                                        /bin/bash -x -c "cd /usr/src/lfs && \
                                        make -f $1 LFS_BASEDIR=/usr/src dist" >>$LOGFILE 2>&1
 
@@ -477,6 +495,7 @@ installmake() {
                                                CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \
                                                KVER=$KVER IPFVER="$IPFVER" \
                                                BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \
+                                               MACHINE_TYPE="$MACHINE_TYPE" \
                    /bin/bash -x -c "cd /usr/src/lfs && \
                    make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1