This is actually bug.
make/common/Defs.gmk includes Platform.gmk before it sets OPENJDK variable.
As a result REQUIRED_FREETYPE_VERSION is never set.
(BTW, this is because we always set OPENJDK=true manually because our
internal builds have access to closed_src.
So, yet one problem that sneak in because of difference in the
environments)
This seems only affect sanity check but we still have to fix it.
And this should be reproducible on any platform, not just windows.
Meanwhile please set environment variable OPENJDK=true prior to starting
build
or pass it in the command line as you did.
I do not know what happens in the second case when build fails for you.
I'll try clean ws from openjdk.dev.java.net and try to reproduce it.
-igor
Ted Neward wrote:
The newline was line-wrapping from my console window. I checked the C code,
it's fine. The problem is that the REQUIRED_FREETYPE_VERSION macro wasn't
being set inside the sanity makefile checks unless I explicitly put
"OPENJDK=1" (which I think should be "OPENJDK=true") on the build command
line. "make sanity OPENJDK=true" works, trying a full build now.
Ted Neward
Java, .NET, XML Services
Consulting, Teaching, Speaking, Writing
http://www.tedneward.com
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Friday, August 03, 2007 9:00 PM
To: Ted Neward
Cc: 'Igor Nekrestyanov'; 'Dan Fabulich'; [EMAIL PROTECTED];
'Anthony Petrov'; build-dev@openjdk.java.net
Subject: Re: encumbrances update
freetypecheck.c(42) : warning C4003: not enough actual parameters for
macro
'QUO
TEME'
Did it really print a newline in the middle of that name ?
your make/tools/freetypecheck/freetypecheck.c may be corrupt.
the macro is defined there and its hard to imagine how it could be
affected by anything exernal.
-phil.
Ted Neward wrote:
OK... Using a private drop of Ivan's freetype build, with an "SVN
update" of
the source base, I get this:
CYGWIN:[EMAIL PROTECTED]:/cygdrive/c/Prg/OpenJDK/openjdk/control/make
$ make sanity
make[1]: Entering directory `/cygdrive/c/Prg/OpenJDK/openjdk/j2se/make'
make[2]: Entering directory
`/cygdrive/c/Prg/OpenJDK/openjdk/j2se/make/tools/fre
etypecheck'
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for
80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
freetypecheck.c
freetypecheck.c(42) : warning C4003: not enough actual parameters for
macro
'QUO
TEME'
freetypecheck.c(42) : error C2059: syntax error : ')'
freetypecheck.c(45) : warning C4003: not enough actual parameters for
macro
'QUO
TEME'
freetypecheck.c(45) : error C2059: syntax error : ')'
freetypecheck.c(49) : error C2143: syntax error : missing ')' before '&'
freetypecheck.c(49) : error C2143: syntax error : missing '{' before '&'
freetypecheck.c(49) : error C2059: syntax error : '&'
freetypecheck.c(49) : error C2059: syntax error : ')'
freetypecheck.c(50) : error C2059: syntax error : ','
freetypecheck.c(50) : error C2143: syntax error : missing ')' before '&'
freetypecheck.c(50) : error C2143: syntax error : missing '{' before '&'
freetypecheck.c(50) : error C2059: syntax error : '&'
freetypecheck.c(50) : error C2059: syntax error : ')'
freetypecheck.c(51) : error C2059: syntax error : ','
freetypecheck.c(51) : error C2143: syntax error : missing ')' before
'string'
freetypecheck.c(51) : error C2143: syntax error : missing '{' before
'string'
freetypecheck.c(51) : error C2059: syntax error : '<Unknown>'
freetypecheck.c(51) : error C2059: syntax error : ')'
freetypecheck.c(53) : error C2143: syntax error : missing ')' before
'string'
freetypecheck.c(53) : error C2143: syntax error : missing '{' before
'string'
freetypecheck.c(53) : error C2059: syntax error : '<Unknown>'
freetypecheck.c(53) : error C2059: syntax error : ')'
freetypecheck.c(54) : error C2059: syntax error : 'if'
freetypecheck.c(54) : warning C4003: not enough actual parameters for
macro
'QUO
TEME'
freetypecheck.c(58) : error C2059: syntax error : 'return'
freetypecheck.c(59) : error C2059: syntax error : '}'
make[2]: ***
[c:/Prg/OpenJDK/openjdk/control/build/WINDOW~1/tmp/freetype_version
check] Error 2
make[2]: Leaving directory
`/cygdrive/c/Prg/OpenJDK/openjdk/j2se/make/tools/free
typecheck'
make[1]: [sane-freetype] Error 2 (ignored)
/bin/sh:
c:/Prg/OpenJDK/openjdk/control/build/WINDOW~1/tmp/freetype_versioncheck
.exe: No such file or directory
make[1]: Leaving directory `/cygdrive/c/Prg/OpenJDK/openjdk/j2se/make'
Somebody have an idea what's going on here? (Obviously, freetypecheck.c
isn't building, but I'm not sure why, beyond the obvious "there's a
macro
without enough parameters" as declared on line 42....)
Ted Neward
Java, .NET, XML Services
Consulting, Teaching, Speaking, Writing
http://www.tedneward.com
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:build-dev-
[EMAIL PROTECTED] On Behalf Of Igor Nekrestyanov
Sent: Thursday, August 02, 2007 12:39 PM
To: Dan Fabulich
Cc: [EMAIL PROTECTED]; Anthony Petrov; Phil Race; build-
[EMAIL PROTECTED]
Subject: Re: encumbrances update
My tests are not "ideal" for number of reasons:
2) I was using binary plugs created from my personal workspace.
I believe they should be the same as those to be published with
b17 code drop but this is my assumption.
We know for certain that this assumption is FALSE. No binary plug
given to the public has ever built successfully on Windows; since your
personal plugs have been working for you for months, we can conclude
that there's something critically different between your plugs and the
plugs we get.
Prior to introduction of the "binary plugs" in the makefile (starting
from the b16)
it was easy to use our internal product builds to import encumbered
bits
for openjdk build.
So, internal openjdk builds were easier.
However, since b16 we need to export image of binary plugs from the
product build and
use these exported images for openjdk build.
I think (but i am not 100% sure) that same procedure is used to export
binary plug bits for people outside of @sun.com.
So now there is fewer chance to have discrepancies (and after all
t2k.lib is not needed anymore :) ).
But who knows? Maybe we'll get lucky this time. :-)
I can hardly wait to get feedback on build status.
Hopefully this will be success report :)
BTW, for windows build you will need to build freetype.dll (i tried
only dll built with visualc). I believe that freetype build system
does not generate .dll on windows and therefore some manual tweaking
of freetype makefiles (and sources) might be necessary.
Sounds like fun! :-) Will the documentation include a patch? Or just
some tips on how to make a .DLL? What source files needed to change?
No, there is no patch or detailed instruction in the openjdk docs.
You can follow "official" freetype approach -
http://freetype.freedesktop.org/wiki/FreeType_DLL.
I believe it worked for me to prepare 32 bit binary.
Perhaps someday they will finally simplify it and we can just run make
:)
In addition to described changes you may also want to tweak ftoptions.h
to enable subpixel rendering.
-igor
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.11.2/933 - Release Date:
8/2/2007
2:22 PM
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.11.2/933 - Release Date: 8/2/2007
2:22 PM
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.11.2/933 - Release Date: 8/2/2007
2:22 PM
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.11.2/933 - Release Date: 8/2/2007
2:22 PM