build: fix cross-compilation with abuild (introducing pmb:cross-native2)
Set things up so that we can run abuild on the native chroot and use it's cross compilation features rather than running it and the build system through QEMU. This massively speeds up building when it works.
Packages can opt-in to this by adding pmb:cross-native2 to their options. It's known to work with well-behaved meson packages with a patch to abuild-meson
I'm describing this as a fix since the way pmb:cross-native worked was fundamentally wrong.
See example usage in pmaports!5755
Fix #659 (closed)
Merge request reports
Activity
mentioned in merge request pmaports!5755
added 1 commit
- a6f6bef7 - build: support native cross compilation with abuild
- Resolved by Casey
- Resolved by Casey
changed milestone to %BLOCKED until 3.0.0 release (Feature Freeze!)
removed milestone %BLOCKED until 3.0.0 release (Feature Freeze!)
added 129 commits
-
a12d6545...3f9f1c96 - 127 commits from branch
master
- d213603e - build: autodetect: default to cross-native in more cases
- a086c797 - build: fix pmb:cross-native
-
a12d6545...3f9f1c96 - 127 commits from branch
added 24 commits
-
d2396773...01faedcf - 22 commits from branch
master
- a1419477 - build: autodetect: default to cross-native in more cases
- afb792bd - build: fix pmb:cross-native
-
d2396773...01faedcf - 22 commits from branch
- Resolved by Casey
Gave it a quick spin with pmaports!5755 together, build sucessfully
q6voiced
,linux-postmarketos-grate
andlinux-postmarketos-marvell
. For the kernels I noticed about 30% build time reduction!Nice work!
Edited by Robert Eckelmann
- Resolved by Casey
- Resolved by Casey
- Resolved by Casey
- Resolved by Casey
- Resolved by Casey
- Resolved by Casey
- Resolved by Casey
This is amazing! Looking forward to getting this in, thanks so much for working on this @caleb!
- Resolved by Casey
CI needs to be fixed
marked this merge request as draft from d5e8dd51
- Resolved by Casey
I pushed a fixup commit to get this working with Go apps (tested with postmarketos-mkinitfs), I'm not sure if dropping that match statement there is OK or if it should go somewhere else, so feel free to refactor :D
added 9 commits
-
9f32936e...afecbb15 - 5 commits from branch
master
- ecae778e - core: Arch: add .supported_binary()
- 57fa7238 - core: Arch: add method to map to Go arch
- 87fcc1f8 - build: fix pmb:cross-native
- 7d4e9f1c - build: autodetect: default to cross-native in more cases
Toggle commit list-
9f32936e...afecbb15 - 5 commits from branch