mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-01-18 02:39:46 +00:00
complibs/ppl: fix build with newer gcc
ppl-0.10.x does not build with gcc-4.6+, as it uses constructs that were warnings with gcc-4.5 and before, but are now errors with gcc-4.6 and above. Fix that by passing -fpermissive in CFLAGS for ppl 0.10. Reported-by: Jeremy Rosen <jeremy.rosen@openwide.fr> Reported-by: Peter Korsgaard <jacmet@uclibc.org> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit is contained in:
parent
288ac9d627
commit
fc4d1bf65f
@ -24,6 +24,7 @@ config PPL_V_0_11
|
||||
config PPL_V_0_10_2
|
||||
bool
|
||||
prompt "0.10.2"
|
||||
select PPL_NEEDS_FPERMISSIVE
|
||||
|
||||
endchoice
|
||||
|
||||
@ -36,6 +37,11 @@ config PPL_VERSION
|
||||
default "0.11" if PPL_V_0_11
|
||||
default "0.10.2" if PPL_V_0_10_2
|
||||
|
||||
# For PPL 0.10, we need -fpermissive to build on gcc 4.7+
|
||||
# (even gcc-4.6+ ?)
|
||||
config PPL_NEEDS_FPERMISSIVE
|
||||
bool
|
||||
|
||||
# For PPL 0.11, we need to pull libpwl if configured static
|
||||
config PPL_0_11
|
||||
bool
|
||||
|
@ -30,6 +30,7 @@ do_ppl_extract() {
|
||||
# - install in build-tools prefix
|
||||
do_ppl_for_build() {
|
||||
local -a ppl_opts
|
||||
local ppl_cflags
|
||||
|
||||
case "${CT_TOOLCHAIN_TYPE}" in
|
||||
native|cross) return 0;;
|
||||
@ -38,9 +39,14 @@ do_ppl_for_build() {
|
||||
CT_DoStep INFO "Installing PPL for build"
|
||||
CT_mkdir_pushd "${CT_BUILD_DIR}/build-ppl-build-${CT_BUILD}"
|
||||
|
||||
ppl_cflags="${CT_CFLAGS_FOR_BUILD}"
|
||||
if [ "${CT_PPL_NEEDS_FPERMISSIVE}" = "y" ]; then
|
||||
ppl_cflags+=" -fpermissive"
|
||||
fi
|
||||
|
||||
ppl_opts+=( "host=${CT_BUILD}" )
|
||||
ppl_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
|
||||
ppl_opts+=( "cflags=${CT_CFLAGS_FOR_BUILD}" )
|
||||
ppl_opts+=( "cflags=${ppl_cflags}" )
|
||||
ppl_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
|
||||
do_ppl_backend "${ppl_opts[@]}"
|
||||
|
||||
@ -51,13 +57,19 @@ do_ppl_for_build() {
|
||||
# Build PPL for running on host
|
||||
do_ppl_for_host() {
|
||||
local -a ppl_opts
|
||||
local ppl_cflags
|
||||
|
||||
CT_DoStep INFO "Installing PPL for host"
|
||||
CT_mkdir_pushd "${CT_BUILD_DIR}/build-ppl-host-${CT_HOST}"
|
||||
|
||||
ppl_cflags="${CT_CFLAGS_FOR_HOST}"
|
||||
if [ "${CT_PPL_NEEDS_FPERMISSIVE}" = "y" ]; then
|
||||
ppl_cflags+=" -fpermissive"
|
||||
fi
|
||||
|
||||
ppl_opts+=( "host=${CT_HOST}" )
|
||||
ppl_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
|
||||
ppl_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
|
||||
ppl_opts+=( "cflags=${ppl_cflags}" )
|
||||
ppl_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
|
||||
do_ppl_backend "${ppl_opts[@]}"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user