On Fri, Jan 10, 2025 at 3:24 PM Richard Purdie via lists.openembedded.org <[email protected]> wrote: > > I've been thinking about how we could neatly handle the various > "provider selection" challenges that multiple toolchains in OE brings. > > We currently have the concept of virtual/X providers but they're locked > in on a global configuration level. For example "virtual/cc" would have > one provider for all recipes. With clang, we really want a way to say > whether that would be provided by clang or gcc on a per recipe basis. > > PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}cc = "gcc-cross-XXX" > PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}cc:pn-bash = "clang-cross-XXX" > > I suspect (but haven't demonstrated with working code) that just > handling virtual/XXX on a per recipe basis could be made to work. The > code would effectively iterate DEPENDS after parsing and expand > virtual/ references on a per recipe basis using PREFERRED_PROVIDER. > > There would be some interesting corner cases and it may be best to have > a specific list of which virtual providers were expected to work on a > per recipe basis but that idea should be manageable. > > Obviously this does throw some extra complexity into an already complex > system but it might also make the clang integration much simpler. > > Thoughts? Worth exploring? >
I think so, I've definitely run into cases where I would have liked to have this in the past and ended up having multi-config setups which were way heavier than I really needed. Along a similar line (and I appreciate this is likely a whole 'nother world of pain), I have wanted single binaries which were built statically w/ musl (for size) but in a largely glibc world so I could run them as pid 1 (which then exec into something which finally ends up looking like init). Though having written that I think I am describing multi-config! -- Alex Kiernan
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#2086): https://lists.openembedded.org/g/openembedded-architecture/message/2086 Mute This Topic: https://lists.openembedded.org/mt/110536181/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-architecture/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
