On Feb 26, 2022, at 8:22 PM, Joshua Root <[email protected]> wrote: > On 2022-2-27 12:10 , [email protected] wrote: >> As I understand it, +universal is used to mean two different things in >> MacPorts: >> 1. Install this port as a universal binary, which contains slices for >> multiple architectures. For the purposes of this message, I'm going to refer >> to these as "fat" binaries. > > That is what +universal means. > >> Although, on a completely separate note, I don't understand why many of >> these problems can't be trivially solved by a combination of the lipo and >> Apple's built-in translation layers (namely Rosetta 1/2 or x86_64's native >> 32bit support). If e.g. gcc7 is installable on both Tiger ppc and Tiger >> intel, and Tiger intel can run ppc binaries via rosetta, shouldn't it be >> possible to just (1) compile the code with gcc7_intel, (2) compile the code >> with gcc7_ppc, and (3) lipo the results together? > > This is what the muniversal portgroup does, and if you read the code, you'll > see that it's anything but trivial. > > - Josh
Well, that explains a lot! Thank you! >> 2. Install this port with the ability to /create/ fat binaries with slices >> for multiple architectures. For the purposes of this message, I'm going to >> refer to these as "cross-compilers". > > The gcc ports are unique in abusing the universal variant to mean that. ...should they maybe not do that, then? The varient could be named something else...
