This series of patches decouples the LLVM compiler from the meta-morello layer. The meta-morello layer is split into:
- meta-morello - meta-morello-toolchain
The toolchain can be set the usual way by overriding the TOOLCHAIN variable in a recipe or in a config.
The implementation is available on this branch:
https://git.morello-project.org/pzalewski/meta-morello/-/tree/meta-toolchain
Pawel Zalewski (13): meta-morello: move compilers to meta-morello-toolchain kas: modify the base.yml morello-toolchain: refactor class and configs musl: refactor recipe pure-cap-app: add support for the new toolchain machine conf: add supoort for the new toolchain tfa: add support for the new toolchain uefi: add support for the new toolchain busybox: add support for the new toolchain gen-init-cpio: add support for the new toolchain linux: add support for the new toolchain README.md: update ci: reflect the changes in the layer structure
.gitlab-ci.yml | 6 +- README.md | 108 +++-------- classes/llvm-morello-native.bbclass | 47 ----- conf/bblayers.conf.sample | 15 -- conf/local.conf.sample | 176 ------------------ kas/base.yml | 3 + meta-morello-toolchain/README.md | 16 ++ .../classes/gcc-morello.bbclass | 1 + .../classes/llvm-morello.bbclass | 43 +++++ .../conf/compiler/gcc-morello.conf | 1 + .../conf/compiler/llvm-morello.conf | 1 + meta-morello-toolchain/conf/layer.conf | 22 +++ .../musl/files/compiler_rt.cmake | 0 .../musl/musl-morello-a64-so.inc | 0 .../recipes-core}/musl/musl-morello-a64.inc | 0 .../musl/musl-morello-c64-so.inc | 0 .../recipes-core}/musl/musl-morello-c64.inc | 0 .../musl/musl-morello-common.inc | 4 +- .../recipes-core}/musl/musl-morello-native.bb | 6 +- .../musl/musl-morello-target.inc | 3 +- .../recipes-core}/musl/musl_%.bbappend | 0 .../recipes-core}/musl/override-glibc.inc | 0 .../recipes-core}/musl/override-musl.inc | 0 .../gcc/gcc-cross-canadian_morello-10.1.bb | 0 .../gcc/gcc-cross_morello-10.1.bb | 0 .../gcc/gcc-crosssdk_morello-10.1.bb | 0 .../gcc/gcc-morello-10.1.inc | 0 .../0001-Fix-install-path-of-linux64.h.patch | 0 ...0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 0 .../0002-gcc-poison-system-directories.patch | 0 .../patches/0004-64-bit-multilib-hack.patch | 0 ...ains-something-unsupported-by-the-bu.patch | 0 ...ts.h-in-B-instead-of-S-and-t-oe-in-B.patch | 0 .../patches/0009-cpp-honor-sysroot.patch | 0 ...AMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | 0 ...gcc-Fix-argument-list-too-long-error.patch | 0 .../patches/0014-libtool.patch | 0 ...s-fix-v4bx-to-linker-to-support-EABI.patch | 0 ...-config-files-from-B-instead-of-usin.patch | 0 ...ir-from-.la-which-usually-points-to-.patch | 0 .../patches/0018-export-CPP.patch | 0 ...e-target-gcc-headers-can-be-included.patch | 0 ...t-directory-during-relink-if-inst_pr.patch | 0 ...-fix-libcc1-s-install-path-and-rpath.patch | 0 ...le-sysroot-support-for-nativesdk-gcc.patch | 0 ...sroot-gcc-version-specific-dirs-with.patch | 0 ...027-nios2-Define-MUSL_DYNAMIC_LINKER.patch | 0 ...d-to-link-commandline-for-musl-targe.patch | 0 ...using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch | 0 .../0030-sync-gcc-stddef.h-with-musl.patch | 0 ...Re-introduce-spe-commandline-options.patch | 0 ...as-for-__cpu_indicator_init-instead-.patch | 0 ...s-Do-not-use-__LINE__-for-maintainin.patch | 0 ...omic-Do-not-enforce-march-on-aarch64.patch | 0 ...prefix-maps-before-checksumming-DIEs.patch | 0 .../gcc/gcc-runtime_morello-10.1.bb | 0 .../gcc/gcc-sanitizers_morello-10.1.bb | 0 .../gcc/gcc-source_morello-10.1.bb | 0 .../recipes-devtools}/gcc/gcc_morello-10.1.bb | 0 .../gcc/libgcc-initial_morello-10.1.bb | 0 .../gcc/libgcc_morello-10.1.bb | 0 .../gcc/libgfortan_morello-10.1.bb | 0 .../llvm/llvm-13.0.1-native.bb | 0 .../llvm/llvm-morello-native_13.0.bb | 0 .../llvm/llvm-morello-runtime-native.bb | 11 +- .../recipes-devtools}/llvm/llvm-morello.inc | 0 .../llvm/llvm-morello_13.0.bb | 0 meta-morello/README.md | 88 +++++++++ .../classes}/pure-cap-application.bbclass | 2 - {conf => meta-morello/conf}/layer.conf | 6 +- .../conf}/machine/include/morello-common.inc | 4 +- .../conf}/machine/morello-fvp.conf | 3 +- .../conf}/machine/morello-soc.conf | 1 + .../board-firmware/board-firmware-image.bb | 0 .../board-firmware/board-firmware_1.4.bb | 0 .../board-firmware/board-morello-fvp.inc | 0 .../board-firmware/board-morello-soc.inc | 0 .../recipes-bsp}/grub/grub-efi_2.%.bbappend | 0 .../recipes-bsp}/grub/grub_2.%.bbappend | 0 .../grub/morello-fvp/files/grub-config.cfg | 0 .../grub/morello-soc/files/grub-config.cfg | 0 .../rom-binaries/rom-binaries_1.5.bb | 0 .../scp-firmware/scp-firmware-morello-fvp.inc | 0 .../scp-firmware/scp-firmware-morello-soc.inc | 0 .../scp-firmware/scp-firmware_2.10.%.bbappend | 0 .../tfa-firmware-morello-fvp.inc | 0 .../tfa-firmware-morello-soc.inc | 0 .../trusted-firmware-a_2.%.bbappend | 6 +- .../uefi/edk2-firmware-morello-fvp.inc | 0 .../uefi/edk2-firmware-morello-soc.inc | 0 .../uefi/edk2-firmware_%.bbappend | 4 +- ...Basetools-remove-brotli-build-errors.patch | 0 .../recipes-core}/busybox/busybox-morello.inc | 4 +- .../busybox/busybox-morello_1.5.bb | 0 ...-append-toolchain-with-relative-path.patch | 0 .../fiptool/fiptool-native_2.7.bb | 0 .../recipes-devtools}/fvp/fvp-morello.bb | 0 .../recipes-devtools}/gdb/gdb_%.bbappend | 0 .../gen-init-cpio/gen-init-cpio-native.bb | 5 +- .../recipes-kernel}/linux/linux-morello.inc | 6 +- .../linux/linux-morello_1.5.bb | 0 .../applications/files/Makefile | 0 .../applications/files/pure-cap-app.c | 0 .../applications/pure-cap-app.bb | 4 +- .../images/morello-fvp/files/init.sh | 0 .../morello-fvp/files/initramfs.list.template | 0 .../images/morello-initramfs.bb | 0 .../images/morello-linux-image-fvp.inc | 0 .../images/morello-linux-image-soc.inc | 0 .../images/morello-linux-image.bb | 4 +- .../images/morello-soc/files/init.sh | 0 .../morello-soc/files/initramfs.list.template | 0 112 files changed, 254 insertions(+), 346 deletions(-) delete mode 100644 classes/llvm-morello-native.bbclass delete mode 100644 conf/bblayers.conf.sample delete mode 100644 conf/local.conf.sample create mode 100644 meta-morello-toolchain/README.md create mode 100644 meta-morello-toolchain/classes/gcc-morello.bbclass create mode 100644 meta-morello-toolchain/classes/llvm-morello.bbclass create mode 100644 meta-morello-toolchain/conf/compiler/gcc-morello.conf create mode 100644 meta-morello-toolchain/conf/compiler/llvm-morello.conf create mode 100644 meta-morello-toolchain/conf/layer.conf rename {recipes-core => meta-morello-toolchain/recipes-core}/musl/files/compiler_rt.cmake (100%) rename {recipes-core => meta-morello-toolchain/recipes-core}/musl/musl-morello-a64-so.inc (100%) rename {recipes-core => meta-morello-toolchain/recipes-core}/musl/musl-morello-a64.inc (100%) rename {recipes-core => meta-morello-toolchain/recipes-core}/musl/musl-morello-c64-so.inc (100%) rename {recipes-core => meta-morello-toolchain/recipes-core}/musl/musl-morello-c64.inc (100%) rename {recipes-core => meta-morello-toolchain/recipes-core}/musl/musl-morello-common.inc (93%) rename {recipes-core => meta-morello-toolchain/recipes-core}/musl/musl-morello-native.bb (92%) rename {recipes-core => meta-morello-toolchain/recipes-core}/musl/musl-morello-target.inc (96%) rename {recipes-core => meta-morello-toolchain/recipes-core}/musl/musl_%.bbappend (100%) rename {recipes-core => meta-morello-toolchain/recipes-core}/musl/override-glibc.inc (100%) rename {recipes-core => meta-morello-toolchain/recipes-core}/musl/override-musl.inc (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-cross-canadian_morello-10.1.bb (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-cross_morello-10.1.bb (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-crosssdk_morello-10.1.bb (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1.inc (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0001-Fix-install-path-of-linux64.h.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0002-gcc-poison-system-directories.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0004-64-bit-multilib-hack.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0006-If-CXXFLAGS-contains-something-unsupported-by-the-bu.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0009-cpp-honor-sysroot.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0012-gcc-Fix-argument-list-too-long-error.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0014-libtool.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0018-export-CPP.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0019-Ensure-target-gcc-headers-can-be-included.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0024-handle-sysroot-support-for-nativesdk-gcc.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0030-sync-gcc-stddef.h-with-musl.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0033-Re-introduce-spe-commandline-options.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0037-libatomic-Do-not-enforce-march-on-aarch64.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-morello-10.1/patches/0041-apply-debug-prefix-maps-before-checksumming-DIEs.patch (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-runtime_morello-10.1.bb (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-sanitizers_morello-10.1.bb (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc-source_morello-10.1.bb (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/gcc_morello-10.1.bb (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/libgcc-initial_morello-10.1.bb (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/libgcc_morello-10.1.bb (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/gcc/libgfortan_morello-10.1.bb (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/llvm/llvm-13.0.1-native.bb (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/llvm/llvm-morello-native_13.0.bb (100%) rename recipes-core/musl/musl-morello-libs-native.bb => meta-morello-toolchain/recipes-devtools/llvm/llvm-morello-runtime-native.bb (93%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/llvm/llvm-morello.inc (100%) rename {recipes-devtools => meta-morello-toolchain/recipes-devtools}/llvm/llvm-morello_13.0.bb (100%) create mode 100644 meta-morello/README.md rename {classes => meta-morello/classes}/pure-cap-application.bbclass (96%) rename {conf => meta-morello/conf}/layer.conf (73%) rename {conf => meta-morello/conf}/machine/include/morello-common.inc (82%) rename {conf => meta-morello/conf}/machine/morello-fvp.conf (97%) rename {conf => meta-morello/conf}/machine/morello-soc.conf (91%) rename {recipes-bsp => meta-morello/recipes-bsp}/board-firmware/board-firmware-image.bb (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/board-firmware/board-firmware_1.4.bb (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/board-firmware/board-morello-fvp.inc (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/board-firmware/board-morello-soc.inc (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/grub/grub-efi_2.%.bbappend (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/grub/grub_2.%.bbappend (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/grub/morello-fvp/files/grub-config.cfg (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/grub/morello-soc/files/grub-config.cfg (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/rom-binaries/rom-binaries_1.5.bb (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/scp-firmware/scp-firmware-morello-fvp.inc (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/scp-firmware/scp-firmware-morello-soc.inc (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/scp-firmware/scp-firmware_2.10.%.bbappend (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/trusted-firmware-a/tfa-firmware-morello-fvp.inc (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/trusted-firmware-a/tfa-firmware-morello-soc.inc (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/trusted-firmware-a/trusted-firmware-a_2.%.bbappend (95%) rename {recipes-bsp => meta-morello/recipes-bsp}/uefi/edk2-firmware-morello-fvp.inc (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/uefi/edk2-firmware-morello-soc.inc (100%) rename {recipes-bsp => meta-morello/recipes-bsp}/uefi/edk2-firmware_%.bbappend (96%) rename {recipes-bsp => meta-morello/recipes-bsp}/uefi/files/0001-Basetools-remove-brotli-build-errors.patch (100%) rename {recipes-core => meta-morello/recipes-core}/busybox/busybox-morello.inc (96%) rename {recipes-core => meta-morello/recipes-core}/busybox/busybox-morello_1.5.bb (100%) rename {recipes-core => meta-morello/recipes-core}/busybox/files/0001-Remove-elf-patch-append-toolchain-with-relative-path.patch (100%) rename {recipes-devtools => meta-morello/recipes-devtools}/fiptool/fiptool-native_2.7.bb (100%) rename {recipes-devtools => meta-morello/recipes-devtools}/fvp/fvp-morello.bb (100%) rename {recipes-devtools => meta-morello/recipes-devtools}/gdb/gdb_%.bbappend (100%) rename {recipes-devtools => meta-morello/recipes-devtools}/gen-init-cpio/gen-init-cpio-native.bb (93%) rename {recipes-kernel => meta-morello/recipes-kernel}/linux/linux-morello.inc (91%) rename {recipes-kernel => meta-morello/recipes-kernel}/linux/linux-morello_1.5.bb (100%) rename {recipes-morello-apps => meta-morello/recipes-morello-apps}/applications/files/Makefile (100%) rename {recipes-morello-apps => meta-morello/recipes-morello-apps}/applications/files/pure-cap-app.c (100%) rename {recipes-morello-apps => meta-morello/recipes-morello-apps}/applications/pure-cap-app.bb (90%) rename {recipes-morello => meta-morello/recipes-morello}/images/morello-fvp/files/init.sh (100%) rename {recipes-morello => meta-morello/recipes-morello}/images/morello-fvp/files/initramfs.list.template (100%) rename {recipes-morello => meta-morello/recipes-morello}/images/morello-initramfs.bb (100%) rename {recipes-morello => meta-morello/recipes-morello}/images/morello-linux-image-fvp.inc (100%) rename {recipes-morello => meta-morello/recipes-morello}/images/morello-linux-image-soc.inc (100%) rename {recipes-morello => meta-morello/recipes-morello}/images/morello-linux-image.bb (95%) rename {recipes-morello => meta-morello/recipes-morello}/images/morello-soc/files/init.sh (100%) rename {recipes-morello => meta-morello/recipes-morello}/images/morello-soc/files/initramfs.list.template (100%)