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:
Yann E. MORIN" 2012-12-10 00:25:48 +01:00
parent 288ac9d627
commit fc4d1bf65f
2 changed files with 20 additions and 2 deletions

View File

@ -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

View File

@ -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[@]}"