On Mar 3, 2007, at 3:16 PM, James Berry wrote:
I am speaking about macports, not the general case. Adding huge
hacks to individual portfiles in order to support universal builds
gets us nowhere -- particularly when we don't have the distribution
mechanisms in place to really do anything with such universal port
builds.
And I hope I've made it clear that I'm not defending the "huge hacks"
either. I don't like huge hacks. I like generic support that can
be leveraged. So far, I think the generic support for universal
building is still pretty green, however, and I guess the ultimate
question is whether or not MacPorts wants to invest anything in this
area at all if people are still questioning the worth of universal
executables and frameworks (in the context of MP) at all. I've said
my piece and if people still don't agree, that's cool, I just thought
it was something worth taking a fairly strong stand over and I'm not
going to go in the corner and cry if MP decides it's always going to
be a "build your own stuff" solution (which still leaves a fairly big
hole in what end-users are looking for, sadly).
Rather than big hacks on individual ports, it would seem better to
have a couple of declarative statements for the universal strategy
of a port:
- port may be built universal: yes/no
- port builds universal out of box: yes/no
- port builds in single pass with flags: xxx
- port can be built in multiple passes by lipoing together the
following binaries... (all others are assumed the same builds)
I'm not sure what value is added by having so many states. I think,
as far as the builder is concerned, the only state that counts for
anything is the first one. Does it build universal? Yes? OK, then
the builder can choose to build it universal if that's valuable to
them. If not, then it's a moot point. As far as an internal
macports developer is concerned, there's also not a lot of value in
splitting hairs here. If it builds universal out of the box vs
tweaking it, that's great, but it's no different than having a port
which compiles on MacOSX with no patches and respects $prefix
properly in all ways vs one which has to be coerced into doing those
things. Whether to lipo or not depends as much on what the macports
developer wants to do (e.g. how much trouble to go through in the
"coercion process") as anything else, so I don't see what value a
declarative statement adds there either.
- Jordan
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo/macports-dev