summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin39204 -> 39197 bytes
-rw-r--r--eclass/meson.eclass46
-rw-r--r--eclass/mozconfig-v6.60.eclass7
3 files changed, 45 insertions, 8 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 9ead72cbda5d..7146d64f85f8 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index f493bab2d019..d15e3ff58795 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -166,13 +166,16 @@ _meson_create_cross_file() {
strip = '$(tc-getSTRIP)'
[properties]
- c_args = $(_meson_env_array "${CFLAGS}")
- c_link_args = $(_meson_env_array "${LDFLAGS}")
- cpp_args = $(_meson_env_array "${CXXFLAGS}")
- cpp_link_args = $(_meson_env_array "${LDFLAGS}")
+ c_args = $(_meson_env_array "${CFLAGS} ${CPPFLAGS}")
+ c_link_args = $(_meson_env_array "${CFLAGS} ${LDFLAGS}")
+ cpp_args = $(_meson_env_array "${CXXFLAGS} ${CPPFLAGS}")
+ cpp_link_args = $(_meson_env_array "${CXXFLAGS} ${LDFLAGS}")
fortran_args = $(_meson_env_array "${FCFLAGS}")
- objc_args = $(_meson_env_array "${OBJCFLAGS}")
- objcpp_args = $(_meson_env_array "${OBJCXXFLAGS}")
+ fortran_link_args = $(_meson_env_array "${FCFLAGS} ${LDFLAGS}")
+ objc_args = $(_meson_env_array "${OBJCFLAGS} ${CPPFLAGS}")
+ objc_link_args = $(_meson_env_array "${OBJCFLAGS} ${LDFLAGS}")
+ objcpp_args = $(_meson_env_array "${OBJCXXFLAGS} ${CPPFLAGS}")
+ objcpp_link_args = $(_meson_env_array "${OBJCXXFLAGS} ${LDFLAGS}")
[host_machine]
system = '${system}'
@@ -195,6 +198,25 @@ meson_use() {
usex "$1" "-D${2-$1}=true" "-D${2-$1}=false"
}
+# @FUNCTION: _meson_move_flags
+# @INTERNAL
+# @USAGE: PROG FLAGS
+# @DESCRIPTION:
+# Moves extra arguments from PROG to FLAGS.
+# For example:
+# CC="gcc -m32" -> CC="gcc" CFLAGS="-m32"
+_meson_move_flags() {
+ local prog=${1}
+ local flags=${2}
+ local x=( ${!prog} )
+ if [[ -n ${x[0]} ]]; then
+ export ${prog}=${x[0]}
+ fi
+ if [[ -n ${x[1]} ]]; then
+ export ${flags}="${x[@]:1}${!flags:+ }${!flags}"
+ fi
+}
+
# @FUNCTION: meson_src_configure
# @DESCRIPTION:
# This is the meson_src_configure function.
@@ -211,6 +233,18 @@ meson_src_configure() {
--wrap-mode nodownload
)
+ # Prevent multilib flags from leaking across ABIs
+ local -x BUILD_CFLAGS=${BUILD_CFLAGS}
+ local -x BUILD_CXXFLAGS=${BUILD_CXXFLAGS}
+
+ # Move multilib flags from CC to CFLAGS
+ local -x CC=$(tc-getCC) CFLAGS=${CFLAGS}
+ _meson_move_flags CC CFLAGS
+
+ # Move multilib flags from CXX to CXXFLAGS
+ local -x CXX=$(tc-getCXX) CXXFLAGS=${CXXFLAGS}
+ _meson_move_flags CXX CXXFLAGS
+
if tc-is-cross-compiler; then
_meson_create_cross_file || die "unable to write meson cross file"
mesonargs+=( --cross-file "${T}/meson.${CHOST}" )
diff --git a/eclass/mozconfig-v6.60.eclass b/eclass/mozconfig-v6.60.eclass
index 8208305a778f..ac0652a82301 100644
--- a/eclass/mozconfig-v6.60.eclass
+++ b/eclass/mozconfig-v6.60.eclass
@@ -165,11 +165,14 @@ DEPEND="app-arch/zip
>=sys-devel/binutils-2.16.1
sys-apps/findutils
pulseaudio? ( media-sound/pulseaudio )
- || (
+ elibc_glibc? ( || (
( >=dev-lang/rust-1.24.0[-extended(-)] >=dev-util/cargo-0.25.0 )
>=dev-lang/rust-1.24.0[extended]
( >=dev-lang/rust-bin-1.24.0 >=dev-util/cargo-0.25.0 )
- )
+ ) )
+ elibc_musl? ( || ( >=dev-lang/rust-1.24.0
+ >=dev-util/cargo-0.25.0
+ ) )
${RDEPEND}"
RDEPEND+="