On May 3, 2011, at 4:00 PM, Daniel D. Daugherty wrote:
> Thumbs up.
>
> Sorry Tom. I was thinking that agent/make/Makefile was obsolete
> so I didn't bother to update it when I pushed 7010849.
>
> What's the difference between building via agent/make/Makefile
> and make/*/makefiles/sa.make?
There was a time when the SA was optional so it had its own build machinery.
When it became required for serviceability new build machinery was created but
the old one was left alone. The layout it produces is assumed by the tool
scripts in agent/make. They could be rewhacked to work from the sa-jdi.jar
file though I think there may be a few things like gifs that aren't included in
that jar. Basically, if you want to use hsdb you need to build it under
agent/make.
I'd played at one point with having agent/make/Makefile build using the
make/Makefile but in the end didn't feel like screwing with it. Basically I
added a new target, saonly, and agent/make/Makefile became:
TOPDIR=$(shell pwd)
BUILD_DIR = $(TOPDIR)/../build
all:
cd ../../make && $(MAKE) saonly ALT_OUTPUTDIR=$(BUILD_DIR)
and the saenv.sh scripts used this to find the needed bits:
SA_BUILD_DIR=$STARTDIR/../build/${OS}_${CPU}_saonly
I think I did it this way so that you didn't have to wait for a full hotspot
build just to use the SA. You could always require a full build and put it in
the default build location but the changes to make/<platform>/Makefile were
pretty trivial. I still have the webrev sitting around if you are interested.
I'd have to peel away some of the other bits it's mixed up with.
tom
>
> Dan
>
>
> On 5/3/2011 4:43 PM, Tom Rodriguez wrote:
>> http://cr.openjdk.java.net/~never/7041603
>>
>> 7041603: standalone SA doesn't build after 7010849
>> Summary:
>> Reviewed-by:
>>
>> The fix for 7010849 changed the -target requirements for building the
>> SA but didn't change the makefile in agent/make. The fix is to apply
>> the equivalent changes to agent/make/Makefile. Tested by building SA.
>>
>>