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: Mario Domenech Goulart
Subject: Re: [Chicken-hackers] [PATCH] run test suite on mingw
Date: Fri, 28 Oct 2011 07:13:53 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux)

Hi Felix,

On Fri, 28 Oct 2011 07:00:31 -0400 (EDT) Felix <address@hidden> wrote:

> From: Mario Domenech Goulart <address@hidden>
> Subject: Re: [Chicken-hackers] [PATCH] run test suite on mingw
> Date: Fri, 28 Oct 2011 06:12:18 -0400
> 
>> On Thu, 27 Oct 2011 06:07:22 -0400 (EDT) Felix <address@hidden> wrote:
>> 
>>> From: Felix <address@hidden>
>>> Subject: [PATCH] run test suite on mingw
>>> Date: Thu, 27 Oct 2011 03:40:57 -0400 (EDT)
>>>
>>>> The attached patch adds a batch file for running most of the
>>>> tests also in a mingw Windows environment (without msys).
>>>
>>> Please try this patch instead, it fixes the test-script invocation
>>> on Windows when running "make ... check".
>> 
>> Could you build chicken using mingw only (no msys)?  I tried that
>> yesterday but got some problems (I'll try again tonight).
>> 
>> I'm asking just in case it's something stupid I'm doing.
>
> I seem to have been sucessful building it, but my Windows setup is a
> bit thrown together (who's isn't?). It is possible that the build
> still fails with a pure mingw32 setup. It would be help if you could
> tell me what problems you got and how you tried to build it.

Alright.  I've actually tweaked Makefile.msys and rules.make and could
actually get chicken built, but I stopped at installation problems.

Here's what I tried, from the top of my head (I have no windows here
right now to provide a more detailed description):

README says:

     - When installing under mingw, with a windows shell
       ("cmd.exe"), pass an absolute pathname (including the
       drive letter) as PREFIX and use forward slashes.

So I used something like

  make PLATFORM=mingw PREFIX=c:/mario/master \
    CHICKEN=c:/local/chicken-4.7.0/bin/chicken \
    spotless boot-chicken

Got some pathmane-related errors, so I changed Makefile.mingw:

-SEP = $(strip \)
+SEP = $(strip /)


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 +,,

and could go ahead.

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.

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.

I can try again tonight and provide a patch.  Please, let me know if the
above changes make sense and if my assumptions are correct.


Best wishes.
Mario
-- 
http://parenteses.org/mario



reply via email to

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