Re: RFR 7142950: jdk7u cannot bootstrap Mac OS build [macosx]

2012-02-09 Thread Michael McMahon

Hi,

http://cr.openjdk.java.net/~michaelm/7142950/jdk/webrev.2/

This is an updated webrev based on the contribution/suggestion from 
Scott Kovatch.
It changes the build image directories on Mac, to have the same 
format/directory structure
as the other platforms (ie. it removes the Contents/Home stuff). That 
directory structure
required by Mac bundles is now generated in specific bundle directories 
and these
are used by the install. A consequence of this change is that anyone who 
has adjusted
scripts that used the built j2sdk-image, or j2re-image to know about the 
mac specific paths will have to change

that back again.

This version of the change is almost agnostic on the "os.arch" setting. 
The only dependency
is on 'src/macosx/bin/amd64/jvm.cfg'. That will have to be renamed to 
x86_64/jvm.cfg

when 'os.arch' is changed. No other change is required.

With this change, jdk only, and incremental builds should work again.
If you are using the previous output from a control build as bootstrap 
or import jdk
for a subsequent jdk only build, then it is possible you could run into 
the build problem
described in 6967648. The workaround is to rename the top-level build 
directory to some

other name before doing the jdk build.

Thanks,
Michael


On 06/02/12 23:21, Scott Kovatch wrote:

On Feb 6, 2012, at 2:31 PM, Michael McMahon wrote:


There are a few problems with the Mac build at the moment.

1. If SKIP_BOOT_CYCLE=false then the build fails, due to two problems:-
1) top level Makefile doesn't know about Mac OS image directory 
structure

2) it also fails due to problem 2. below
2. General bootstrapping problem. The build currently cannot use 
itself as

the bootstrap JDK due to an assumption in the framework classes that
"os.arch" is x86_64, whereas we currently set it to amd64. The 
change is to
fix that code to expect amd64. There is a related question then 
about what the
correct value for os.arch should be. I'd like to raise this in a 
separate discussion

and hopefully fix these build problems independently of that.
I was going to propose that we fix the image directory issues by 
building into the image directories the same way on all platforms and 
have the mac build copy the image directories into j2sdk-bundle. 
(7133768) I'm pretty sure that even with this change you can't build 
rt.jar because the jar tool gets moved out from underneath the running 
build when the bundle is constructed.


I don't think your changes would interfere with my proposed fix for 
7133768, though. And, the other changes for generating the folder name 
dynamically are very much welcome.


-- Scott K.


Scott Kovatch
scott.kova...@oracle.com
Santa Clara/Pleasanton, CA





RFR 7142950: jdk7u cannot bootstrap Mac OS build [macosx]

2012-02-08 Thread Michael McMahon

There are a few problems with the Mac build at the moment.

1. If SKIP_BOOT_CYCLE=false then the build fails, due to two problems:-
1) top level Makefile doesn't know about Mac OS image directory 
structure

2) it also fails due to problem 2. below

2. General bootstrapping problem. The build currently cannot use itself as
the bootstrap JDK due to an assumption in the framework classes that
"os.arch" is x86_64, whereas we currently set it to amd64. The 
change is to
fix that code to expect amd64. There is a related question then 
about what the
correct value for os.arch should be. I'd like to raise this in a 
separate discussion

and hopefully fix these build problems independently of that.

3. jvm.cfg is currently being taken from the solaris src tree even though
a macos version of the file is there. Fix that problem too. The macos
source jvm.cfg is changed to be the same as the solaris/amd64 version
(ie. the one that was being used, and which makes -client UNKNOWN)

The following webrevs address these issues.

Top level repo
--
http://cr.openjdk.java.net/~michaelm/7142950/top/webrev.1/

JDK repo

http://cr.openjdk.java.net/~michaelm/7142950/jdk/webrev.1/


Re: RFR 7142950: jdk7u cannot bootstrap Mac OS build [macosx]

2012-02-08 Thread Scott Kovatch
On Feb 6, 2012, at 2:31 PM, Michael McMahon wrote:

> There are a few problems with the Mac build at the moment.
> 
> 1. If SKIP_BOOT_CYCLE=false then the build fails, due to two problems:-
>1) top level Makefile doesn't know about Mac OS image directory structure
>2) it also fails due to problem 2. below

> 2. General bootstrapping problem. The build currently cannot use itself as
>the bootstrap JDK due to an assumption in the framework classes that
>"os.arch" is x86_64, whereas we currently set it to amd64. The change is to
>fix that code to expect amd64. There is a related question then about what 
> the
>correct value for os.arch should be. I'd like to raise this in a separate 
> discussion
>and hopefully fix these build problems independently of that.

I was going to propose that we fix the image directory issues by building into 
the image directories the same way on all platforms and have the mac build copy 
the image directories into j2sdk-bundle. (7133768) I'm pretty sure that even 
with this change you can't build rt.jar because the jar tool gets moved out 
from underneath the running build when the bundle is constructed.

I don't think your changes would interfere with my proposed fix for 7133768, 
though. And, the other changes for generating the folder name dynamically are 
very much welcome.

-- Scott K.


Scott Kovatch
scott.kova...@oracle.com
Santa Clara/Pleasanton, CA