summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@xilinx.com>2020-03-26 10:45:33 -0700
committerMark Hatle <mark.hatle@xilinx.com>2020-03-26 13:26:24 -0700
commitc0128c6d67f1519399f32b7066044c9794b349d6 (patch)
tree7abf922de8f66df379ddad8ce296750a1ecaf9b5
parent11c95d31edde0f261975a403272f9f9d69589921 (diff)
downloadmeta-xilinx-c0128c6d67f1519399f32b7066044c9794b349d6.tar.gz
Define COMPATIBLE_HOST to prevent mix of Linux and Baremetal recipes
The key is using COMPATIBLE_HOST to declare, for each recipe, which OS they are compatible with. This is a regex, so we need to carefully specify the arch/vendor wild cardscomponents so that we match only the OS parts. In the distro configuration, default to the standard Linux HOST_SYS setting. In the various baremetal recipes (or esw class) set the specific compatibility to allow baremetal recipes to build. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
-rw-r--r--meta-xilinx-standalone/classes/esw.bbclass3
-rw-r--r--meta-xilinx-standalone/conf/distro/xilinx-standalone.inc7
-rw-r--r--meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend2
-rw-r--r--meta-xilinx-standalone/recipes-core/newlib/libgloss_3.1.0.bbappend3
-rw-r--r--meta-xilinx-standalone/recipes-core/newlib/newlib_3.1.0.bbappend2
-rw-r--r--meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb2
-rw-r--r--meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend2
-rw-r--r--meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_9.%.bbappend2
-rw-r--r--meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend2
-rw-r--r--meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend1
-rw-r--r--meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend1
11 files changed, 27 insertions, 0 deletions
diff --git a/meta-xilinx-standalone/classes/esw.bbclass b/meta-xilinx-standalone/classes/esw.bbclass
index 31bbec72..4d33b654 100644
--- a/meta-xilinx-standalone/classes/esw.bbclass
+++ b/meta-xilinx-standalone/classes/esw.bbclass
@@ -28,6 +28,9 @@ ESW_CFLAGS += "-specs=${SPECFILE_PATH}"
28 28
29inherit ccmake 29inherit ccmake
30 30
31COMPATIBLE_HOST = ".*-elf"
32COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi"
33
31DTBFILE ?= "${RECIPE_SYSROOT}/boot/devicetree/system-top.dtb" 34DTBFILE ?= "${RECIPE_SYSROOT}/boot/devicetree/system-top.dtb"
32 35
33def get_xlnx_cmake_machine(fam, d): 36def get_xlnx_cmake_machine(fam, d):
diff --git a/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc b/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc
index 18ce4da6..5c8ae67a 100644
--- a/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc
+++ b/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc
@@ -24,6 +24,13 @@ INHERIT += "buildhistory"
24# Cortex R5 requires an additional cflag to be passed for compatibility with the embeddedsw 24# Cortex R5 requires an additional cflag to be passed for compatibility with the embeddedsw
25TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -DARMR5', '', d)}" 25TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -DARMR5', '', d)}"
26 26
27# Make sure all regular recipes are excluded from compatibility
28# Avoid using this for native, nativesdk or cross recipes
29COMPATOS = ""
30# Set the regex for target recipes only, follow TARGET_OS default
31COMPATOS_class-target = ".*-linux${LIBCEXTENSION}${ABIEXTENSION}"
32COMPATIBLE_HOST ?= "${COMPATOS}"
33
27# Clear defaults 34# Clear defaults
28DISTRO_FEATURES_BACKFILL_xilinx-standalone = "" 35DISTRO_FEATURES_BACKFILL_xilinx-standalone = ""
29VIRTUAL-RUNTIME_init_manager_xilinx-standalone = "" 36VIRTUAL-RUNTIME_init_manager_xilinx-standalone = ""
diff --git a/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend b/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend
index 0b4812d0..51b70035 100644
--- a/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend
+++ b/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend
@@ -1 +1,3 @@
1COMPATIBLE_HOST = "${HOST_SYS}"
2
1TOOLCHAIN_TARGET_TASK_xilinx-standalone = "${@multilib_pkg_extend(d, 'packagegroup-newlib-standalone-sdk-target')}" 3TOOLCHAIN_TARGET_TASK_xilinx-standalone = "${@multilib_pkg_extend(d, 'packagegroup-newlib-standalone-sdk-target')}"
diff --git a/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.1.0.bbappend b/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.1.0.bbappend
index c5dda818..b2245022 100644
--- a/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.1.0.bbappend
+++ b/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.1.0.bbappend
@@ -1,3 +1,6 @@
1COMPATIBLE_HOST = ".*-elf"
2COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi"
3
1# When building multiple, we need to depend on the multilib newlib 4# When building multiple, we need to depend on the multilib newlib
2DEPENDS_append_xilinx-standalone = " ${MLPREFIX}newlib" 5DEPENDS_append_xilinx-standalone = " ${MLPREFIX}newlib"
3 6
diff --git a/meta-xilinx-standalone/recipes-core/newlib/newlib_3.1.0.bbappend b/meta-xilinx-standalone/recipes-core/newlib/newlib_3.1.0.bbappend
index d57f97b1..536a23a1 100644
--- a/meta-xilinx-standalone/recipes-core/newlib/newlib_3.1.0.bbappend
+++ b/meta-xilinx-standalone/recipes-core/newlib/newlib_3.1.0.bbappend
@@ -1,3 +1,5 @@
1COMPATIBLE_HOST = ".*-elf"
2COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi"
1 3
2EXTRA_OECONF_append_xilinx-standalone = " \ 4EXTRA_OECONF_append_xilinx-standalone = " \
3 --enable-newlib-io-c99-formats \ 5 --enable-newlib-io-c99-formats \
diff --git a/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb b/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb
index d943938b..b64554d3 100644
--- a/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb
+++ b/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb
@@ -1,3 +1,5 @@
1COMPATIBLE_HOST = "${HOST_SYS}"
2
1SUMMARY = "Target packages for the standalone SDK" 3SUMMARY = "Target packages for the standalone SDK"
2 4
3PACKAGE_ARCH = "${TUNE_PKGARCH}" 5PACKAGE_ARCH = "${TUNE_PKGARCH}"
diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend
index 0d25e066..7d177efe 100644
--- a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend
+++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend
@@ -1,3 +1,5 @@
1COMPATIBLE_HOST = "${HOST_SYS}"
2
1# Copy of gcc-xilinx-standalone.inc, but with _class-target added 3# Copy of gcc-xilinx-standalone.inc, but with _class-target added
2LINKER_HASH_STYLE_xilinx-standalone_class-target = "" 4LINKER_HASH_STYLE_xilinx-standalone_class-target = ""
3SYMVERS_CONF_xilinx-standalone_class-target = "" 5SYMVERS_CONF_xilinx-standalone_class-target = ""
diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_9.%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_9.%.bbappend
index 1a75e000..6a4a8c5a 100644
--- a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_9.%.bbappend
+++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_9.%.bbappend
@@ -1,3 +1,5 @@
1COMPATIBLE_HOST = "${HOST_SYS}"
2
1# Add MicroBlaze Patches (only when using MicroBlaze) 3# Add MicroBlaze Patches (only when using MicroBlaze)
2FILESEXTRAPATHS_append_microblaze_xilinx-standalone := ":${THISDIR}/gcc-9" 4FILESEXTRAPATHS_append_microblaze_xilinx-standalone := ":${THISDIR}/gcc-9"
3SRC_URI_append_microblaze_xilinx-standalone = " \ 5SRC_URI_append_microblaze_xilinx-standalone = " \
diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend
index e6801c2f..e0f28915 100644
--- a/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend
+++ b/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend
@@ -1,3 +1,5 @@
1COMPATIBLE_HOST = "${HOST_SYS}"
2
1python do_multilib_install_xilinx-standalone_class-target () { 3python do_multilib_install_xilinx-standalone_class-target () {
2 pass 4 pass
3} 5}
diff --git a/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend b/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend
new file mode 100644
index 00000000..0d824324
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend
@@ -0,0 +1 @@
COMPATIBLE_HOST = "${HOST_SYS}"
diff --git a/meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend b/meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend
new file mode 100644
index 00000000..0d824324
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend
@@ -0,0 +1 @@
COMPATIBLE_HOST = "${HOST_SYS}"