40 lines
1.2 KiB
Bash
40 lines
1.2 KiB
Bash
get_gcc_configure_options()
|
|
{
|
|
local CTARGET=$1; shift
|
|
local confgcc=$(get_gcc_common_options)
|
|
case ${CTARGET} in
|
|
arm*) #264534
|
|
local arm_arch="${CTARGET%%-*}"
|
|
# Only do this if arm_arch is armv*
|
|
if [[ ${arm_arch} == armv* ]] ; then
|
|
# Convert armv7{a,r,m} to armv7-{a,r,m}
|
|
[[ ${arm_arch} == armv7? ]] && arm_arch=${arm_arch/7/7-}
|
|
# Remove endian ('l' / 'eb')
|
|
[[ ${arm_arch} == *l ]] && arm_arch=${arm_arch%l}
|
|
[[ ${arm_arch} == *eb ]] && arm_arch=${arm_arch%eb}
|
|
confgcc="${confgcc} --with-arch=${arm_arch}"
|
|
confgcc="${confgcc} --disable-esp"
|
|
fi
|
|
;;
|
|
i?86*)
|
|
# Hardened is enabled for x86, but disabled for ARM.
|
|
confgcc="${confgcc} --with-arch=atom"
|
|
confgcc="${confgcc} --enable-esp"
|
|
;;
|
|
esac
|
|
echo ${confgcc}
|
|
}
|
|
|
|
get_gcc_common_options()
|
|
{
|
|
local confgcc
|
|
# TODO(asharif): Build without these options.
|
|
confgcc="${confgcc} --disable-libmudflap"
|
|
confgcc="${confgcc} --disable-libssp"
|
|
confgcc="${confgcc} --disable-libgomp"
|
|
confgcc="${confgcc} --enable-__cxa_atexit"
|
|
confgcc="${confgcc} --enable-checking=release"
|
|
confgcc="${confgcc} --disable-libquadmath"
|
|
echo ${confgcc}
|
|
}
|
|
|