Can the echo in Library.gmk be changed to @$(ECHO) ?

Otherwise I'm ok with these changes.

-kto

On Mar 8, 2011, at 3:39 AM, David Holmes wrote:

> I've updated the webrev - same location:
> 
> http://cr.openjdk.java.net/~dholmes/7025066/webrev/
> 
> The main section for SE-Embedded is in Defs.gmk as there were some 
> dependencies on settings created in other gmk files. A few files are no 
> longer changed and I removed some unnecessary checks (ie that cross-compile 
> is only used on Linux). Some changes carried over to the Solaris files, but 
> only minimally as I can't verify their usage in that environment.
> 
> Testing still in progress, but comments appreciated.
> 
> Thanks,
> David
> 
> Kelly O'Hair said the following on 03/08/11 11:25:
>> On Mar 7, 2011, at 4:32 PM, David Holmes wrote:
>>> Kelly,
>>> 
>>> Many thanks for the comments.
>>> 
>>> I could try to lift a single use of JAVASE_EMBEDDED up to the top-level to 
>>> control things like: COMPRESS_JARS=true/false; REDUCED_JRE etc. In which, 
>>> of the many, makefiles would you suggest placing this? In the case of 
>>> COMPRESS_JARS would you want this to be applied everywhere a jar file is 
>>> created, or is it okay to restrict to those cases we are currently 
>>> interested in?
>> Platform.gmk
>>> With regards to placement of "sanity" checks, in the past we always built 
>>> embedded in INSANE mode, hence our sanity checks have been "in place" where 
>>> we needed them. I can move them all to sanity.gmk but I have trouble 
>>> working out which files have been processed by that stage, to ensure that 
>>> everything that should be defined has been defined.
>>> 
>> The sanity checks happen before anything is built, but all the Defs-*.gmk 
>> files are included.
>> The goal has always been to try and fail the build as soon as possible if 
>> some obvious dependency
>> is found to be wrong, missing, or the wrong version. Many are just warnings, 
>> more serious ones are fatal.
>> Not exactly the ideal way to do it, a './configure' script might have been 
>> better, but it is what it is.
>> -kto
>>> I will look at applying all other suggestions, and fix the hard-wired "Java 
>>> (TM)"  name.
>>> 
>>> David
>>> 
>>> Kelly O'Hair said the following on 03/08/11 03:39:
>>>> Just to clarify for people, BUILD_CLIENT_ONLY refers to building the 
>>>> client VM only.
>>>> Some of these variables should be documented in the top level 
>>>> README-builds.html file, but that
>>>> can be done under a separate CR if necessary.
>>>> The Library.gmk file seems like it is just a leftover debugging echo?
>>>> Looks like the Program.gmk file should be sharing the LD_RUNPATH_EXTRAS 
>>>> logic somehow, I originally
>>>> was trying to isolate all the $ORIGIN option setting to one place, oh 
>>>> well, not your issue. You have actually
>>>> cleanup some of these linker settings, so thanks for that.
>>>> The Release.gmk file needs  a major overhaul. :^(  I'm wondering if the 
>>>> various things being added here could
>>>> have their own separate functionality flags, rather than JAVASE_EMBEDDED,  
>>>> have COMPRESS_JARS=true/false,
>>>> REDUCED_JRE=true/false, then have one place where JAVASE_EMBEDDED turns on 
>>>> what it wants?
>>>> Like the BUILD_CLIENT_ONLY setting. Just thoughts.
>>>> But I'm ok with what you have, just cringing a little whenever the file 
>>>> Release.gmk gets more added to it. :^(
>>>> In Defs-control.gmk you have a line with just "error ...some message" not 
>>>> exactly sure what you are expecting here.
>>>> You also use USE_ONLY_BOOTDIR_TOOLS?=true  and I have avoided ?=. The 
>>>> reason is that it assigns the
>>>> variable if it hasn't been defined, not if it was defined to be empty or 
>>>> expands to empty.
>>>> Between ?= and ifdef/ifndef, it gets pretty confusing what "defined" 
>>>> means, and I've been favoring using just
>>>>  ifeq ($(USE_ONLY_BOOTDIR_TOOLS),)
>>>> as the best way to ask if a variable will expand to nothing, which is 
>>>> usually the real question in most situations.
>>>> I have only used ifeq($(origin X),defined) when a variable being 
>>>> explicitly defined to an empty value needed to be
>>>> allowed, and this ?= effectively uses ifeq($(origin X),defined). A little 
>>>> nit picking, sorry.
>>>> In make/common/shared/Defs.gmk, you define HOST_CC and have another 
>>>> "error" line. I'd rather not
>>>> have the check in this file, but we should just define HOST_CC if not 
>>>> defined, and have HOST_CC checked
>>>> in Sanity.gmk in a special embedded sanity check where you verify all 
>>>> embedded requirements you might have.
>>>> We should probably also add some of these embedded variables added to 
>>>> Sanity-Settings.gmk so we can see
>>>> the settings when 'make sanity' is run.
>>>> Sanity.gmk changes completely turns off the compiler version check, if you 
>>>> really want to do this, perhaps
>>>> the better approach is to put this sanity check in a ifdef REQUIRED_CC_VER 
>>>> and then have you  not define
>>>> that variable in Defs-versions.gmk? If you are saying you want NO required 
>>>> version, then not defining
>>>> the REQUIRED_* variables seems like a good idea.
>>>> In java/zip/Makefile maybe we need a LIBZIP_CAN_USE_MMAP functionality 
>>>> option here?
>>>> Then embedded wouldn't even need to be mentioned here.
>>>> In Version.java.template You have added a "Java (TM)" line, I think that 
>>>> needs to go. You should add that
>>>> in via the makefile somehow but I don't think it belongs in an OpenJDK 
>>>> build.
>>>> -kto
>>>> On Mar 7, 2011, at 2:14 AM, David Holmes wrote:
>>>>> http://cr.openjdk.java.net/~dholmes/7025066/webrev/
>>>>> 
>>>>> The SE-Embedded product is a combination of open and closed sources. To 
>>>>> allow SE-Embedded to be built from standard OpenJDK sources we need to 
>>>>> apply a number of changes to the SE 7 build system:
>>>>> 
>>>>> - support for building the hotspot client compiler only (hotspot already 
>>>>> supports this, this is the JDK side of things)
>>>>> - support for doing cross-compilation (Linux only)
>>>>> - minimal support for ARM/PPC architectures in the open code that 
>>>>> currently only knows about x86 and sparc
>>>>> - SE-Embedded specific build settings and targets (specifically the 
>>>>> headful and headless reduced JRE images)
>>>>> 
>>>>> ---
>>>>> 
>>>>> These changes are obviously primarily for Oracle's benefit, but some 
>>>>> aspects may be use of externally as well. The hope is that these changes 
>>>>> won't have an adverse affect on any downstream OpenJDK builders, but 
>>>>> until I get feedback on that I won't know.
>>>>> 
>>>>> Thanks,
>>>>> David Holmes
>>>>> SE Embedded Team
>>>>> 

Reply via email to