diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-10-03 12:23:28 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-10-03 12:23:28 +0200 |
commit | 2a244b90e7305ca8c1b38c4fe207298dc7433b03 (patch) | |
tree | ce28043f863abb3c56c0a31cdcfc0dafb655fd9d /examples | |
parent | 9b5218edb966aa705bff99b57574abea098dceab (diff) | |
download | rebel-2a244b90e7305ca8c1b38c4fe207298dc7433b03.tar rebel-2a244b90e7305ca8c1b38c4fe207298dc7433b03.zip |
examples: split libgcc from gcc-libs package
Avoid building gcc-libs twice for cross-native toolchains.
libgcc_s.so is still installed as part of gcc-libs.
Diffstat (limited to 'examples')
-rw-r--r-- | examples/gcc-libs.yml | 43 | ||||
-rw-r--r-- | examples/libgcc.yml | 33 | ||||
-rw-r--r-- | examples/toolchain.yml | 4 |
3 files changed, 48 insertions, 32 deletions
diff --git a/examples/gcc-libs.yml b/examples/gcc-libs.yml index 755f894..1d26ca4 100644 --- a/examples/gcc-libs.yml +++ b/examples/gcc-libs.yml @@ -5,45 +5,28 @@ tasks: compile: args: host: 'platform' - target: 'platform' inherit: - recipe: 'gcc' + recipe: 'libgcc' task: 'compile' - depends: - - recipe: 'glibc' - task: 'install' - args: - host: 'target' + args: + host: 'build' + target: 'host' run: | cd {{pn}}-build - make -j8 all-target-libgcc all-target-libatomic all-target-libgomp all-target-libquadmath all-target-libstdc++-v3 + make -j8 all-target-libatomic all-target-libgomp all-target-libquadmath all-target-libstdc++-v3 - install-gcc: + install: args: host: 'platform' - target: 'platform' inherit: task: 'compile' output: - default: {} + default: + path: 'sysroot' run: | cd {{pn}}-build - make DESTDIR={{destdir}} install-target-libgcc - make DESTDIR={{workdir}}/install install-target-libatomic install-target-libgomp install-target-libquadmath install-target-libstdc++-v3 - mv {{destdir}}{{host_to_target.sysroot}}{{target.prefix}}/lib/libgcc_s.so* {{workdir}}/install/{{host_to_target.sysroot}}{{target.prefix}}/lib/ - rmdir -p --ignore-fail-on-non-empty {{destdir}}{{host_to_target.sysroot}}{{target.prefix}}/lib - - install: - args: - host: 'platform' - inherit: - task: 'install-gcc' - args: - host: 'build' - target: 'host' - output: - default: {} - run: | - mkdir -p {{destdir}} - cp -a {{workdir}}/install/{{build_to_host.sysroot}}/* {{destdir}}/ - rm {{destdir}}{{host.prefix}}/lib/*.la + make DESTDIR={{destdir}}/install install-target-libgcc install-target-libatomic install-target-libgomp install-target-libquadmath install-target-libstdc++-v3 + rm -r {{destdir}}/install{{build.prefix}}/lib/gcc + mv -T {{destdir}}/install/{{build_to_host.sysroot}} {{destdir}}/sysroot + cp -al {{destdir}}/install{{build.prefix}}/* {{destdir}}/sysroot{{host.prefix}} + rm {{destdir}}/sysroot{{host.prefix}}/lib/*.la diff --git a/examples/libgcc.yml b/examples/libgcc.yml new file mode 100644 index 0000000..fd39413 --- /dev/null +++ b/examples/libgcc.yml @@ -0,0 +1,33 @@ +meta: + name: 'gcc' + version: '11.2.0' +tasks: + compile: + args: + host: 'platform' + target: 'platform' + inherit: + recipe: 'gcc' + task: 'compile' + depends: + - recipe: 'glibc' + task: 'install' + args: + host: 'target' + run: | + cd {{pn}}-build + make -j8 all-target-libgcc + + install: + args: + host: 'platform' + target: 'platform' + inherit: + task: 'compile' + output: + default: {} + run: | + cd {{pn}}-build + make DESTDIR={{destdir}} install-target-libgcc + rm {{destdir}}{{host_to_target.sysroot}}{{target.prefix}}/lib/libgcc_s.so* + rmdir -p --ignore-fail-on-non-empty {{destdir}}{{host_to_target.sysroot}}{{target.prefix}}/lib diff --git a/examples/toolchain.yml b/examples/toolchain.yml index 863785c..ab8e6de 100644 --- a/examples/toolchain.yml +++ b/examples/toolchain.yml @@ -8,8 +8,8 @@ tasks: runtime_depends: - recipe: 'gcc' task: 'install' - - recipe: 'gcc-libs' - task: 'install-gcc' + - recipe: 'libgcc' + task: 'install' depends: args: |