summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2021-10-03 12:23:28 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2021-10-03 12:23:28 +0200
commit2a244b90e7305ca8c1b38c4fe207298dc7433b03 (patch)
treece28043f863abb3c56c0a31cdcfc0dafb655fd9d /examples
parent9b5218edb966aa705bff99b57574abea098dceab (diff)
downloadrebel-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.yml43
-rw-r--r--examples/libgcc.yml33
-rw-r--r--examples/toolchain.yml4
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: