Allan McRae schrieb:
But CARCH=blah requires that blah is in the arch array which indicates that is can be built on that arch - not the case for grub.
Indeed.
Would this make more sense? arch=('i686' 'x86_64) buildarch=('i686')
To build for i686 just type "makepkg" on an i686 machine. To build for x86_64, type "makepkg -D x86_64" on an i686 machine. Typing "makepkg" on a x86_64 machine fails. I think this would be clearer.
Yeah, I just saw that this makes much more sense for grub, as you need the package for both architectures (right now, we actually change a comment everytime we build it). However, my motivation was that right now I am building some multilib stuff and have packages that always have to be built on i686 and installed on x86_64. So at the end of the build() procedure I need to do 'export CARCH="x86_64"', which is a hack that doesn't work with -L for example. Using a -D option would mean that I have to build 20 or 30 packages with '-D x86_64' all the time. My goal was to make the build procedure for these packages intuitive enough, so you can't build them "wrong".