summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/companion_libs/ppl.in6
-rw-r--r--scripts/build/companion_libs/120-ppl.sh16
2 files changed, 20 insertions, 2 deletions
diff --git a/config/companion_libs/ppl.in b/config/companion_libs/ppl.in
index a6d4f70..1861e7a 100644
--- a/config/companion_libs/ppl.in
+++ b/config/companion_libs/ppl.in
@@ -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
diff --git a/scripts/build/companion_libs/120-ppl.sh b/scripts/build/companion_libs/120-ppl.sh
index 93a07ca..e7e17fc 100644
--- a/scripts/build/companion_libs/120-ppl.sh
+++ b/scripts/build/companion_libs/120-ppl.sh
@@ -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[@]}"