[Top][All Lists]
[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.