chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] cross compilation setup


From: F. Wittenberger
Subject: Re: [Chicken-users] cross compilation setup
Date: Thu, 04 Sep 2008 14:11:56 +0200

Am Donnerstag, den 04.09.2008, 10:57 +0200 schrieb felix winkelmann:
> On Wed, Sep 3, 2008 at 12:22 PM, Jörg F. Wittenberger
> <address@hidden> wrote:
> >>
> >> PATH=<yourmingwpath>:$PATH make PLATFORM=cross-linux-mingw
> >> PREFIX=<yourprefix> install
> >
> > What is this supposed to build?  The host system, the target system or
> > both?
> 
> The target system.
> 
> >
> > It did not work for me: looks for chicken.exe
> 
> What chicken version were you using? Could you supply a build log?

svn head as of yesterday.

I hope I got around it changing Makefile.cross-linux-mingw like this:

# commands

HOSTSYSTEM=i586-mingw32msvc
CHICKEN=chicken



But I'm not yet there that I have tried the result.

> > I checked the current svn head.  How it the -host-extension supposed to
> > work?  I found:
> >
> >> Now chicken-setup accepts the -host-extension and sets a parameter
> >> object, but does not evaluate it anywhere.  (Therefore it tries to
> >> compile with the target instead the host compiler.)  Around line 347 I
> >> changed:
> >
> >> (define-macro (compile . explist)
> >>   `(run (csc ,@(if (host-extension) '("-host") '()) ,@explist) ) )
> >
> 
> The "-host" option (which here is supplied to csc) tells the compiler
> to not use the target C compiler and linker, but the host one. It is
> intended to tell a specially built "cross" chicken to differentiate
> between the C compilers for the host and the target system
> (or build and host, which would be the autotools naming
> convention). But the cross-linux-mingw platform just builds
> a system for the target machine and the resulting binaries
> are to be used there, so it is not what is called a "cross" chicken.

Well, in the second step I tried to build a cross compiler to create
windows binaries from the chicken host.  Eventually I tried
mingw-chicken-setup - the cross compile thingy - to set up easiffy.
Since that's a host extension, I passed the -host-extension option, but
that one did *not* pass the "-host" to csc!

Therefore I changed the define-macro as above.  Currently there is this:

(define-macro (compile . explist)
  `(run (csc ,@explist) ) )

That means the -host-extension option is ignored.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]