fi
case "${target_arch}" in
+ x86_64)
+ BUILDTARGET="${target_arch}-unknown-linux-gnu"
+ CROSSTARGET="${BUILD_ARCH}-cross-linux-gnu"
+ CFLAGS_ARCH="-m64 -mtune=generic"
+ ;;
+
i586)
- BUILDTARGET="${TARGET_ARCH}-pc-linux-gnu"
+ BUILDTARGET="${target_arch}-pc-linux-gnu"
CROSSTARGET="${BUILD_ARCH}-cross-linux-gnu"
- CFLAGS_ARCH="-march=i586 -fomit-frame-pointer"
+ CFLAGS_ARCH="-march=i586 -mtune=generic -fomit-frame-pointer"
;;
armv5tel)
- BUILDTARGET="${TARGET_ARCH}-unknown-linux-gnueabi"
+ BUILDTARGET="${target_arch}-unknown-linux-gnueabi"
CROSSTARGET="${BUILD_ARCH}-cross-linux-gnueabi"
CFLAGS_ARCH="-march=armv5te -mfloat-abi=soft -fomit-frame-pointer"
MACHINE_TYPE="arm"
CFLAGS="-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fPIC"
CFLAGS="${CFLAGS} -fstack-protector-all --param=ssp-buffer-size=4 ${CFLAGS_ARCH}"
CXXFLAGS="${CFLAGS}"
- C2FLAGS="${CFLAGS}"
- CXX2FLAGS="${CXXFLAGS}"
}
configure_target_guess() {
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
;;
*)
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
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
qemu_install_helper
echo "Entering to a shell inside LFS chroot, go out with exit"
- chroot $LFS /tools/bin/env -i HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
+ chroot $LFS /tools/bin/env -i HOME=/root TERM=$TERM PS1='ipfire build chroot ($(uname -m)) \u:\w\$ ' \
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="$CF2LAGS" CXXFLAGS="$CXX2FLAGS" \
+ 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}" \
MACHINE="$MACHINE" \
MACHINE_TYPE="$MACHINE_TYPE" \
- KGCC="ccache /usr/bin/gcc" \
$(fake_environ) \
$(qemu_environ) \
/tools/bin/bash -i
SYSTEM_RELEASE="${SYSTEM_RELEASE}" \
CONFIG_ROOT=$CONFIG_ROOT \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
- CFLAGS="$C2FLAGS" CXXFLAGS="$CXX2FLAGS" \
- CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
- CCACHE_COMPILERCHECK="none" \
+ CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ CCACHE_DIR=/usr/src/ccache \
+ CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+ CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
KVER=$KVER MAKETUNING=$MAKETUNING \
BUILDTARGET="$BUILDTARGET" \
CROSSTARGET="${CROSSTARGET}" \
CONFIG_ROOT=$CONFIG_ROOT \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
SYSTEM_RELEASE="$SYSTEM_RELEASE" \
- CFLAGS="$C2FLAGS" CXXFLAGS="$CXX2FLAGS" \
- CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
- CCACHE_COMPILERCHECK="none" \
+ CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ CCACHE_DIR=/usr/src/ccache \
+ CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+ CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
KVER=$KVER MAKETUNING=$MAKETUNING \
BUILDTARGET="$BUILDTARGET" \
CROSSTARGET="${CROSSTARGET}" \
VERSION=$VERSION \
CONFIG_ROOT=$CONFIG_ROOT \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
- CFLAGS="$C2FLAGS" CXXFLAGS="$CXX2FLAGS" \
- CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
- CCACHE_COMPILERCHECK="none" \
+ CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ CCACHE_DIR=/usr/src/ccache \
+ CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+ CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
KVER=$KVER \
BUILDTARGET="$BUILDTARGET" \
CROSSTARGET="${CROSSTARGET}" \
SYSTEM_RELEASE="${SYSTEM_RELEASE}" \
CONFIG_ROOT=$CONFIG_ROOT \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
- CFLAGS="-Os" CXXFLAGS="-Os" \
+ CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \
KVER=$KVER \
BUILDTARGET="$BUILDTARGET" \
$BASEDIR/tools/sort_strings.pl ru
$BASEDIR/tools/sort_strings.pl nl
$BASEDIR/tools/sort_strings.pl tr
+ $BASEDIR/tools/sort_strings.pl it
$BASEDIR/tools/check_strings.pl en > $BASEDIR/doc/language_issues.en
$BASEDIR/tools/check_strings.pl de > $BASEDIR/doc/language_issues.de
$BASEDIR/tools/check_strings.pl fr > $BASEDIR/doc/language_issues.fr
$BASEDIR/tools/check_strings.pl ru > $BASEDIR/doc/language_issues.ru
$BASEDIR/tools/check_strings.pl nl > $BASEDIR/doc/language_issues.nl
$BASEDIR/tools/check_strings.pl tr > $BASEDIR/doc/language_issues.tr
+ $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"
}