RFR (M): Enable OpenJDK builds on Windows with MinGW/MSYS

Kelly O'Hair kelly.ohair at oracle.com
Mon Apr 30 18:34:11 UTC 2012


Sorry for such a slow reply...  Too much email :^(

On Mar 16, 2012, at 10:50 AM, Volker Simonis wrote:

> Hi Jonathan,
> 
> you're right, I havn't looked at the tests until now - just wanted to
> get the build up and running.
> 
> My only concerns so far are the few tests which require a Korn Shell
> as I think there's no ksh available for MinGW/Msys.

I suspect that ksh was used over sh in the early days, but bash may actually work fine in many cases.
Unfortunately, this is a change that would need to be tested out on a test case by test case basis.

> 
> But I promise to look at it.
> 
> By the way, has anybody ever successfully run the tests on Windows
> with either MKS or Cygwin?

Our build and test system attempts to run all tests with CYGWIN, but that's a recent (last 9 months) event
and before that we used MKS. I've been pushing the use of CYGWIN for testing, trying to chip away at the
MKS dependency.

Unfortunately, where people needed to detect MKS vs. CYGWIN, they probably look for CYGWIN in the uname -a output.
Not sure how that will work with MinGW/MSYS, which I am not that familiar with.

I would not be surprised if we had many MKS vs. CYGWIN issues with many tests.

I try to convince people to avoid doing shell tests if at all possible, but we have a bunch of them, and rarely
do they follow the same style, unfortunately.
Fixing testcases is a painful task. :^(

-kto

> 
> Regards,
> Volker
> 
> 
> 
> On Thu, Mar 15, 2012 at 2:07 AM, Jonathan Gibbons
> <jonathan.gibbons at oracle.com> wrote:
>> Volker,
>> 
>> This work is very interesting!
>> 
>> Have you looked at what changes might be necessary to any shell tests in the
>> langtools/test and jdk/test directories?
>> 
>> Many test shell scripts have a block of code of the form:
>> 
>> 
>> OS=`uname -s`
>> case "$OS" in
>>    SunOS | Linux | *BSD | Darwin )
>>        NULL=/dev/null
>>        PATHSEP=":"
>>        FILESEP="/"
>>        TMP=/tmp
>>        ;;
>>    CYGWIN* )
>>        NULL=/dev/null
>>        PATHSEP=";"
>>        FILESEP="/"
>>        TMP=/tmp
>>        ;;
>>    Windows* )
>>        NULL=NUL
>>        PATHSEP=";"
>>        FILESEP="\\"
>>        TMP=$TEMP
>>        ;;
>>    * )
>>        echo "Unrecognized system!"
>>        exit 1;
>>        ;;
>> esac
>> 
>> 
>> What would the equivalent case statement be for minGW/MSYS?
>> 
>> -- Jon




More information about the build-dev mailing list