chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] [PATCH] run test suite on mingw


From: Felix
Subject: Re: [Chicken-hackers] [PATCH] run test suite on mingw
Date: Fri, 28 Oct 2011 09:03:42 -0400 (EDT)

> So I used something like
> 
>   make PLATFORM=mingw PREFIX=c:/mario/master \
>     CHICKEN=c:/local/chicken-4.7.0/bin/chicken \
>     spotless boot-chicken

CHICKEN must use backslashes, the forward slahes in PREFIX are
a special case.

> 
> Got some pathmane-related errors, so I changed Makefile.mingw:
> 
> -SEP = $(strip \)
> +SEP = $(strip /)
> 

This will break more things.

> 
> Then I got some errors related to the `for' syntax (rules.make, line
> 683).  I changed that like
> 
> -      for %x in (*.scm) do copy /b %x +,,
> +      for %%x in (*.scm) do copy /b %%x +,,

Ugh. Sorry for this one. I pushed a fix to "master", but it's not
working yet, which seems some problem with mingw32-make. It does not
fully work (I can't recall the exact details, but "\" makes it
sometimes do wrong things).

> Then I got other error because the boot-chicken target (rules.make)
> tries to use backticks (`pwd` -- line 675), which is not supported by
> cmd.exe.

See the latest commit.

> 
> I ifdef'ed that part against WINDOWS_SHELL and used
> 
>     CHICKEN=chicken-boot-stage1$(EXE)
> 
> instead of
> 
>     CHICKEN=`pwd`/chicken-boot-stage1$(EXE)
> 
> for the windows branch, assuming that the windows shell looks for
> programs in the current directory (since README states that
> "Out-of-directory builds are currently not supported", I thought that
> would be fine).
> 
> After that I tried
> 
>   make PLATFORM=mingw PREFIX=c:/mario/master \
>     CHICKEN=chicken-boot spotless install
> 
> and got some errors because the windows shell built-in commands think
> the forward slashes (in pathnames) are command line option prefixes.  At
> this point I assumed my first change (SEP = $(strip /)) was not quite
> right and stopped.

Oh, it's all so broken. "SRCDIR=$(SRCDIR) CHICKEN=..." expands into
"SRCDIR=.\ CHICKEN=...", where the backslash escapes the space!
Goddammit.

I push another fix. Doing

mingw32-make PLATFORM=mingw CHICKEN=chicken-boot boot-chicken 

worked for me now. I haven't done a full build or install after this,
since I'm fed up for today.

Thanks for your help. 


cheers,
felix





reply via email to

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