Hi Magnus,

I had a flick through most of the files. Overall seems okay but I have a few queries below.

On 13/11/2015 12:43 PM, Magnus Ihse Bursie wrote:
The build-infra project has collected a number of minor fixes and
changes during the new hotspot build development. It's a mix of code
cleanup and new capabilities.

Not all of these new features are immediately beneficial to the JDK, but
they will be needed for the upcoming new Hotspot build, and it will not
hurt to have them in mainline. (In fact, it will tremendously help
merging between mainline and build-infra.)

The fix addresses these issues:

In general:
* Break out hotspot configuration into hotspot.m4
* Long link lines uses @-files
* Consistently use -Wl instead of -Xlinker
* Improve clang on linux compilation
* Set shared library name explicitely on solaris
* Set correct shared library flag on Windows (-dll)
* Consistency fixes for build toolchain
* Bring compare script up to date
* General code/whitespace cleanup
* Additional functionality in MakeBase

In NativeCompilation.gmk:
* More efficient vardeps for per-file CFLAGS
* Fewer shell executions (means better performance on Windows)
* EXCLUDE_PATTERN and EXTRA_OBJECT_FILES
* Debug symbols on macosx (disabled for existing code to keep current
behavior)

Enabling debug info on macosx on existing jdk should be treated in a
follow-up bug.
Bug: https://bugs.openjdk.java.net/browse/JDK-8142907
WebRev:
http://cr.openjdk.java.net/~ihse/JDK-8142907-build-infra-integration-closed/webrev.01


(It turned out that WebRev could not at the same time include files from
multiple repos and track the history of a "hg cp":ied file. So I created
an alternative revision here:
http://cr.openjdk.java.net/~ihse/JDK-8142907-build-infra-integration-closed/webrev.02/


It does not include the jdk files, but hotspot.m4 might be easier to
understand)

flags.m4:

  60   AC_SUBST(LEGACY_EXTRA_CFLAGS)
  61   AC_SUBST(LEGACY_EXTRA_CXXFLAGS)
  62   AC_SUBST(LEGACY_EXTRA_LDFLAGS)
  63
  64   AC_SUBST(EXTRA_CFLAGS)
  65   AC_SUBST(EXTRA_CXXFLAGS)
  66   AC_SUBST(EXTRA_LDFLAGS)

IIRC we added the legacy flags purely to pass the cross-compilation args through to hotspot. Not sure why we need both legacy and non-legancy variants now ??

On Windows -LD is a superset of -dll, so it isn't obvious the change is correct.

---

jdk/make/lib/LibCommon.gmk

+ # Disable it here for the jdk binaries until we decide to enable them.

s/binaries/libraries/ ?

Actually both this fragment and the one in jdk/make/launcher/LauncherCommon.gmk I find confusing - what is the relation with hotspot here, and the role of SetupNativeCompilation?

Thanks,
David


/Magnus

Reply via email to