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...

Reply via email to