diff options
author | Mark Hatle <mark.hatle@xilinx.com> | 2020-03-26 10:45:33 -0700 |
---|---|---|
committer | Mark Hatle <mark.hatle@xilinx.com> | 2020-03-26 13:26:24 -0700 |
commit | c0128c6d67f1519399f32b7066044c9794b349d6 (patch) | |
tree | 7abf922de8f66df379ddad8ce296750a1ecaf9b5 | |
parent | 11c95d31edde0f261975a403272f9f9d69589921 (diff) | |
download | meta-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>
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 | ||
29 | inherit ccmake | 29 | inherit ccmake |
30 | 30 | ||
31 | COMPATIBLE_HOST = ".*-elf" | ||
32 | COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi" | ||
33 | |||
31 | DTBFILE ?= "${RECIPE_SYSROOT}/boot/devicetree/system-top.dtb" | 34 | DTBFILE ?= "${RECIPE_SYSROOT}/boot/devicetree/system-top.dtb" |
32 | 35 | ||
33 | def get_xlnx_cmake_machine(fam, d): | 36 | def 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 |
25 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -DARMR5', '', d)}" | 25 | TUNE_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 | ||
29 | COMPATOS = "" | ||
30 | # Set the regex for target recipes only, follow TARGET_OS default | ||
31 | COMPATOS_class-target = ".*-linux${LIBCEXTENSION}${ABIEXTENSION}" | ||
32 | COMPATIBLE_HOST ?= "${COMPATOS}" | ||
33 | |||
27 | # Clear defaults | 34 | # Clear defaults |
28 | DISTRO_FEATURES_BACKFILL_xilinx-standalone = "" | 35 | DISTRO_FEATURES_BACKFILL_xilinx-standalone = "" |
29 | VIRTUAL-RUNTIME_init_manager_xilinx-standalone = "" | 36 | VIRTUAL-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 @@ | |||
1 | COMPATIBLE_HOST = "${HOST_SYS}" | ||
2 | |||
1 | TOOLCHAIN_TARGET_TASK_xilinx-standalone = "${@multilib_pkg_extend(d, 'packagegroup-newlib-standalone-sdk-target')}" | 3 | TOOLCHAIN_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 @@ | |||
1 | COMPATIBLE_HOST = ".*-elf" | ||
2 | COMPATIBLE_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 |
2 | DEPENDS_append_xilinx-standalone = " ${MLPREFIX}newlib" | 5 | DEPENDS_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 @@ | |||
1 | COMPATIBLE_HOST = ".*-elf" | ||
2 | COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi" | ||
1 | 3 | ||
2 | EXTRA_OECONF_append_xilinx-standalone = " \ | 4 | EXTRA_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 @@ | |||
1 | COMPATIBLE_HOST = "${HOST_SYS}" | ||
2 | |||
1 | SUMMARY = "Target packages for the standalone SDK" | 3 | SUMMARY = "Target packages for the standalone SDK" |
2 | 4 | ||
3 | PACKAGE_ARCH = "${TUNE_PKGARCH}" | 5 | PACKAGE_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 @@ | |||
1 | COMPATIBLE_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 |
2 | LINKER_HASH_STYLE_xilinx-standalone_class-target = "" | 4 | LINKER_HASH_STYLE_xilinx-standalone_class-target = "" |
3 | SYMVERS_CONF_xilinx-standalone_class-target = "" | 5 | SYMVERS_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 @@ | |||
1 | COMPATIBLE_HOST = "${HOST_SYS}" | ||
2 | |||
1 | # Add MicroBlaze Patches (only when using MicroBlaze) | 3 | # Add MicroBlaze Patches (only when using MicroBlaze) |
2 | FILESEXTRAPATHS_append_microblaze_xilinx-standalone := ":${THISDIR}/gcc-9" | 4 | FILESEXTRAPATHS_append_microblaze_xilinx-standalone := ":${THISDIR}/gcc-9" |
3 | SRC_URI_append_microblaze_xilinx-standalone = " \ | 5 | SRC_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 @@ | |||
1 | COMPATIBLE_HOST = "${HOST_SYS}" | ||
2 | |||
1 | python do_multilib_install_xilinx-standalone_class-target () { | 3 | python 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}" | |||