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
crosscompile problem
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2005-08-27 (06:20)
From: Enrico Weigelt <weigelt@m...>
Subject: Re: [Caml-list] crosscompile problem
* skaller <skaller@users.sourceforge.net> wrote:

> > Since almost all packages have to cope with this problem and
> > also widely used buildsystems like autoconf also have no clean
> > way of handling this, I suggest moving away this configuration
> > from individual packages to some central point - an global 
> > config database.
> Acceptance would require standardisation of some kind.

Shouldn't be such a problem. We just have to found a separate 
group (outside of the caml project), which thinks carefully and
makes some definitions ...

> > This can be easily solved by a tiny shellscript and some carefully
> > maintained text database. (see attachement)
> Not so easy. Briefly, I am porting Felix to full cross-compilation
> support right now. This includes supporting Windows and OSX, as well
> as all Unix variants. I have to distinguish FOUR separate platforms:
> * build machine -- where package source is built
> * host machine -- where developers run Felix
> * target machine -- where the generated code is compiled 
> * run machine -- where the compiled code is run

Well, just a job for namespaces ... (build.*, host.*, ...)

> BTW: please do not use the archaic term 'Ansi C'. Responsibility
> for C was taken over by ISO decades ago. References to the 

Okay, s/ansi/iso/g;


> You need to recognize that the 'sizes' are dependent on many
> factors including the compiler and options. For example gcc
> can be coaxed into generating 32 bit code on a 64 bit platform
> by using -m32 option.

In this case you explicitly change the host platform, so it also
requires proper adaption of the config-db.


> For Ocaml in general there will be 3 machines: build/host, target, and
> run platforms. 
> Note that using bytecode compiler, you can cross-compile ..

BTW: is the output of the ocaml-compiler platform dependent ?

> It isn't clear that it is all that easy to 'cross-compile' native
> code, since it is not just a matter of emitting architecture
> dependent instructions -- it also depends on the availability
> of libraries, and assemblers and linkers with cross-compilation support,
> eg not everyone uses ELF object files.

Well, I'm crosscompiling quite evrything. It normally works.

 Enrico Weigelt    ==   metux IT service

  phone:     +49 36207 519931         www:       http://www.metux.de/
  fax:       +49 36207 519932         email:     contact@metux.de
  cellphone: +49 174 7066481
 -- DSL ab 0 Euro. -- statische IP -- UUCP -- Hosting -- Webshops --