From 272114cd05e19542b0d88448d31cb19206fd1a67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Wed, 8 Mar 2017 17:28:31 +0100 Subject: [PATCH] xbps-src: trying to fix FFLAGS construction This still isn't perfect. When the common/xbps-src/shutils/chroot.sh function chroot_init() is called, the value for $XBPS_FFLAGS, which is defined in common/build-profiles/bootstrap.sh, is empty. Put the immediate value into the generated /etc/xbps/xbps-src.conf file until someone finds out where passing the value of $XBPS_FFLAGS throughout the scripts is missing. --- common/build-profiles/aarch64-musl.sh | 1 + common/build-profiles/aarch64.sh | 1 + common/build-profiles/armv6l-musl.sh | 1 + common/build-profiles/armv6l.sh | 1 + common/build-profiles/armv7l-musl.sh | 1 + common/build-profiles/armv7l.sh | 1 + common/build-profiles/i686-musl.sh | 1 + common/build-profiles/i686.sh | 1 + common/build-profiles/x86_64-musl.sh | 1 + common/build-profiles/x86_64.sh | 1 + common/cross-profiles/README | 1 + common/cross-profiles/aarch64-musl.sh | 1 + common/cross-profiles/aarch64.sh | 1 + common/cross-profiles/armv5tel-musl.sh | 1 + common/cross-profiles/armv5tel.sh | 1 + common/cross-profiles/armv6l-musl.sh | 1 + common/cross-profiles/armv6l.sh | 1 + common/cross-profiles/armv7l-musl.sh | 1 + common/cross-profiles/armv7l.sh | 1 + common/cross-profiles/i686-musl.sh | 1 + common/cross-profiles/i686.sh | 1 + common/cross-profiles/mips-musl.sh | 1 + common/cross-profiles/mipsel-musl.sh | 1 + common/cross-profiles/mipselhf-musl.sh | 1 + common/cross-profiles/x86_64-musl.sh | 1 + common/environment/setup/sourcepkg.sh | 2 +- common/xbps-src/shutils/chroot.sh | 4 +++- common/xbps-src/shutils/common.sh | 6 +++--- xbps-src | 4 ++-- 29 files changed, 34 insertions(+), 7 deletions(-) diff --git a/common/build-profiles/aarch64-musl.sh b/common/build-profiles/aarch64-musl.sh index bfa9a537326..795db9f870b 100644 --- a/common/build-profiles/aarch64-musl.sh +++ b/common/build-profiles/aarch64-musl.sh @@ -1,3 +1,4 @@ XBPS_TARGET_CFLAGS="-march=armv8-a" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="" XBPS_TRIPLET="aarch64-unknown-linux-musl" diff --git a/common/build-profiles/aarch64.sh b/common/build-profiles/aarch64.sh index 2e7fe408b6d..0c4cd3dafba 100644 --- a/common/build-profiles/aarch64.sh +++ b/common/build-profiles/aarch64.sh @@ -1,3 +1,4 @@ XBPS_TARGET_CFLAGS="-march=armv8-a" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="" XBPS_TRIPLET="aarch64-unknown-linux-gnu" diff --git a/common/build-profiles/armv6l-musl.sh b/common/build-profiles/armv6l-musl.sh index 7dcb03e3a49..f58452e44d0 100644 --- a/common/build-profiles/armv6l-musl.sh +++ b/common/build-profiles/armv6l-musl.sh @@ -1,3 +1,4 @@ XBPS_TARGET_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="" XBPS_TRIPLET="armv6l-linux-musleabihf" diff --git a/common/build-profiles/armv6l.sh b/common/build-profiles/armv6l.sh index 873be80a375..a08c589d891 100644 --- a/common/build-profiles/armv6l.sh +++ b/common/build-profiles/armv6l.sh @@ -1,3 +1,4 @@ XBPS_TARGET_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="" XBPS_TRIPLET="armv6l-unknown-linux-gnueabihf" diff --git a/common/build-profiles/armv7l-musl.sh b/common/build-profiles/armv7l-musl.sh index 107e2b6001b..a8fadb347a7 100644 --- a/common/build-profiles/armv7l-musl.sh +++ b/common/build-profiles/armv7l-musl.sh @@ -1,3 +1,4 @@ XBPS_TARGET_CFLAGS="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" XBPS_TARGET_CXXFLAGS="$XBPS_CXXFLAGS" +XBPS_TARGET_FFLAGS="" XBPS_TRIPLET="armv7l-linux-musleabihf" diff --git a/common/build-profiles/armv7l.sh b/common/build-profiles/armv7l.sh index 87bed5995df..bde53ea67ce 100644 --- a/common/build-profiles/armv7l.sh +++ b/common/build-profiles/armv7l.sh @@ -1,3 +1,4 @@ XBPS_TARGET_CFLAGS="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="" XBPS_TRIPLET="armv7l-unknown-linux-gnueabihf" diff --git a/common/build-profiles/i686-musl.sh b/common/build-profiles/i686-musl.sh index eff0c95ae7d..f3bf32cc506 100644 --- a/common/build-profiles/i686-musl.sh +++ b/common/build-profiles/i686-musl.sh @@ -1,3 +1,4 @@ XBPS_TARGET_CFLAGS="-mtune=i686" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="" XBPS_TRIPLET="i686-pc-linux-musl" diff --git a/common/build-profiles/i686.sh b/common/build-profiles/i686.sh index 45a9117413b..ea38e8fa6e5 100644 --- a/common/build-profiles/i686.sh +++ b/common/build-profiles/i686.sh @@ -1,3 +1,4 @@ XBPS_TARGET_CFLAGS="-mtune=i686" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="" XBPS_TRIPLET="i686-pc-linux-gnu" diff --git a/common/build-profiles/x86_64-musl.sh b/common/build-profiles/x86_64-musl.sh index 7f06682ceb2..7dbb0f5c4bf 100644 --- a/common/build-profiles/x86_64-musl.sh +++ b/common/build-profiles/x86_64-musl.sh @@ -1,3 +1,4 @@ XBPS_TARGET_CFLAGS="-mtune=generic" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="" XBPS_TRIPLET="x86_64-unknown-linux-musl" diff --git a/common/build-profiles/x86_64.sh b/common/build-profiles/x86_64.sh index dee94e16947..ff9dd9902f2 100644 --- a/common/build-profiles/x86_64.sh +++ b/common/build-profiles/x86_64.sh @@ -1,3 +1,4 @@ XBPS_TARGET_CFLAGS="-mtune=generic" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="" XBPS_TRIPLET="x86_64-unknown-linux-gnu" diff --git a/common/cross-profiles/README b/common/cross-profiles/README index 0c52195b6b7..9069084a80f 100644 --- a/common/cross-profiles/README +++ b/common/cross-profiles/README @@ -8,6 +8,7 @@ A cross profile file must provide the following variables: - XBPS_CROSS_TRIPLET (the cross compiler triplet) - XBPS_CROSS_CFLAGS (C compiler flags for the cross compiler) - XBPS_CROSS_CXXFLAGS (C++ compiler flags for the cross compiler) + - XBPS_CROSS_FFLAGS (Fortran compiler flags for the cross compiler) - XBPS_CROSS_CPPFLAGS (Preprocessor flags for the cross compiler) - XBPS_CROSS_LDFLAGS (Linker flags for the cross compiler) diff --git a/common/cross-profiles/aarch64-musl.sh b/common/cross-profiles/aarch64-musl.sh index fda5ac09c63..d17a09b5ad2 100644 --- a/common/cross-profiles/aarch64-musl.sh +++ b/common/cross-profiles/aarch64-musl.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="aarch64-musl" XBPS_CROSS_TRIPLET="aarch64-linux-musl" XBPS_CROSS_CFLAGS="-march=armv8-a" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/aarch64.sh b/common/cross-profiles/aarch64.sh index 42e0068d3b2..c4ab53f7884 100644 --- a/common/cross-profiles/aarch64.sh +++ b/common/cross-profiles/aarch64.sh @@ -6,3 +6,4 @@ XBPS_CFLAGS="-O2 -pipe" # XXX not yet supported: -fstack-protector-strong XBPS_CXXFLAGS="$XBPS_CFLAGS" XBPS_CROSS_CFLAGS="-march=armv8-a" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/armv5tel-musl.sh b/common/cross-profiles/armv5tel-musl.sh index a238957968a..cd3020ffab4 100644 --- a/common/cross-profiles/armv5tel-musl.sh +++ b/common/cross-profiles/armv5tel-musl.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="armv5tel-musl" XBPS_CROSS_TRIPLET="arm-linux-musleabi" XBPS_CROSS_CFLAGS="-march=armv5te -msoft-float -mfloat-abi=soft" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/armv5tel.sh b/common/cross-profiles/armv5tel.sh index d654ad93620..cb1e28a4b06 100644 --- a/common/cross-profiles/armv5tel.sh +++ b/common/cross-profiles/armv5tel.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="armv5tel" XBPS_CROSS_TRIPLET="arm-linux-gnueabi" XBPS_CROSS_CFLAGS="-march=armv5te -msoft-float -mfloat-abi=soft" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/armv6l-musl.sh b/common/cross-profiles/armv6l-musl.sh index ecb78479fbb..b03e7a8d548 100644 --- a/common/cross-profiles/armv6l-musl.sh +++ b/common/cross-profiles/armv6l-musl.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="armv6l-musl" XBPS_CROSS_TRIPLET="arm-linux-musleabihf" XBPS_CROSS_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/armv6l.sh b/common/cross-profiles/armv6l.sh index 9576d030d3e..8d52f97cd4a 100644 --- a/common/cross-profiles/armv6l.sh +++ b/common/cross-profiles/armv6l.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="armv6l" XBPS_CROSS_TRIPLET="arm-linux-gnueabihf" XBPS_CROSS_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/armv7l-musl.sh b/common/cross-profiles/armv7l-musl.sh index bff5aba119c..3b88cd4bada 100644 --- a/common/cross-profiles/armv7l-musl.sh +++ b/common/cross-profiles/armv7l-musl.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="armv7l-musl" XBPS_CROSS_TRIPLET="armv7l-linux-musleabihf" XBPS_CROSS_CFLAGS="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/armv7l.sh b/common/cross-profiles/armv7l.sh index d9d439dec36..8e8a378f1fe 100644 --- a/common/cross-profiles/armv7l.sh +++ b/common/cross-profiles/armv7l.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="armv7l" XBPS_CROSS_TRIPLET="armv7l-linux-gnueabihf" XBPS_CROSS_CFLAGS="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/i686-musl.sh b/common/cross-profiles/i686-musl.sh index 80a5e560d4f..e658725283c 100644 --- a/common/cross-profiles/i686-musl.sh +++ b/common/cross-profiles/i686-musl.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="i686-musl" XBPS_CROSS_TRIPLET="i686-linux-musl" XBPS_CROSS_CFLAGS="-march=i686" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/i686.sh b/common/cross-profiles/i686.sh index c69e94448f4..9937694530a 100644 --- a/common/cross-profiles/i686.sh +++ b/common/cross-profiles/i686.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="i686" XBPS_CROSS_TRIPLET="i686-pc-linux-gnu" XBPS_CROSS_CFLAGS="-march=i686" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/mips-musl.sh b/common/cross-profiles/mips-musl.sh index c20a6ac592d..7867721c38e 100644 --- a/common/cross-profiles/mips-musl.sh +++ b/common/cross-profiles/mips-musl.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="mips-musl" XBPS_CROSS_TRIPLET="mips-linux-musl" XBPS_CROSS_CFLAGS="-mtune=mips32r2 -mabi=32 -msoft-float" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/mipsel-musl.sh b/common/cross-profiles/mipsel-musl.sh index 359b4fe7b09..5866c1f92a3 100644 --- a/common/cross-profiles/mipsel-musl.sh +++ b/common/cross-profiles/mipsel-musl.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="mipsel-musl" XBPS_CROSS_TRIPLET="mipsel-linux-musl" XBPS_CROSS_CFLAGS="-mtune=mips32r2 -mabi=32 -msoft-float" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/mipselhf-musl.sh b/common/cross-profiles/mipselhf-musl.sh index c75451bc30b..5989669e949 100644 --- a/common/cross-profiles/mipselhf-musl.sh +++ b/common/cross-profiles/mipselhf-musl.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="mipselhf-musl" XBPS_CROSS_TRIPLET="mipsel-linux-muslhf" XBPS_CROSS_CFLAGS="-mtune=mips32r2 -mabi=32 -mhard-float" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/cross-profiles/x86_64-musl.sh b/common/cross-profiles/x86_64-musl.sh index 3ef9244250c..58df5faa296 100644 --- a/common/cross-profiles/x86_64-musl.sh +++ b/common/cross-profiles/x86_64-musl.sh @@ -4,3 +4,4 @@ XBPS_TARGET_MACHINE="x86_64-musl" XBPS_CROSS_TRIPLET="x86_64-linux-musl" XBPS_CROSS_CFLAGS="-mtune=generic" XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="" diff --git a/common/environment/setup/sourcepkg.sh b/common/environment/setup/sourcepkg.sh index ab57f0fd208..915d06ead79 100644 --- a/common/environment/setup/sourcepkg.sh +++ b/common/environment/setup/sourcepkg.sh @@ -9,7 +9,7 @@ unset -v make_cmd make_build_args make_install_args make_build_target make_insta unset -v patch_args disable_parallel_build keep_libtool_archives unset -v reverts subpackages makedepends hostmakedepends depends restricted unset -v nopie build_options build_options_default bootstrap repository reverts -unset -v CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH +unset -v CFLAGS CXXFLAGS FFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH unset -v CC CXX CPP GCC LD AR AS RANLIB NM OBJDUMP OBJCOPY STRIP READELF # hooks/do-extract/00-distfiles diff --git a/common/xbps-src/shutils/chroot.sh b/common/xbps-src/shutils/chroot.sh index e15fce4a341..2f578143bbb 100644 --- a/common/xbps-src/shutils/chroot.sh +++ b/common/xbps-src/shutils/chroot.sh @@ -1,5 +1,7 @@ # vim: set ts=4 sw=4 et: +# FIXME: $XBPS_FFLAGS is not set when chroot_init() is run +# It is set in common/build-profiles/bootstrap.sh but lost somewhere? chroot_init() { XBPSSRC_CF=$XBPS_MASTERDIR/etc/xbps/xbps-src.conf @@ -15,9 +17,9 @@ _EOF XBPS_MASTERDIR=/ XBPS_CFLAGS="$XBPS_CFLAGS" XBPS_CXXFLAGS="$XBPS_CXXFLAGS" +XBPS_FFLAGS="-fPIC -pipe" XBPS_CPPFLAGS="$XBPS_CPPFLAGS" XBPS_LDFLAGS="$XBPS_LDFLAGS" -XBPS_FFLAGS="$XBPS_FFLAGS" XBPS_HOSTDIR=/host _EOF diff --git a/common/xbps-src/shutils/common.sh b/common/xbps-src/shutils/common.sh index 0f140f03481..5a6b52379e3 100644 --- a/common/xbps-src/shutils/common.sh +++ b/common/xbps-src/shutils/common.sh @@ -219,7 +219,7 @@ setup_pkg() { basepkg=${pkg%-32bit} # Start with a sane environment - unset -v PKG_BUILD_OPTIONS XBPS_CROSS_CFLAGS XBPS_CROSS_CXXFLAGS XBPS_CROSS_CPPFLAGS XBPS_CROSS_LDFLAGS + unset -v PKG_BUILD_OPTIONS XBPS_CROSS_CFLAGS XBPS_CROSS_CXXFLAGS XBPS_CROSS_FFLAGS XBPS_CROSS_CPPFLAGS XBPS_CROSS_LDFLAGS unset -v subpackages run_depends build_depends host_build_depends unset_package_funcs @@ -249,7 +249,7 @@ setup_pkg() { else export XBPS_TARGET_MACHINE=${XBPS_ARCH:-$XBPS_MACHINE} - unset XBPS_CROSS_BASE XBPS_CROSS_LDFLAGS + unset XBPS_CROSS_BASE XBPS_CROSS_LDFLAGS XBPS_CROSS_FFLAGS unset XBPS_CROSS_CFLAGS XBPS_CROSS_CXXFLAGS XBPS_CROSS_CPPFLAGS XBPS_INSTALL_XCMD="$XBPS_INSTALL_CMD" @@ -380,9 +380,9 @@ setup_pkg() { export CFLAGS="$XBPS_TARGET_CFLAGS $XBPS_CFLAGS $XBPS_CROSS_CFLAGS $CFLAGS $dbgflags" export CXXFLAGS="$XBPS_TARGET_CXXFLAGS $XBPS_CXXFLAGS $XBPS_CROSS_CXXFLAGS $CXXFLAGS $dbgflags" + export FFLAGS="$XBPS_TARGET_FFLAGS $XBPS_FFLAGS $XBPS_CROSS_FFLAGS $FFLAGS" export CPPFLAGS="$XBPS_TARGET_CPPFLAGS $XBPS_CPPFLAGS $XBPS_CROSS_CPPFLAGS $CPPFLAGS" export LDFLAGS="$XBPS_TARGET_LDFLAGS $XBPS_LDFLAGS $XBPS_CROSS_LDFLAGS $LDFLAGS" - export FFLAGS="$XBPS_TARGET_FFLAGS $XBPS_FFLAGS $XBPS_CROSS_FFLAGS $FFLAGS" export BUILD_CC="cc" export BUILD_CFLAGS="$XBPS_CFLAGS" diff --git a/xbps-src b/xbps-src index a7858c6ee71..bc200b9fc34 100755 --- a/xbps-src +++ b/xbps-src @@ -566,8 +566,8 @@ export XBPS_SHUTILSDIR XBPS_CROSSPFDIR XBPS_TRIGGERSDIR \ XBPS_REPOSITORY XBPS_ALT_REPOSITORY XBPS_SRCDISTDIR XBPS_DIGEST_CMD \ XBPS_UHELPER_CMD XBPS_INSTALL_CMD XBPS_QUERY_CMD \ XBPS_RINDEX_CMD XBPS_RECONFIGURE_CMD XBPS_REMOVE_CMD \ - XBPS_CMPVER_CMD XBPS_FETCH_CMD XBPS_VERSION XBPS_APIVER \ - XBPS_BUILDSTYLEDIR XBPS_CPPFLAGS XBPS_CFLAGS XBPS_CXXFLAGS XBPS_LDFLAGS \ + XBPS_CMPVER_CMD XBPS_FETCH_CMD XBPS_VERSION XBPS_APIVER XBPS_BUILDSTYLEDIR \ + XBPS_CPPFLAGS XBPS_CFLAGS XBPS_CXXFLAGS XBPS_FFLAGS XBPS_LDFLAGS \ XBPS_MAKEJOBS XBPS_BUILD_FORCEMODE XBPS_USE_GIT_REVS XBPS_DEBUG_PKGS \ XBPS_CCACHE XBPS_DISTCC XBPS_DISTCC_HOSTS XBPS_SKIP_DEPS \ XBPS_SKIP_REMOTEREPOS XBPS_CROSS_BUILD XBPS_PKG_OPTIONS XBPS_CONFIG_FILE \