From cb5e8ef57a8c8c5e5770149be2c4e7007f19a442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Mon, 8 Aug 2016 21:56:54 +0200 Subject: [PATCH] common/xbps-src/shutils/common.sh: add cross env It seems that some (many?) projects rely on the environment defining compilers, tools and flags by specific XYZ_host and XYZ_target variables. When cross compiling, define these environment variables. This enables e.g. qt5/qtwebengine build to succeed. Specificially ninja relies on these variables when cross compiling. --- common/xbps-src/shutils/common.sh | 47 ++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/common/xbps-src/shutils/common.sh b/common/xbps-src/shutils/common.sh index ca98f457ac9..aa60d860a26 100644 --- a/common/xbps-src/shutils/common.sh +++ b/common/xbps-src/shutils/common.sh @@ -381,20 +381,21 @@ setup_pkg() { export BUILD_CC="cc" export BUILD_CFLAGS="$XBPS_CFLAGS" + export BUILD_CXXFLAGS="$XBPS_CXXFLAGS" + export BUILD_CPPFLAGS="$XBPS_CPPFLAGS" + export BUILD_LDFLAGS="$XBPS_LDFLAGS" + export CC_FOR_BUILD="cc" export CXX_FOR_BUILD="g++" export CPP_FOR_BUILD="cpp" export LD_FOR_BUILD="ld" export CFLAGS_FOR_BUILD="$XBPS_CFLAGS" - export BUILD_CFLAGS="$XBPS_CFLAGS" export CXXFLAGS_FOR_BUILD="$XBPS_CXXFLAGS" - export BUILD_CXXFLAGS="$XBPS_CXXFLAGS" export CPPFLAGS_FOR_BUILD="$XBPS_CPPFLAGS" - export BUILD_CPPFLAGS="$XBPS_CPPFLAGS" export LDFLAGS_FOR_BUILD="$XBPS_LDFLAGS" - export BUILD_LDFLAGS="$XBPS_LDFLAGS" if [ -n "$cross" ]; then + # Regular tools names export CC="${XBPS_CROSS_TRIPLET}-gcc" export CXX="${XBPS_CROSS_TRIPLET}-c++" export CPP="${XBPS_CROSS_TRIPLET}-cpp" @@ -408,6 +409,44 @@ setup_pkg() { export OBJCOPY="${XBPS_CROSS_TRIPLET}-objcopy" export NM="${XBPS_CROSS_TRIPLET}-nm" export READELF="${XBPS_CROSS_TRIPLET}-readelf" + # Target tools + export CC_target="$CC" + export CXX_target="$CXX" + export CPP_target="$CPP" + export GCC_target="$GCC" + export LD_target="$LD" + export AR_target="$AR" + export AS_target="$AS" + export RANLIB_target="$RANLIB" + export STRIP_target="$STRIP" + export OBJDUMP_target="$OBJDUMP" + export OBJCOPY_target="$OBJCOPY" + export NM_target="$NM" + export READELF_target="$READELF" + # Target flags + export CFLAGS_target="$CFLAGS" + export CXXFLAGS_target="$CXXFLAGS" + export CPPFLAGS_target="$CPPFLAGS" + export LDFLAGS_target="$LDFLAGS" + # Host tools + export CC_host="cc" + export CXX_host="g++" + export CPP_host="cpp" + export GCC_host="$CC_host" + export LD_host="ld" + export AR_host="ar" + export AS_host="as" + export RANLIB_host="ranlib" + export STRIP_host="strip" + export OBJDUMP_host="objdump" + export OBJCOPY_host="objcopy" + export NM_host="nm" + export READELF_host="readelf" + # Host flags + export CFLAGS_host="$XBPS_CFLAGS" + export CXXFLAGS_host="$XBPS_CXXFLAGS" + export CPPFLAGS_host="$XBPS_CPPFLAGS" + export LDFLAGS_host="$XBPS_LDFLAGS" else export CC="cc" export CXX="g++"