On Thursday 09 May 2013 09:14:51 Helge Deller wrote: > On 05/09/2013 02:28 PM, Jeroen Roovers wrote: > > On Thu, 9 May 2013 01:08:35 -0400 Mike Frysinger wrote: > >> People/distros vary how they prefix the toolchain name for 64bit > >> builds. Rather than enforce one convention over another, add a for > >> loop which does a search for all the general prefixes. This code > >> will run for both native and cross builds when CROSS_COMPILE isn't > >> explicitly set. > > > > Several architectures appear to use a scriptlet called > > cc-cross-prefix for this. See scripts/Kbuild.include. > > That's cool :-) > > Basically this > > +ifneq ($(SUBARCH),$(ARCH)) > + ifeq ($(CROSS_COMPILE),) > + CROSS_COMPILE := $(call cc-cross-prefix, > hppa$(WIDTH)-linux- hppa$(WIDTH)-linux-gnu-) > + endif > endif > > should then be enough. > > Do we really need to search for: > hppa1.1-unknown-linux-gnu > hppa1.1-linux-gnu > hppa1.1-linux > hppa2.0-unknown-linux-gnu > hppa2.0-linux-gnu > hppa2.0-linux > on 32bit? Gentoo actively uses hppa1.1 and hppa2.0 (i'm not sure we have any systems that don't use those). we've seen some projects key off of those tuples (like gmp) to change code selection. similarly, the reason i included -unknown- is that is the tuple we use in Gentoo for our native toolchain. for 64bit ones, we've been using ${ARCH}64- linux as it was only good for building the kernel ... it didn't include a C lib itself. along that last line, hppa is the only target anymore where we have a dedicated 64bit compiler for the kernel. all the other ports have biarch support in gcc/binutils :/. CC_ARCHES = hppa$(WIDTH) hppa1.1 hppa2.0 CC_SUFFIXES = linux linux-gnu unknown-linux-gnu CROSS_COMPILE := $(call cc-cross-prefix, \ $(foreach a,$(CC_ARCHES),$(foreach s,$(CC_SUFFIXES),$(a)-$(s)-))) -mike
Attachment:
signature.asc
Description: This is a digitally signed message part.