On Sep 26, 2009, at 14:24, Scott Haneda wrote:

Question of curiosity. Why does MacPorts needs to be able to build a UB? MacPorts builds on the machine it is intended to use. I am not aware of many desiring to copy a binary from one machine to the other, and that would be a lot of work with all the man pages and other parts that may come along with the binary.

I agree with you, when universal_archs is ppc i386. This was the default for Mac OS X 10.5.x and earlier. But starting with Snow Leopard the default universal_archs is x86_64 i386 and it is very useful. The default build_arch is also x86_64 on Snow Leopard now. This means we build 64-bit by default, which is good because it's faster and lets you use more memory (for example you can use more than 4GB of memory for your MySQL database server, which is something people might want to do). However, not all ports can build x86_64; some need to be built i386 due to various bugs. But if that software requires MySQL, and you've built mysql5 for x86_64 only, then you can't use MySQL from an i386 program. So you would need to build mysql5 universal for both x86_64 and i386.

Users on Leopard can modify their build_arch and universal_archs in macports.conf if they want 64-bit builds.

Users on Tiger can try to do so as well, but it probably won't work for many ports and so is probably not a good idea.


If the arch specific base will build, while probably not ideal with regard to a UB, is that not more or less the most desirable case? The UB would be bloated, and many may run lipo on it to get rid of the parts they can not, or do not want to have.

It would be silly for a user to request the +universal variant and then use lipo to strip out the nonnative architectures. If the user doesn't want a universal build, the user should not request the +universal variant.


Other than MacPorts ability to make a dmg or installer, what is the reason behind the UB builds, aside from being really cool to be able to do, and certainly a target moving forward, but in this case, would the MySql port not suffice to be able to stand as is?

I will probably update the mysql5 port anyway and just disable its universal variant. Any user complaints about this can then be directed at the MySQL developers with whom the blame lies.


I have never added +universal to a port, and in all the port files I have looked at, a very small percentage even have that variant.


MacPorts base includes a default universal variant which all ports inherit, unless they specifically request not to by using "universal_variant no", by using "use_configure no", by using the muniversal portgroup, or by defining their own universal variant. Some portgroups like xcode and cmake define their own universal variants.

_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev

Reply via email to