mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-02-06 10:59:21 +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
|
config PPL_V_0_10_2
|
||||||
bool
|
bool
|
||||||
prompt "0.10.2"
|
prompt "0.10.2"
|
||||||
|
select PPL_NEEDS_FPERMISSIVE
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
@ -36,6 +37,11 @@ config PPL_VERSION
|
|||||||
default "0.11" if PPL_V_0_11
|
default "0.11" if PPL_V_0_11
|
||||||
default "0.10.2" if PPL_V_0_10_2
|
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
|
# For PPL 0.11, we need to pull libpwl if configured static
|
||||||
config PPL_0_11
|
config PPL_0_11
|
||||||
bool
|
bool
|
||||||
|
@ -30,6 +30,7 @@ do_ppl_extract() {
|
|||||||
# - install in build-tools prefix
|
# - install in build-tools prefix
|
||||||
do_ppl_for_build() {
|
do_ppl_for_build() {
|
||||||
local -a ppl_opts
|
local -a ppl_opts
|
||||||
|
local ppl_cflags
|
||||||
|
|
||||||
case "${CT_TOOLCHAIN_TYPE}" in
|
case "${CT_TOOLCHAIN_TYPE}" in
|
||||||
native|cross) return 0;;
|
native|cross) return 0;;
|
||||||
@ -38,9 +39,14 @@ do_ppl_for_build() {
|
|||||||
CT_DoStep INFO "Installing PPL for build"
|
CT_DoStep INFO "Installing PPL for build"
|
||||||
CT_mkdir_pushd "${CT_BUILD_DIR}/build-ppl-build-${CT_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+=( "host=${CT_BUILD}" )
|
||||||
ppl_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
|
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}" )
|
ppl_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
|
||||||
do_ppl_backend "${ppl_opts[@]}"
|
do_ppl_backend "${ppl_opts[@]}"
|
||||||
|
|
||||||
@ -51,13 +57,19 @@ do_ppl_for_build() {
|
|||||||
# Build PPL for running on host
|
# Build PPL for running on host
|
||||||
do_ppl_for_host() {
|
do_ppl_for_host() {
|
||||||
local -a ppl_opts
|
local -a ppl_opts
|
||||||
|
local ppl_cflags
|
||||||
|
|
||||||
CT_DoStep INFO "Installing PPL for host"
|
CT_DoStep INFO "Installing PPL for host"
|
||||||
CT_mkdir_pushd "${CT_BUILD_DIR}/build-ppl-host-${CT_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+=( "host=${CT_HOST}" )
|
||||||
ppl_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
|
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}" )
|
ppl_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
|
||||||
do_ppl_backend "${ppl_opts[@]}"
|
do_ppl_backend "${ppl_opts[@]}"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user