Here’s the updated webrev with updates based on your feedback.

http://cr.openjdk.java.net/~bobv/8148302/webrev.01

I implemented all of the changes suggested.

For the X11 issue, I removed my changes and replaced BUILD_HEADLESS_ONLY with 
SUPPORT_HEADFUL.  This allows a headless only build to be fully controlled by
—disable-headful.  This shouldn’t impact our ARMv8 build since we set both 
—disable-headful
and BUILD_HEADLESS_ONLY.

Thanks,
Bob.


> On Jan 27, 2016, at 4:56 AM, Magnus Ihse Bursie 
> <magnus.ihse.bur...@oracle.com> wrote:
> 
> On 2016-01-26 20:50, Bob Vandette wrote:
>> Please review the changes for two improvements for the Mobile Dev Forest.
>> 
>> With these changes, the mobile/dev forest can successfully build x86 and ARM 
>> Android
>> JDK 9 binaries.   The ARM binaries use the Zero ARM interpreter while the x86
>> implementation uses standard x86 Hotspot VMs.
>> 
>> The webrev also includes 1 fix for iOS BSD builds in 
>> hotspot/make/bsd/makefiles/vm.make.
>> 
>> JDK-8148304   Mobile: iOS builds fail on assembler files
>>                          https://bugs.openjdk.java.net/browse/JDK-8148304
>> 
>> JDK-8148302   Mobile: Initial bring of Android x86 and ARM
>>                          https://bugs.openjdk.java.net/browse/JDK-8148302
>> 
>> Here’s the webrev:
>> 
>> http://cr.openjdk.java.net/~bobv/8148302/webrev
> 
> Hi Bob,
> 
> Some comments:
> 
> * In jni_util_md.c, you have accidentally lost a trailing ).
> 
> * In spec.gmk.in, please use ":=" instead of "=". The former is assignment, 
> the latter is used for macro expansion. (As a rule of thumb, := should always 
> be used unless you have explicit reasons.)
> 
> * In CompileJavaModules.gmk, why do you remove the exclude for 
> BUILD_HEADLESS_ONLY? This change affects all platforms, not only android.
> 
> * In lib-x11.m4, I *really* don't like adding X11 paths when we should not 
> have X11! (And it's even worse since you do not check for Android but do so 
> for all platforms.) What files are needed, and for what library? Can you not 
> fix this dependency by removing the #include statements in the source code 
> instead? Otherwise, I'd say that android *is* indeed dependent on X11, and 
> you need to express this properly.
> 
> * In lib-ffi.m4 and Copy-java.base.gmk: I think this a bit problematic. I 
> believe what you're trying to achieve is similar to what we do for freetype, 
> where we "bundle" the library with the resulting product. I'd rather see this 
> libffi bundling based on that behavior. More concretely:
> - The name of the variable should be like LIBFFI_BUNDLE_LIB_PATH, to clearly 
> show that this is used only when bundling the product, not when compiling it.
> - Whether to bundle or not should be determined in lib-ffi.m4. The default 
> value should be "bundle if android+zero, otherwise not". If you want to, you 
> can add a --enable-libffi-bundling to override this. I won't require it, but 
> I generally find such things useful since you can test that bundling works 
> even without building for a specific target. The code in Copy-java.base.gmk 
> should then only test if this variable is present, compare with freetype in 
> Copy-java.desktop. Finally, the configure code must check for the case that 
> libffi bundling is enabled but no explicit libffi path is set (e.g. it is 
> autodetected). It's okay to abort with an error, but it must be detected.
> 
> And finally, a note of appreciation. :-) I'm really happy to see the ugly 
> solution with the hard-coded linker scripts go away in flags.m4!
> 
> /Magnus

Reply via email to