Kelly O'Hair wrote:
I didn't think openjdk7 could build without binary plugs.
But I've been a bit disconnected from the jdk work lately.
Andrew John Hughes wrote:
I didn't either. The last build I tried using the hotspot-comp tree
(to test a patch for twisti) needed pointing at some binary plugs (I
use the fake IcedTea ones). And I haven't seen it in any of the
recent change lists for 7
(http://download.java.net/jdk7/changes/jdk7-b50.html,
http://download.java.net/jdk7/changes/jdk7-b51.html)
Correct, it wouldn't be in there yet.
[... snip ...]
I think I had on my list of things to do:
* Change binary plugs default for openjdk6 to 'not use them'
* Make sure openjdk7 builds without binary plugs
IMPORT_BINARY_PLUGS=false
Please take a look at this fix:
http://cr.openjdk.java.net/~tbell/6819847/
This implements Kelly's wish "Change binary plugs default for openjdk6
to 'not use them'". Well - for OpenJDK7, it does. I'll have to check,
but I think OpenJDK6 is already doing this.
I think Dalibor committed this change to 6. It's a lot less
controversial there, as the option has been available a long time,
just not the default.
This builds OK with OPENJDK=true and:
Is this the default? I assume OPENJDK=false is only useful inside Sun.
Yes, that is correct. Since the settings are possible I went ahead and
tested to make sure they work. If the build discovers only the open
part of the forest then it will effectively be an OPENJDK=TRUE build.
1) No setting for IMPORT_BINARY_PLUGS at all. This works, and it
did NOT import anything. I expect the Linux distros build this way.
2009-03-31-003747.tbell.6819847
Well the distros don't build 7 as far as I know, and I believe the
last OpenJDK6 build drop still used by IcedTea6 (the one before the
switch to hg) still uses fake plugs. Whether it needs to or not is
another matter; I think it does because the default for b14 is to
import them (IMPORT_BINARY_PLUGS=true) and we don't set
IMPORT_BINARY_PLUGS. I never understood why IMPORT_BINARY_PLUGS was
defaulted to true for 6, as the audience building 'raw' OpenJDK6 (i.e.
not via IcedTea6) who want SNMP must be negligible enough to warrant
not being the default.
This default setting could go back to earlier days when there was a lot
more in the binary plugs.
2) IMPORT_BINARY_PLUGS=false [Same as 1) above]
2009-03-31-002722.tbell.6819847
3) IMPORT_BINARY_PLUGS=true [PLUG IMPORT successful]
2009-03-31-020718.tbell.6819847
4) Nothing set [nothing imported]
2009-03-31-045710.tbell.6819847
I'm guessing all these are too recent to be in a build drop yet.
Yes. This work is from yesterday/last night.
JPRT job-IDs are included here so I could keep track and make sure I
looked at the log files.
One question - if the user goes to the trouble to set any of
ALT_BINARY_PLUGS_JARFILE, ALT_BINARY_PLUGS_PATH,
ALT_BUILD_BINARY_PLUGS_PATH, ALT_CLOSED_JDK_IMPORT_PATH
(See the comments in jdk/make/common/Defs.gmk starting at line 127),
should we assume they must really, really want the binary plugs and
force IMPORT_BINARY_PLUGS=true? Or have them set it as well?
I think that's a fair assumption, as long as you can be sure they did
set it and it didn't default to something.
OK, thanks. I already have other feedback that we should do this to
preserve the current build behavior.
I am thinking we shouldn't do this automatically. I notice in the logs
that JPRT is setting these even when IMPORT_BINARY_PLUGS=false.
Then we may need to change this in JPRT. I am still checking on that.
Thanks for the feedback.
Tim