[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-hackers] Re: bootstrapping tarball
From: |
Ivan Shmakov |
Subject: |
[Chicken-hackers] Re: bootstrapping tarball |
Date: |
Tue, 15 Jan 2008 00:14:26 +0600 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) |
>>>>> felix winkelmann <address@hidden> writes:
>> Is cross-compiling supported by the bootstrap thing? I mean, when
>> using PLATFORM=cross-linux-mingw the target platform for the
>> bootstrap compiler should be Linux, and the binaries generated by
>> the bootstrap compiler should be for Windows, right?
> You caught the problem right away. This is indeed where the
> bootstrapping doesn't work. Possibly with some crude makefile hacks
> one could force ARCH to be the host-system's when doing the
> bootstrap, with using any ARCH passed on the command line for the
> second build. Unfortunately my head starts spinning when I look at
> makefiles for too long...
Oh, well, the solution is just close at hand. Could you take a
look at the following?
$ mkdir +bootstrap-1 && cd +bootstrap-1/
$ LC_ALL=C nohup time make -f ../Makefile srcdir=.. \
PREFIX=/no/where/just/bootstrap \
ARCH=x86 PLATFORM=linux USE_HOST_PCRE=yes \
-j 4 bootstrap
nohup: appending output to `nohup.out'
$ tail -n3 nohup.out
make[1]: Leaving directory `/.../+bootstrap-1'
325.59user 6.42system 1:30.53elapsed 366%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (168major+1466911minor)pagefaults 0swaps
$ cd ..
$ mkdir +build-mingw-1 && cd +build-mingw-1/
$ LC_ALL=C nohup time make -f ../Makefile srcdir=.. \
PREFIX=/mingw32
PLATFORM=mingw-msys HOSTSYSTEM=i586-mingw32msvc USE_HOST_PCRE= \
CHICKEN=../+bootstrap-1/chicken \
-j 4 all
nohup: appending output to `nohup.out'
$ tail -n3 nohup.out
make[1]: Leaving directory `/.../+build-mingw-1'
269.71user 6.13system 1:11.19elapsed 387%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+1265699minor)pagefaults 0swaps
$ cd ..
$ LC_ALL=C time make -f ../Makefile srcdir=.. \
PREFIX=/mingw32 \
PLATFORM=mingw-msys HOSTSYSTEM=i586-mingw32msvc USE_HOST_PCRE= \
DESTDIR="$HOME"/.wine/w32-drive-c install \
> install.out 2>&1
$ tail -n3 install.out
make[1]: Leaving directory `/.../+build-mingw-1'
0.03user 0.12system 0:00.16elapsed 89%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+9478minor)pagefaults 0swaps
$ (cd ~/.wine/w32-drive-c/ && wine mingw32/bin/csi.exe)
Invoking /usr/lib/wine/wine.bin mingw32/bin/csi.exe ...
CHICKEN
Version 2.741 - windows-mingw32-x86 [ manyargs dload ptables applyhook ]
(c)2000-2007 Felix L. Winkelmann compiled 2008-01-14 on [...] (Linux)
#;1> ,q
Wine exited with a successful status
$
But what is of more interest to me, is that how could Chicken be
set-up as a cross-compiler itself? It would be quite nice to
have i586-mingw32msvc-csc on a GNU/Linux host, wouldn't it?