Hi Paul,

I looked through the diff for r22313 and didn't see anything that checks for OS X versions 10.3 or older, so will this break on older OSes? If it will break things, can you update the code to add this check?

I support a binary install of MacPorts on a portable firewire drive that runs Apache, MySQL etc and we need to support 10.3 clients.

Regards,
Blair


Elias Pipping wrote:
That is a lovely addition and I embrace it wholeheartedly.

Now more than ever it brings up the need for a database that contains information on which port builds on what platform and if its variant +universal works, though.

So a port would have these entries e.g.:

db44     ppc   i386   universal

Panther   ?      ?        ?
Tiger     X      ?        X
Leopard   ?      ?        ?

or something like that. maybe i'm the only one to see it that way but i find it problematic to just assume away every port builds on every platform and is perfectly stable. also, is it really a good idea to keep adding -devel ports instead of allowing a port to be available as multiple "branches"? like bash 3.1.17 and 3.2.9 as a 3.1 and a 3.2 branch (yes, i'm thinking of gentoo - stable, testing, etc)?


Regards,

Elias Pipping


On Feb 26, 2007, at 5:45 AM, Paul Guyot wrote:

Dear all,

I've just implemented and committed a default +universal variant for configure-based ports. There's been some heat about +universal recently and I did not want every port to define the same code over and over.

This variant is more or less equivalent to:
variant universal {
    configure.args-append "--disable-dependency-tracking"
configure.env-append CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" LDFLAGS="-arch i386 -arch ppc"
}

However, there is some additional magic:
* selecting the variant will fail if the port doesn't invoke configure (because user may think they can build the port universal while it would be effectless) * selecting the variant will print a warning message if the port already overrides LDFLAGS or CFLAGS in the environment for the configure command
* you can add -O -g if the port requires it with just:
configure.universal_cflags-append    -O -g
* you can simply redefine the variant to override the default code and provide port-specific handler for the universal variant.

etc.

The variant is documented in portfile(7). I tested it with several ports and it seems to just work®™.

I'm considering some future enhancements, but let's see what it gives if we start building ports with +universal. Of course, the build will probably fail if dependencies were not built universal.

Enjoy!

Paul
_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to