###############################################################################
# #
# 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 #
CFLAGS_ARCH="-march=i586 -mtune=generic -fomit-frame-pointer"
;;
+ aarch64)
+ BUILDTARGET="${target_arch}-unknown-linux-gnu"
+ CROSSTARGET="${target_arch}-cross-linux-gnu"
+ CFLAGS_ARCH=""
+ ;;
+
+ armv7hl)
+ BUILDTARGET="${target_arch}-unknown-linux-gnueabi"
+ CROSSTARGET="${target_arch}-cross-linux-gnueabi"
+ CFLAGS_ARCH="-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
+ ;;
+
armv5tel)
BUILDTARGET="${target_arch}-unknown-linux-gnueabi"
CROSSTARGET="${target_arch}-cross-linux-gnueabi"
# Old variable names
MACHINE="${TARGET_ARCH}"
- CFLAGS="-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fPIC"
- CFLAGS="${CFLAGS} -fstack-protector-strong --param=ssp-buffer-size=4 ${CFLAGS_ARCH}"
+ # Enables hardening
+ HARDENING_CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4"
+
+ CFLAGS="-O2 -pipe -Wall -fexceptions -fPIC ${CFLAGS_ARCH}"
CXXFLAGS="${CFLAGS}"
}
x86_64|i686|i586)
echo "i586"
;;
- armv7*|armv6*|armv5*)
+
+ aarch64)
+ echo "aarch64"
+ ;;
+
+ armv7*)
+ echo "armv7hl"
+ ;;
+
+ armv6*|armv5*)
echo "armv5tel"
;;
+
*)
exiterror "Cannot guess target architecture"
;;
losetup -d /dev/loop${i} 2>/dev/null
fi;
done
+
+ if [ -n "${LOGFILE}" ]; then
+ echo # empty line
+
+ local line
+ while read -r line; do
+ echo " ${line}"
+ done <<< "$(tail -n30 ${LOGFILE})"
+ fi
+
echo -e "\nERROR: $*"
echo " Check $LOGFILE for errors if applicable"
exit 1
PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
VERSION=$VERSION CONFIG_ROOT=$CONFIG_ROOT \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
- CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ CFLAGS="${CFLAGS} ${HARDENING_CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS} ${HARDENING_CFLAGS}" \
CCACHE_DIR=/usr/src/ccache \
CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
local PKG_TIME_START=`date +%s`
- cd $BASEDIR/lfs && make -f $* BUILDTARGET=$BUILDTARGET \
+ cd $BASEDIR/lfs && \
+ PATH="/tools/ccache/bin:/tools/bin:$PATH" \
+ make -f $* TOOLCHAIN=1 BUILDTARGET=$BUILDTARGET \
CROSSTARGET="${CROSSTARGET}" \
MACHINE=$MACHINE \
MACHINE_TYPE=$MACHINE_TYPE \
SYSTEM_RELEASE="${SYSTEM_RELEASE}" \
CONFIG_ROOT=$CONFIG_ROOT \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
- CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ CFLAGS="${CFLAGS} ${HARDENING_CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS} ${HARDENING_CFLAGS}" \
CCACHE_DIR=/usr/src/ccache \
CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
CONFIG_ROOT=$CONFIG_ROOT \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
SYSTEM_RELEASE="$SYSTEM_RELEASE" \
- CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ CFLAGS="${CFLAGS} ${HARDENING_CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS} ${HARDENING_CFLAGS}" \
CCACHE_DIR=/usr/src/ccache \
CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
VERSION=$VERSION \
CONFIG_ROOT=$CONFIG_ROOT \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
- CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ CFLAGS="${CFLAGS} ${HARDENING_CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS} ${HARDENING_CFLAGS}" \
CCACHE_DIR=/usr/src/ccache \
CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
SYSTEM_RELEASE="${SYSTEM_RELEASE}" \
CONFIG_ROOT=$CONFIG_ROOT \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
- CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ CFLAGS="${CFLAGS} ${HARDENING_CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS} ${HARDENING_CFLAGS}" \
CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \
KVER=$KVER \
BUILDTARGET="$BUILDTARGET" \