Hi,

I tried to build openjdk on windows (WinXP) using home PC and following instructions from openjdk.dev.java.net. I was able to do it. There were few issues though (because we rarely use cygwin for internal builds).

Below is brief story of how i did it. It might be incomplete because i am recovering it from the notes. I will double check this tonight with full clean build but it will be nice if someone else can try to repeat it.

1) Latest cygwin.
In addition to list from README-builds.html i also installed zip/unzip packages.

I think i have installed cygwin in default mode, i.e. using Unix/binary default text file type.
   However, this did not help fully (see item 5).

2) Downgraded make to 3.80

Download from http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2

 cd /
 tar xjf /cygdrive/c/where-your-download-is/make-3.80-1.tar.bz2
 bin/make.exe --version

 GNU Make 3.80
 Copyright (C) 2002  Free Software Foundation, Inc.

3) Here is my buildenv.bat.
  Note: avoid use /cygdrive/c paths because it will fool VC compiler
        (cl will not resolve them properly, e.g. will not find header files)

=================================================

rem Minimize hidden environment differences
set 
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\tools\cygwin\bin
set LD_LIBRARY_PATH=
set CLASSPATH=
set JAVA_HOME=

set ALT_BOOTDIR=c:/tools/jdk70b13
set ALT_OUTPUTDIR=c:/tmp/openjdk-build
set ALT_BINARY_PLUGS_PATH=c:/tools/bplugs/b17/openjdk-binary-plugs

rem not mentioned in the README-builds.html? (place hotspot VM comes from) rem TODO: try to point to openjdk vm
set ALT_JDK_IMPORT_PATH=c:/tools/bplugs/jdk1.7.0

set ALT_DXSDK_PATH=c:/Tools/dxsdk

set VC=c:/Progra~1/Micros~1.NET
set ALT_COMPILER_PATH=%VC%/VC7/Bin set ALT_MSDEVTOOLS_PATH=%VC%/Common7/Tools/Bin
set ALT_MSVCR71_DLL_PATH=%VC%/SDK/v1.1/Bin

set ALT_FREETYPE_LIB_PATH=c:/tools/freetype/windows/freetype-i586/lib
set ALT_FREETYPE_HEADERS_PATH=c:/tools/freetype/windows/freetype-i586/include

rem NB: not documented? will be removed in b18? 
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6332635
rem unicows.dll/unicows.lib are available on the web. rem E.g. http://www.microsoft.com/downloads/details.aspx?FamilyId=73BA7BD7-ED06-4F0D-80A4-2A7EEAEE17E2&displaylang=en
set ALT_UNICOWS_LIB_PATH=c:/tools/devtools/MSLU
set ALT_UNICOWS_DLL_PATH=c:/tools/devtools/MSLU

rem bug in the makefiles: should be set prior to freetypecheck. rem TODO: file it
set OPENJDK=true

call c:\Progra~1\Micros~1.NET\Common7\Tools\vsvars32.bat

bash
=============================================

4) technically further build is just
   buildenv.bat
   cd control/make;
   make

5) Sanity check passes, hotspot build without any problems.
j2se build failed in the make/java/java - LocaleDataMetaInfo.java does not compile

   The reason was that string literals contained bunch of \r characters.
These were introduced by cygwin awk. I guess because it uses text mode (at least for output).

I am still not fully sure what is proper fix for this and whether this is bug in cygwin
   (Assuming i chosed Unix/binary during cygwin install process).

   My workaround was to edit j2se\make\java\java\localegen.sh and replace
   localelist=`$NAWK -F$1_ '{print $2}' $2 | sort`
with
   localelist=`$NAWK -v BINMODE=w -F$1_ '{print $2}' $2 | sort`

6) removed LocaleDataMetaInfo.java from gensrc dir and restarted build.
Build finished without new problems and at least java -jar Font2DTest.jar works.

Any volunteers to follow these instructions?

Important note:
I know that cygwin builds on at least two Vista systems were failing in random places because of some cygwin bugs (shell fails reporting failure to allocate memory or something else). Failures are random and build will process on restart of make after failure. I do not know if it is possible to get working build subsequently restarting make. I also do not know if these problems were addressed in cygwin or perhaps specific to these particular Vista systems.
But I suggest to start with WinXP build first.

-igor

p.s.
if you need freetype binary to try this - i can provide my build of it. Just drop me personal request.

Reply via email to