This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Comparing Bill and Karim's cross-compile scripts. Updating Bill'sto gcc 3.2.3.


I sat down and compared Bill Gatliff's script to the commands Karim
gives in his book for building cross toolchains.
The two are near-twins, although Karim doesn't present them as
a script per se.
Here are a few notes, with line numbers in Bill's script:

214-216, 239-241: repeated code in Bill's, maybe nicer to hoist
it out of the case.  Also, Bill doesn't copy asm-generic, but Karim does.
(Is that important?  Possibly, if some arches use the generic include files
instead of providing their own?  Which arches do that?)

236: Karim specifies CROSS_COMPILE= when running kernel makes.
This is probably a tad safer (say, when building on an iMac but
targeting a strange ppc?)

286: in comment, Bill says --without-newlib when he means --with-newlib

301-304, 328-331: repeated code in Bill's, maybe nicer to hoist
it out of the case.
Also, Bill passes --with-local-prefix=$(PREFIX)/$(TARGET) to gcc's
configure, Karim doesn't.  Presumably that prevents searching
/usr/local/include, which sounds important.
http://www.ugcs.caltech.edu/info/gcc/install_3.html says
"The default value for @option{--with-local-prefix} is `/usr/local' regardless of the value of @option{--prefix}."
(But see also http://gcc.gnu.org/ml/gcc-bugs/2000-06/msg00197.html)

367: Karim doesn't override AR or RANLIB.  That might be a problem on
some architectures, causing bad manifests in .a files?

368: Karim specifies --prefix=/usr, but Bill specifies --prefix=$PREFIX.
This means Bill's shared libraries have the wrong path hardcoded
in them; you can tell using 'strings'.  e.g.
  $ strings powerpc-linux/lib/ld-2.2.4.so | grep home
  /home3/dank/h/powerpc-linux/lib/
  /home3/dank/h/powerpc-linux/etc/ld.so.cache

387: Karim overrides install_root=${TARGET_PEFIX},
but Bill uses the default.  This is understandable given the
difference in --prefix.  Karim's right, I think.
Also, Karim gives prefix="", which I think is just his personal
bias; I think it causes libraries to end up in /lib instead of
/usr/lib on the target.

388: Karim fixes up paths in ld.so, but Bill doesn't.
Need to remove absolute paths from the ld.so in ${TARGET_PREFIX)/lib;
maybe Bill just forgot to mention that?

407: There's that whacky --with-local-prefix= again in Bill's, but not Karim's.

And of course, Karim's already got an addendum on how to get this
stuff to work with gcc3.2.3.  Also, Bill has detailed fixups for
specific problems with various platforms, whereas Karim only
covers one architecture.

Smash the two together and we have our holy grail of a Bill script updated to 3.2.3 :-)

Bill, do you agree about the absolute path problem in --prefix and in ld.so?
- Dan


------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]