22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
25
26 include LauncherCommon.gmk
27
28 $(eval $(call SetupBuildLauncher, pack200, \
29 MAIN_MODULE := java.base, \
30 MAIN_CLASS := com.sun.java.util.jar.pack.Driver, \
31 ))
32
33 ################################################################################
34 # The order of the object files on the link command line affects the size of the resulting
35 # binary (at least on linux) which causes the size to differ between old and new build.
36
37 # Tell the compiler not to export any functions unless declared so in
38 # the source code. On Windows, this is the default and cannot be changed.
39 # On Mac, we have always exported all symbols, probably due to oversight
40 # and/or misunderstanding. To emulate this, don't hide any symbols
41 # by default.
42 # On AIX/xlc we need at least xlc 13.1 for the symbol hiding
43 # Also provide an override for non-conformant libraries.
44 ifeq ($(TOOLCHAIN_TYPE), gcc)
45 CXXFLAGS_JDKEXE += -fvisibility=hidden
46 LDFLAGS_JDKEXE += -Wl,--exclude-libs,ALL
47 else ifeq ($(TOOLCHAIN_TYPE), clang)
48 ifneq ($(OPENJDK_TARGET_OS), macosx)
49 CXXFLAGS_JDKEXE += -fvisibility=hidden
50 endif
51 else ifeq ($(TOOLCHAIN_TYPE), solstudio)
52 CXXFLAGS_JDKEXE += -xldscope=hidden
53 else ifeq ($(TOOLCHAIN_TYPE), xlc)
54 ifneq ($(CC_VERSION_NUMBER), 12.1)
55 CXXFLAGS_JDKEXE += -qvisibility=hidden
56 endif
57 endif
58
59 UNPACKEXE_SRC := $(TOPDIR)/src/jdk.pack/share/native/common-unpack \
60 $(TOPDIR)/src/jdk.pack/share/native/unpack200
61 UNPACKEXE_CFLAGS := -I$(TOPDIR)/src/jdk.pack/share/native/common-unpack \
62 -I$(TOPDIR)/src/java.base/share/native/libjava \
63 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava
64
65 ifeq ($(USE_EXTERNAL_LIBZ), true)
66 UNPACKEXE_CFLAGS += -DSYSTEM_ZLIB
67 UNPACKEXE_LIBS := -lz
68 else
69 UNPACKEXE_CFLAGS += -I$(TOPDIR)/src/java.base/share/native/libzip/zlib
70 UNPACKEXE_ZIPOBJS := $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/zcrc32$(OBJ_SUFFIX) \
71 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/deflate$(OBJ_SUFFIX) \
72 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/trees$(OBJ_SUFFIX) \
73 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/zadler32$(OBJ_SUFFIX) \
74 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/compress$(OBJ_SUFFIX) \
75 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/zutil$(OBJ_SUFFIX) \
76 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/inflate$(OBJ_SUFFIX) \
|
22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
25
26 include LauncherCommon.gmk
27
28 $(eval $(call SetupBuildLauncher, pack200, \
29 MAIN_MODULE := java.base, \
30 MAIN_CLASS := com.sun.java.util.jar.pack.Driver, \
31 ))
32
33 ################################################################################
34 # The order of the object files on the link command line affects the size of the resulting
35 # binary (at least on linux) which causes the size to differ between old and new build.
36
37 # Tell the compiler not to export any functions unless declared so in
38 # the source code. On Windows, this is the default and cannot be changed.
39 # On Mac, we have always exported all symbols, probably due to oversight
40 # and/or misunderstanding. To emulate this, don't hide any symbols
41 # by default.
42 # On AIX/xlc we need at least xlc 13.1 for the symbol hiding (see JDK-8214063)
43 # Also provide an override for non-conformant libraries.
44 ifeq ($(TOOLCHAIN_TYPE), gcc)
45 CXXFLAGS_JDKEXE += -fvisibility=hidden
46 LDFLAGS_JDKEXE += -Wl,--exclude-libs,ALL
47 else ifeq ($(TOOLCHAIN_TYPE), clang)
48 ifneq ($(OPENJDK_TARGET_OS), macosx)
49 CXXFLAGS_JDKEXE += -fvisibility=hidden
50 endif
51 else ifeq ($(TOOLCHAIN_TYPE), solstudio)
52 CXXFLAGS_JDKEXE += -xldscope=hidden
53 endif
54
55 UNPACKEXE_SRC := $(TOPDIR)/src/jdk.pack/share/native/common-unpack \
56 $(TOPDIR)/src/jdk.pack/share/native/unpack200
57 UNPACKEXE_CFLAGS := -I$(TOPDIR)/src/jdk.pack/share/native/common-unpack \
58 -I$(TOPDIR)/src/java.base/share/native/libjava \
59 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava
60
61 ifeq ($(USE_EXTERNAL_LIBZ), true)
62 UNPACKEXE_CFLAGS += -DSYSTEM_ZLIB
63 UNPACKEXE_LIBS := -lz
64 else
65 UNPACKEXE_CFLAGS += -I$(TOPDIR)/src/java.base/share/native/libzip/zlib
66 UNPACKEXE_ZIPOBJS := $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/zcrc32$(OBJ_SUFFIX) \
67 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/deflate$(OBJ_SUFFIX) \
68 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/trees$(OBJ_SUFFIX) \
69 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/zadler32$(OBJ_SUFFIX) \
70 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/compress$(OBJ_SUFFIX) \
71 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/zutil$(OBJ_SUFFIX) \
72 $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/inflate$(OBJ_SUFFIX) \
|