2010/7/6 Koen Kooi <[email protected]>: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Things like this: > > +LIBC = "glibc" > +ANGSTROMLIBC = "${LIBC}" > > +PREFERRED_VERSION_gcc-cross = "4.1.2" > +PREFERRED_VERSION_gcc-cross-initial = "4.1.2" > +PREFERRED_VERSION_gcc-cross-intermediate = "4.1.2" > +PREFERRED_VERSION_binutils = "2.17.50.0.12" > +PREFERRED_VERSION_binutils-cross = "2.17.50.0.12" > +PREFERRED_VERSION_glibc = "2.5" > +PREFERRED_VERSION_glibc-initial = "2.5" > > +PREFERRED_VERSION_busybox_nios2 = "1.13.2" > > +ASSUME_PROVIDED += "linux-libc-headers-native" > > do NOT belong in a machine.conf (or machine include). Those belong in > the distro (or local.conf), not in the machine. > > So please, move the offending bits into a distro include (minus the > assume provided) to stop this kind of bad example from spreading further.
Being the one who made the commit I'd like to make a few remarks. First of all I suggest that if you quote text, you also quote the comments that go with the text you quote: # for now we pin gcc, glibc and binutils # as these are the only versions that have # nios2 support. PREFERRED_VERSION_gcc-cross = "4.1.2" PREFERRED_VERSION_gcc-cross-initial = "4.1.2" PREFERRED_VERSION_gcc-cross-intermediate = "4.1.2" PREFERRED_VERSION_binutils = "2.17.50.0.12" PREFERRED_VERSION_binutils-cross = "2.17.50.0.12" PREFERRED_VERSION_glibc = "2.5" PREFERRED_VERSION_glibc-initial = "2.5" # uclibc does not work yet # PREFERRED_VERSION_uclibc = "0.9.30.3" # PREFERRED_VERSION_uclibc-initial = "0.9.30.3" # for now busybox 1.13.2 is the only one # patched and tested for nios2 so pin this # one too, until the other versions are updated # for nios2 too. PREFERRED_VERSION_busybox_nios2 = "1.13.2" # there are some issues cross-compiling when # using linux-libc-headers-native as we get # some native inc dirs when compiling crt stuff # ASSUME_PROVIDED fixes this (but breaks compilation # on old host systems like red hat 4. ASSUME_PROVIDED += "linux-libc-headers-native" Secondly, pinning LIBC to glibc in a machine conf or include is indeed not too desirable but as neither uclibc or eglibc are working for this architecture I needed a way to indicate this. If there is a better solution for this, please let me know. Next wrt the busybox pinning: this is just a temporary as indicated by the comment. It'll disappear for sure in the near future (after I had time to look at later busyboxes and fix those). Wrt the ASSUME_PROVIDED += "linux-libc-headers-native": I'll happily remove it once the include badness introduced by linux-libc-headers-native is fixed. (there is a different thread on this). And finally the pinning of gcc/binutils/glibc. I feel the machine (and not the distro) is the one who should be able to specify which version(s) work for that machine and what the preferred version is. That is: for gcc and binutils. glibc might be a different case. It might be that a distro wants to override this, and I can imagine we want to support that. I'd say overriding in such a case is done on an architecture or machine base, not in a generic override. Note also that the current machine description makes things working for *all* distros, whereas without it it would probably not be working for any distro at all! And lastly I am unaware of any place in the oe manual which states the above is bad behaviour (and why this is bad). Frans. PS: as mentioned before there are currently 100+ pinnings in conf/machine/* and conf/machine/include/* and at least two other machines pin gcc PPS: adding a new architecture to oe is quite some work. Picking on people does not really encourage to contribute that work. I could have equally well have kept this local. _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
