Ryan Schmidt wrote: > Does universal mean "it works at full performance on all > architectures"? In this case, ports like this that install no > architecture-specific files should be modified to have an empty > universal variant selected by default. > > Or does universal mean "it has more than one architecture of compiled > software"? In this case, no-arch ports should be modified to turn off > the universal variant to indicate that a universal build of this port > is not applicable. I believe this definition of universal has been > used in several other no-arch ports before.
It means the latter. Universal is short for "universal binary" which is marketing-speak for "fat binary" which means a binary with code for more than one arch. > For the sake of ports like apr and isightcapture and others in the > same boat, we need a way to indicate in each port which architectures > are supported. MacPorts would by default assume that all ports can be > built for all four architectures, but individual ports could add > lines to change this. For example, apr could add "supported_archs > i386 ppc" until their bug is fixed. wine could add "supported_archs > i386 x86_64". This could solve a number of problems. 1) If the user > requests the universal variant but the list of supported > architectures doesn't include all the architectures the user > requested in their universal_archs definition in macports.conf, a > warning can be issued informing the user. 2) If a port isn't > available at all on the user's local architecture (for example, the > user is on ppc and tries to install wine which only supplies i386 and > x86_64) port can issue an error and halt. Then we could eliminate > from the portfile the code that currently checks the architecture and > warns the user and exits. Sounds good to me. Noarch ports could specify 'all' in supported_archs, which could be another trigger for turning off the default universal variant, like 'use_configure no' is now. Supported_archs should be displayed by 'port info'. > I proposed last month that we need a way (e.g. in "port installed") > to see for which architectures a given universal binary was built: > > http://lists.macosforge.org/pipermail/macports-dev/2008-May/005314.html > > When a port is installed, we need to record somewhere what > architectures were requested. Ideally this should happen regardless > of whether the universal variant was used or not. If it wasn't used, > then the requested architecture is just "i386" or "ppc". Another good idea. Technically the non-universal arch should be obtained from "--target=" in the output of gcc -v, for future-proofing. - Josh _______________________________________________ macports-dev mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev
