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]

Re: Succes using crosstool on Mac OS X


Dave wrote:

Martin> First I used fink to install cvs, rsync, libtool14, fileutils, Martin> gawk, sed, and wget.

On my OS X 10.3, I already have cvs, rsync, libtool, awk, and sed.
Was there a specific incompatibility that motivated you to install
these using fink?  Or did you just not have them on your system?

cvs and rsync probably weren't necessary.
Apple's libtool serves a completely different purpose from GNU libtool. Although probably GNU libtool isn't necessary either.
I installed fileutils, gawk, and sed because there are features in the GNU versions of these programs which are missing in the BSD versions. I especially like the fact that you can do "ls * -al" in addition to "ls -al *" with GNU ls. If I remember correctly, linux fails to compile with the "sed" (or "awk"?) that comes with OS X.


Martin> Finally, when crosstool wants to install the glibc headers, it
Martin> unfortunately tries to compile glibc with the platform's
Martin> native toolchain. Glibc's configure script does "as
Martin> --version", which is not understood by Apple's assembler,
Martin> which then waits for a file to compile on standard input,
Martin> which stalls everything.

I got past this by just removing the "as --version" check from the
configure.in file and running autoconf.

Is that the only problem with the glibc header installation?


Martin> I solved that problem by first creating a cross-compiler
Martin> called "/tools/bin/powerpc-750-linux-gnu-gcc", and changing
Martin> crosstool.sh like this: Where ${GLIBC_DIR}/configure is
Martin> invoked, I removed CC=gcc, and appended
Martin> --with-binutils=/tools/bin.

I don't understand how this solves the problem.

This uses GNU as, which understands "--version" very well :)


  Doesn't "as" have to
be a native as?

binutils doesn't compile with --target=powerpc-apple-darwin7.2.0


  How would using a powerpc assembler allow you to
build a cross compiler that actually runs on the Mac?

The "as" I used to make the glibc headers was compiled on OS X, runs on OS X, but targets powerpc-750-linux-gnu. Its output files are never run on OS X, but some of them are #included when cross-compiling on OS X.


This whole business about compiling gcc and binutils twice is not optimal. Maybe someone will come up with an actual solution.


Ken wrote:


> I don't understand how this solves the problem.  Doesn't "as" have to
> be a native as?  How would using a powerpc assembler allow you to
> build a cross compiler that actually runs on the Mac?
>
Isn't the MAC based on a Power PC chip

Both powerpc-750-linux-gnu and powerpc-apple-darwin7.2.0 run on powerpc, but they link against completely different c libraries, and (more important) they use different object file formats: GNU uses ELF, OS X uses Mach-O.


Martin


------ 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]