< prev index next >

make/launcher/LauncherCommon.gmk

Print this page
rev 49899 : 8202322: AIX: symbol visibility flags not support on xlc 12.1


  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


< prev index next >