]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - tools/make-functions
kernel: update to 4.9.34
[ipfire-2.x.git] / tools / make-functions
index 356d7a6174a1d233e0c88168695ccdd1709d9a99..d5f0a71262750a62a743314678c6159f9431b35a 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2016  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -68,15 +68,21 @@ configure_target() {
        fi
 
        case "${target_arch}" in
+               x86_64)
+                       BUILDTARGET="${target_arch}-unknown-linux-gnu"
+                       CROSSTARGET="${target_arch}-cross-linux-gnu"
+                       CFLAGS_ARCH="-m64 -mtune=generic"
+                       ;;
+
                i586)
                        BUILDTARGET="${target_arch}-pc-linux-gnu"
-                       CROSSTARGET="${BUILD_ARCH}-cross-linux-gnu"
+                       CROSSTARGET="${target_arch}-cross-linux-gnu"
                        CFLAGS_ARCH="-march=i586 -mtune=generic -fomit-frame-pointer"
                        ;;
 
                armv5tel)
                        BUILDTARGET="${target_arch}-unknown-linux-gnueabi"
-                       CROSSTARGET="${BUILD_ARCH}-cross-linux-gnueabi"
+                       CROSSTARGET="${target_arch}-cross-linux-gnueabi"
                        CFLAGS_ARCH="-march=armv5te -mfloat-abi=soft -fomit-frame-pointer"
                        MACHINE_TYPE="arm"
                        ;;
@@ -103,7 +109,7 @@ configure_target() {
        MACHINE="${TARGET_ARCH}"
 
        CFLAGS="-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fPIC"
-       CFLAGS="${CFLAGS} -fstack-protector-all --param=ssp-buffer-size=4 ${CFLAGS_ARCH}"
+       CFLAGS="${CFLAGS} -fstack-protector-strong --param=ssp-buffer-size=4 ${CFLAGS_ARCH}"
        CXXFLAGS="${CFLAGS}"
 }
 
@@ -112,7 +118,7 @@ configure_target_guess() {
                x86_64|i686|i586)
                        echo "i586"
                        ;;
-               armv7*|armv6*|armv5*)
+               aarch64|armv7*|armv6*|armv5*)
                        echo "armv5tel"
                        ;;
                *)
@@ -355,7 +361,7 @@ qemu_is_required() {
        fi
 
        case "${BUILD_ARCH},${target_arch}" in
-               x86_64,arm*|i?86,arm*)
+               x86_64,arm*|i?86,arm*|i?86,x86_64)
                        return 0
                        ;;
                *)
@@ -370,6 +376,15 @@ qemu_install_helper() {
                return 0
        fi
 
+       if [ ! -e /proc/sys/fs/binfmt_misc/status ]; then
+               exiterror "binfmt_misc not mounted. QEMU_TARGET_HELPER not useable."
+       fi
+
+       if [ ! $(cat /proc/sys/fs/binfmt_misc/status) = 'enabled' ]; then
+               exiterror "binfmt_misc not enabled. QEMU_TARGET_HELPER not useable."
+       fi
+
+
        if [ -z "${QEMU_TARGET_HELPER}" ]; then
                exiterror "QEMU_TARGET_HELPER not set"
        fi
@@ -407,12 +422,17 @@ qemu_find_target_helper_name() {
                arm*)
                        magic="7f454c4601010100000000000000000002002800"
                        ;;
+               x86_64)
+                       magic="7f454c4602010100000000000000000002003e00"
+                       ;;
        esac
 
        [ -z "${magic}" ] && return 1
 
        local file
        for file in /proc/sys/fs/binfmt_misc/*; do
+               # skip write only register entry
+               [ $(basename "${file}") = "register" ] && continue
                # Search for the file with the correct magic value.
                grep -qE "^magic ${magic}$" "${file}" || continue
 
@@ -450,8 +470,8 @@ entershell() {
                NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
                CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
                CCACHE_DIR=/usr/src/ccache \
-               CCACHE_COMPRESS=1 \
-               CCACHE_COMPILERCHECK="none" \
+               CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+               CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
                KVER=$KVER \
                BUILDTARGET="$BUILDTARGET" \
                CROSSTARGET="${CROSSTARGET}" \
@@ -573,8 +593,9 @@ lfsmake2() {
                                                CONFIG_ROOT=$CONFIG_ROOT \
                                                NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
                                                CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
-                                               CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
-                                               CCACHE_COMPILERCHECK="none" \
+                                               CCACHE_DIR=/usr/src/ccache \
+                                               CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+                                               CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
                                                KVER=$KVER MAKETUNING=$MAKETUNING \
                                                BUILDTARGET="$BUILDTARGET" \
                                                CROSSTARGET="${CROSSTARGET}" \
@@ -614,8 +635,9 @@ ipfiremake() {
                                                NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
                                                SYSTEM_RELEASE="$SYSTEM_RELEASE" \
                                                CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
-                                               CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
-                                               CCACHE_COMPILERCHECK="none" \
+                                               CCACHE_DIR=/usr/src/ccache \
+                                               CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+                                               CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
                                                KVER=$KVER MAKETUNING=$MAKETUNING \
                                                BUILDTARGET="$BUILDTARGET" \
                                                CROSSTARGET="${CROSSTARGET}" \
@@ -653,8 +675,9 @@ ipfiredist() {
                                        CONFIG_ROOT=$CONFIG_ROOT \
                                        NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
                                        CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
-                                       CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
-                                       CCACHE_COMPILERCHECK="none" \
+                                       CCACHE_DIR=/usr/src/ccache \
+                                       CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+                                       CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
                                        KVER=$KVER \
                                        BUILDTARGET="$BUILDTARGET" \
                                        CROSSTARGET="${CROSSTARGET}" \
@@ -738,4 +761,19 @@ update_langs() {
                $BASEDIR/tools/check_strings.pl it > $BASEDIR/doc/language_issues.it
                $BASEDIR/tools/check_langs.sh > $BASEDIR/doc/language_missings
                beautify message DONE
+
+               echo -ne "Updating language lists..."
+               update_language_list ${BASEDIR}/src/installer/po
+               update_language_list ${BASEDIR}/src/setup/po
+               beautify message DONE
+}
+
+update_language_list() {
+       local path="${1}"
+
+       local lang
+       for lang in ${path}/*.po; do
+               lang="$(basename "${lang}")"
+               echo "${lang%*.po}"
+       done | sort -u > "${path}/LINGUAS"
 }