> This PR is branched from the makefile changes for
> https://bugs.openjdk.org/browse/JDK-8303796 and contains the following for
> handling the JDK/VM static libraries:
>
> - Create libjvm.a together with other JDK static libraries when building
> 'static-libs-image' (or 'static-libs-bundles') target, include it in
> 'images/static-libs/lib';
> - For libjvm.a specifically, exclude operator_new.o;
> - Filter out "external" .o files (those are the .o files included from a
> different JDK library and needed when creating the .so shared library only)
> from .a libraries; That's to avoid linker errors due to the duplicate symbols
> problems from the related .o files;
> - Handle long arguments case for static build in
> make/common/NativeCompilation.gmk;
> - Address @erikj79's comment in
> https://github.com/openjdk/jdk/pull/13709#discussion_r1180750185 for
> LIBJLI_STATIC_EXCLUDE_OBJS;
Jiangli Zhou has updated the pull request incrementally with one additional
commit since the last revision:
- Separate building libjvm.a from static-libs-image target, based on input
from @jerboaa and @olpaw:
- Add a new java-static-libs-image target in Main.gmk for creating the JDK
.a static libraries and libjvm.a super set. The static libraries are placed in
images/static-libs/lib. The existing static-libs-image target is not affected
and will not include hotspot libjvm.a.
- Add java-static-libs-bundles target in Bundles.gmk. The created .tar.gz
bundle contains JDK .a static libraries and hotspot libjvm.a.
- Add StaticJvmLibsImage.gmk for placing libjvm.a into
images/static-libs/lib.
- Further cleanup after incorporating erikj79's suggestion to only build
libjvm.a for $(JVM_VARIANT_MAIN) for now:
- Change HOTSPOT_VARIANT_STATIC_LIBS_TARGETS to
HOTSPOT_VARIANT_MAIN_STATIC_LIBS_TARGETS in Main.gmk.
- Change hotspot-$v-static-libs to hotspot-$(JVM_VARIANT_MAIN)-static-libs
in Main.gmk.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/13768/files
- new: https://git.openjdk.org/jdk/pull/13768/files/84861990..e49d7b4e
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=13768&range=05
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=13768&range=04-05
Stats: 78 lines in 4 files changed: 64 ins; 8 del; 6 mod
Patch: https://git.openjdk.org/jdk/pull/13768.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/13768/head:pull/13768
PR: https://git.openjdk.org/jdk/pull/13768