28 ifeq ($(OPENJDK_TARGET_OS), macosx)
29 ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN)
30 else
31 ifeq ($(OPENJDK_TARGET_OS), windows)
32 endif
33 ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN,/../lib/jli)
34
35 # Applications expect to be able to link against libjawt without invoking
36 # System.loadLibrary("jawt") first. This was the behaviour described in the
37 # devloper documentation of JAWT and what worked with OpenJDK6.
38 ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), )
39 ORIGIN_ARG += $(call SET_EXECUTABLE_ORIGIN,/../lib)
40 endif
41 endif
42
43 # Tell the compiler not to export any functions unless declared so in
44 # the source code. On Windows, this is the default and cannot be changed.
45 # On Mac, we have always exported all symbols, probably due to oversight
46 # and/or misunderstanding. To emulate this, don't hide any symbols
47 # by default.
48 # Also provide an override for non-conformant libraries.
49 ifeq ($(TOOLCHAIN_TYPE), gcc)
50 LAUNCHER_CFLAGS += -fvisibility=hidden
51 LDFLAGS_JDKEXE += -Wl,--exclude-libs,ALL
52 else ifeq ($(TOOLCHAIN_TYPE), clang)
53 ifneq ($(OPENJDK_TARGET_OS), macosx)
54 LAUNCHER_CFLAGS += -fvisibility=hidden
55 endif
56 else ifeq ($(TOOLCHAIN_TYPE), solstudio)
57 LAUNCHER_CFLAGS += -xldscope=hidden
58 else ifeq ($(TOOLCHAIN_TYPE), xlc)
59 LAUNCHER_CFLAGS += -qvisibility=hidden
60 endif
61
62 LAUNCHER_SRC := $(TOPDIR)/src/java.base/share/native/launcher
63 LAUNCHER_CFLAGS += -I$(TOPDIR)/src/java.base/share/native/launcher \
64 -I$(TOPDIR)/src/java.base/share/native/libjli \
65 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjli \
66 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjli \
67 #
68 GLOBAL_VERSION_INFO_RESOURCE := $(TOPDIR)/src/java.base/windows/native/common/version.rc
69 JAVA_VERSION_INFO_RESOURCE := $(TOPDIR)/src/java.base/windows/native/launcher/java.rc
70 MACOSX_PLIST_DIR := $(TOPDIR)/src/java.base/macosx/native/launcher
71 JAVA_MANIFEST := $(TOPDIR)/src/java.base/windows/native/launcher/java.manifest
72
73 ################################################################################
74 # Build standard launcher.
75
76 # Setup make rules for building a standard launcher.
77 #
78 # Parameter 1 is the name of the rule. This name is used as variable prefix,
79 # and the targets generated are listed in a variable by that name. It is also
|
28 ifeq ($(OPENJDK_TARGET_OS), macosx)
29 ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN)
30 else
31 ifeq ($(OPENJDK_TARGET_OS), windows)
32 endif
33 ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN,/../lib/jli)
34
35 # Applications expect to be able to link against libjawt without invoking
36 # System.loadLibrary("jawt") first. This was the behaviour described in the
37 # devloper documentation of JAWT and what worked with OpenJDK6.
38 ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), )
39 ORIGIN_ARG += $(call SET_EXECUTABLE_ORIGIN,/../lib)
40 endif
41 endif
42
43 # Tell the compiler not to export any functions unless declared so in
44 # the source code. On Windows, this is the default and cannot be changed.
45 # On Mac, we have always exported all symbols, probably due to oversight
46 # and/or misunderstanding. To emulate this, don't hide any symbols
47 # by default.
48 # On AIX/xlc we need at least xlc 13.1 for the symbol hiding
49 # Also provide an override for non-conformant libraries.
50 ifeq ($(TOOLCHAIN_TYPE), gcc)
51 LAUNCHER_CFLAGS += -fvisibility=hidden
52 LDFLAGS_JDKEXE += -Wl,--exclude-libs,ALL
53 else ifeq ($(TOOLCHAIN_TYPE), clang)
54 ifneq ($(OPENJDK_TARGET_OS), macosx)
55 LAUNCHER_CFLAGS += -fvisibility=hidden
56 endif
57 else ifeq ($(TOOLCHAIN_TYPE), solstudio)
58 LAUNCHER_CFLAGS += -xldscope=hidden
59 else ifeq ($(TOOLCHAIN_TYPE), xlc)
60 ifneq ($(CC_VERSION_NUMBER), 12.1)
61 CXXFLAGS_JDKEXE += -qvisibility=hidden
62 endif
63 endif
64
65 LAUNCHER_SRC := $(TOPDIR)/src/java.base/share/native/launcher
66 LAUNCHER_CFLAGS += -I$(TOPDIR)/src/java.base/share/native/launcher \
67 -I$(TOPDIR)/src/java.base/share/native/libjli \
68 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjli \
69 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjli \
70 #
71 GLOBAL_VERSION_INFO_RESOURCE := $(TOPDIR)/src/java.base/windows/native/common/version.rc
72 JAVA_VERSION_INFO_RESOURCE := $(TOPDIR)/src/java.base/windows/native/launcher/java.rc
73 MACOSX_PLIST_DIR := $(TOPDIR)/src/java.base/macosx/native/launcher
74 JAVA_MANIFEST := $(TOPDIR)/src/java.base/windows/native/launcher/java.manifest
75
76 ################################################################################
77 # Build standard launcher.
78
79 # Setup make rules for building a standard launcher.
80 #
81 # Parameter 1 is the name of the rule. This name is used as variable prefix,
82 # and the targets generated are listed in a variable by that name. It is also
|