* +FOO_CONF_OPTS+, to specify additional options to pass to +meson+ for the
configuration step. By default, empty.
+* +FOO_CFLAGS+, to specify compiler arguments added to the package specific
+ +cross-compile.conf+ file +c_args+ property. By default, the value of
+ +TARGET_CFLAGS+.
+
+* +FOO_CXXFLAGS+, to specify compiler arguments added to the package specific
+ +cross-compile.conf+ file +cpp_args+ property. By default, the value of
+ +TARGET_CXXFLAGS+.
+
+* +FOO_LDFLAGS+, to specify compiler arguments added to the package specific
+ +cross-compile.conf+ file +c_link_args+ and +cpp_link_args+ properties. By
+ default, the value of +TARGET_LDFLAGS+.
+
* +FOO_NINJA_ENV+, to specify additional environment variables to pass to
+ninja+, meson companion tool in charge of the build operations. By default,
empty.
HOST_MESON_SED_CXXFLAGS = $(if $(strip $(TARGET_CXXFLAGS)),`printf '"%s"$(comma) ' $(TARGET_CXXFLAGS)`)
# Generate a Meson cross-compilation.conf suitable for use with the
-# SDK
+# SDK; also install the file as a template for users to add their
+# own flags if they need to.
define HOST_MESON_INSTALL_CROSS_CONF
mkdir -p $(HOST_DIR)/etc/meson
sed -e "s%@TARGET_CROSS@%$(TARGET_CROSS)%g" \
-e "s%@TARGET_ARCH@%$(HOST_MESON_TARGET_CPU_FAMILY)%g" \
-e "s%@TARGET_CPU@%$(HOST_MESON_TARGET_CPU)%g" \
-e "s%@TARGET_ENDIAN@%$(HOST_MESON_TARGET_ENDIAN)%g" \
- -e "s%@TARGET_CFLAGS@%$(HOST_MESON_SED_CFLAGS)%g" \
- -e "s%@TARGET_LDFLAGS@%$(HOST_MESON_SED_LDFLAGS)%g" \
- -e "s%@TARGET_CXXFLAGS@%$(HOST_MESON_SED_CXXFLAGS)%g" \
+ -e "s%@TARGET_CFLAGS@%$(HOST_MESON_SED_CFLAGS)@PKG_TARGET_CFLAGS@%g" \
+ -e "s%@TARGET_LDFLAGS@%$(HOST_MESON_SED_LDFLAGS)@PKG_TARGET_CFLAGS@%g" \
+ -e "s%@TARGET_CXXFLAGS@%$(HOST_MESON_SED_CXXFLAGS)@PKG_TARGET_CFLAGS@%g" \
-e "s%@HOST_DIR@%$(HOST_DIR)%g" \
$(HOST_MESON_PKGDIR)/cross-compilation.conf.in \
+ > $(HOST_DIR)/etc/meson/cross-compilation.conf.in
+ sed -e "s%@PKG_TARGET_CFLAGS@%%g" \
+ -e "s%@PKG_TARGET_LDFLAGS@%%g" \
+ -e "s%@PKG_TARGET_CXXFLAGS@%%g" \
+ $(HOST_DIR)/etc/meson/cross-compilation.conf.in \
> $(HOST_DIR)/etc/meson/cross-compilation.conf
endef
ifndef $(2)_CONFIGURE_CMDS
ifeq ($(4),target)
+$(2)_CFLAGS ?= $$(TARGET_CFLAGS)
+$(2)_LDFLAGS ?= $$(TARGET_LDFLAGS)
+$(2)_CXXFLAGS ?= $$(TARGET_CXXFLAGS)
+
+$(2)_MESON_SED_CFLAGS = $$(if $$(strip $$($(2)_CFLAGS)),`printf '"%s"$$(comma) ' $$($(2)_CFLAGS)`)
+$(2)_MESON_SED_LDFLAGS = $$(if $$(strip $$($(2)_LDFLAGS)),`printf '"%s"$$(comma) ' $$($(2)_LDFLAGS)`)
+$(2)_MESON_SED_CXXFLAGS = $$(if $$(strip $$($(2)_CXXFLAGS)),`printf '"%s"$$(comma) ' $$($(2)_CXXFLAGS)`)
+
# Configure package for target
#
#
-e "s%@TARGET_ARCH@%$$(HOST_MESON_TARGET_CPU_FAMILY)%g" \
-e "s%@TARGET_CPU@%$$(GCC_TARGET_CPU)%g" \
-e "s%@TARGET_ENDIAN@%$$(call LOWERCASE,$$(BR2_ENDIAN))%g" \
- -e "s%@TARGET_CFLAGS@%$$(HOST_MESON_SED_CFLAGS)%g" \
- -e "s%@TARGET_LDFLAGS@%$$(HOST_MESON_SED_LDFLAGS)%g" \
- -e "s%@TARGET_CXXFLAGS@%$$(HOST_MESON_SED_CXXFLAGS)%g" \
+ -e "s%@TARGET_CFLAGS@%$$($(2)_MESON_SED_CFLAGS)%g" \
+ -e "s%@TARGET_LDFLAGS@%$$($(2)_MESON_SED_LDFLAGS)%g" \
+ -e "s%@TARGET_CXXFLAGS@%$$($(2)_MESON_SED_CXXFLAGS)%g" \
-e "s%@HOST_DIR@%$$(HOST_DIR)%g" \
package/meson/cross-compilation.conf.in \
> $$($$(PKG)_SRCDIR)/build/cross-compilation.conf