Creating or modifying Portfiles for universal builds

Ryan Schmidt ryandesign at macports.org
Sun Jul 18 07:04:39 PDT 2010


On Jul 18, 2010, at 09:02, Ryan Schmidt wrote:

> On Jul 18, 2010, at 08:32, Harry van der Wolf wrote:
> 
>> When I want to create a universal build that needs to be built in separate steps due to differences in ppc and i386 (big_endian or little_endian or SSE dependencies), how do I specify that in the Portfile?
>> 
>> It used to be necessary to script it with either 
>>    "if { [variant_isset universal] } {"  etc.
>> or with
>> "variant universal {"  etc.
>> 
>> Is their now some setting I can use to make macports build it in separate steps depending on the architecture?
> 
> Add the line
> 
> PortGroup muniversal 1.0
> 
> after the
> 
> PortSystem 1.0
> 
> line at the top of the Portfile. That's all.
> 
> If you need to send separate configure arguments, environment variables, or other settings to each separate build, that can be done. There isn't documentation on muniversal, other than reading the portgroup file, but you can also look at the existing portfiles that use muniversal to see what's possible.

But, to be clear, that's only necessary for certain software that doesn't build properly when doing a "normal" all-at-once universal build. If the software you're writing a portfile for doesn't have any problems with the usual all-at-once universal method, you don't need to add anything to the portfile at all; the default universal variant MacPorts adds to all portfiles will take care of it (assuming your portfile doesn't disable it).




More information about the macports-users mailing list