8307858: [REDO] JDK-8307194 Add make target for optionally building a complete set of all JDK and hotspot libjvm static libraries

Co-authored-by: Erik Joelsson <erikj@openjdk.org>
Reviewed-by: erikj
This commit is contained in:
Jiangli Zhou 2023-06-12 16:22:24 +00:00
parent a6ad42e00e
commit 45414fc2df
10 changed files with 190 additions and 51 deletions

View file

@ -153,15 +153,19 @@ endif
LIBJLI_CFLAGS += $(LIBZ_CFLAGS)
ifneq ($(USE_EXTERNAL_LIBZ), true)
# Extra files from the zlib.
LIBJLI_EXTRA_FILE_LIST := inflate.c inftrees.c inffast.c zadler32.c zcrc32.c zutil.c
LIBJLI_EXTRA_FILES += \
$(addprefix $(TOPDIR)/src/java.base/share/native/libzip/zlib/, \
inflate.c \
inftrees.c \
inffast.c \
zadler32.c \
zcrc32.c \
zutil.c \
)
$(LIBJLI_EXTRA_FILE_LIST))
# Do not include these libz objects in the static libjli library.
# When statically linking the java launcher with all JDK and VM
# static libraries, we use the --whole-archive linker option.
# The duplicate objects in different static libraries cause linking
# errors due to duplicate symbols.
LIBJLI_STATIC_EXCLUDE_OBJS := $(subst .c,$(OBJ_SUFFIX),$(LIBJLI_EXTRA_FILE_LIST))
endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
@ -180,6 +184,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
LIBS_aix := $(LIBDL),\
LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
LIBS_windows := advapi32.lib comctl32.lib user32.lib, \
STATIC_LIB_EXCLUDE_OBJS := $(LIBJLI_STATIC_EXCLUDE_OBJS), \
))
TARGETS += $(BUILD_LIBJLI)