English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
arm backend
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2009-05-06 (03:56)
From: Jeffrey Scofield <dynasticon@m...>
Subject: Re: arm backend
Xavier Leroy <Xavier.Leroy@inria.fr> writes:

> Concerning the iPhone, it is not supported out of the box by
> 3.11 nor by the CVS trunk code.  For 3.11, several patches have
> been mentioned on this list; it would be great if someone with
> iPhone development experience could combine them and publish a
> unified patch.

I'm happy to provide a unified patch containing everything
we use to cross-compile OCaml for iPhone.  Note that our
patches are against OCaml 3.10.2.  This is simpler for us because
we started with patches by Toshiyuki Maeda that are for 3.10.2.
I would imagine that the changes for 3.11 are minimal, but we
haven't tried it yet.  When we move to 3.11, I'd be happy to
provide new patches (if nobody else does so earlier).

> For the CVS trunk code, it seems we are getting close: as far
> as I could see, MacOSX/ARM uses EABI plus Apple's "signature"
> approach to dynamic linking.  However, I haven't yet succeeded
> in running Apple's iPhone SDK compilers from the command-line.
> (It looks like one of those Microsoft SDK's that assume
> everyone is developing from the vendor-supplied IDE...)  Again,
> welcome feedback and patches from iPhone development experts.

Yes, Apple assumes all developers use their IDE, Xcode.  You can
extract working command lines from the Xcode build log,

Here's a little script that shows how we run the cross-compiling
version of gcc.  Although Nathaniel Gray has already posted his,
it might be helpful to have two independent sets.

This is for compiling to the iPhoneOS 2.2 environment.
Differences for other environments are straightforward.

    CC="$PLATFORM/Developer/usr/bin/gcc -arch armv6 -isysroot $PLATFORM/$SDK"
    $CC "$@"


Jeff Scofield