< prev index next >

make/lib/LibCommon.gmk

Print this page




  29 
  30 GLOBAL_VERSION_INFO_RESOURCE := $(TOPDIR)/src/java.base/windows/native/common/version.rc
  31 
  32 # Absolute paths to lib files on windows for use in LIBS. Should figure out a more
  33 # elegant solution to this.
  34 WIN_JAVA_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
  35 
  36 # Tell the compiler not to export any functions unless declared so in
  37 # the source code. On Windows, this is the default and cannot be changed.
  38 # On Mac, we have always exported all symbols, probably due to oversight
  39 # and/or misunderstanding. To emulate this, don't hide any symbols
  40 # by default.
  41 # On AIX/xlc we need at least xlc 13.1 for the symbol hiding
  42 # Also provide an override for non-conformant libraries.
  43 ifeq ($(TOOLCHAIN_TYPE), gcc)
  44   CFLAGS_JDKLIB += -fvisibility=hidden
  45   CXXFLAGS_JDKLIB += -fvisibility=hidden
  46   LDFLAGS_JDKLIB += -Wl,--exclude-libs,ALL
  47   EXPORT_ALL_SYMBOLS := -fvisibility=default
  48 else ifeq ($(TOOLCHAIN_TYPE), clang)
  49   ifneq ($(OPENJDK_TARGET_OS), macosx)
  50     CFLAGS_JDKLIB += -fvisibility=hidden
  51     CXXFLAGS_JDKLIB += -fvisibility=hidden
  52     EXPORT_ALL_SYMBOLS := -fvisibility=default
  53   endif
  54 else ifeq ($(TOOLCHAIN_TYPE), solstudio)
  55   CFLAGS_JDKLIB += -xldscope=hidden
  56   CXXFLAGS_JDKLIB += -xldscope=hidden
  57   EXPORT_ALL_SYMBOLS := -xldscope=global
  58 else ifeq ($(TOOLCHAIN_TYPE), xlc)
  59   ifneq ($(CC_VERSION_NUMBER), 12.1)
  60     CFLAGS_JDKLIB += -qvisibility=hidden
  61     CXXFLAGS_JDKLIB += -qvisibility=hidden
  62     EXPORT_ALL_SYMBOLS := -qvisibility=default
  63   endif
  64 endif
  65 
  66 ################################################################################
  67 # Find a library
  68 # Param 1 - module name
  69 # Param 2 - library name
  70 # Param 3 - optional subdir for library
  71 FindLib = \
  72     $(call FindLibDirForModule, \
  73         $(strip $1))$(strip $3)/$(LIBRARY_PREFIX)$(strip $2)$(SHARED_LIBRARY_SUFFIX)


  29 
  30 GLOBAL_VERSION_INFO_RESOURCE := $(TOPDIR)/src/java.base/windows/native/common/version.rc
  31 
  32 # Absolute paths to lib files on windows for use in LIBS. Should figure out a more
  33 # elegant solution to this.
  34 WIN_JAVA_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
  35 
  36 # Tell the compiler not to export any functions unless declared so in
  37 # the source code. On Windows, this is the default and cannot be changed.
  38 # On Mac, we have always exported all symbols, probably due to oversight
  39 # and/or misunderstanding. To emulate this, don't hide any symbols
  40 # by default.
  41 # On AIX/xlc we need at least xlc 13.1 for the symbol hiding
  42 # Also provide an override for non-conformant libraries.
  43 ifeq ($(TOOLCHAIN_TYPE), gcc)
  44   CFLAGS_JDKLIB += -fvisibility=hidden
  45   CXXFLAGS_JDKLIB += -fvisibility=hidden
  46   LDFLAGS_JDKLIB += -Wl,--exclude-libs,ALL
  47   EXPORT_ALL_SYMBOLS := -fvisibility=default
  48 else ifeq ($(TOOLCHAIN_TYPE), clang)

  49   CFLAGS_JDKLIB += -fvisibility=hidden
  50   CXXFLAGS_JDKLIB += -fvisibility=hidden
  51   EXPORT_ALL_SYMBOLS := -fvisibility=default

  52 else ifeq ($(TOOLCHAIN_TYPE), solstudio)
  53   CFLAGS_JDKLIB += -xldscope=hidden
  54   CXXFLAGS_JDKLIB += -xldscope=hidden
  55   EXPORT_ALL_SYMBOLS := -xldscope=global
  56 else ifeq ($(TOOLCHAIN_TYPE), xlc)
  57   ifneq ($(CC_VERSION_NUMBER), 12.1)
  58     CFLAGS_JDKLIB += -qvisibility=hidden
  59     CXXFLAGS_JDKLIB += -qvisibility=hidden
  60     EXPORT_ALL_SYMBOLS := -qvisibility=default
  61   endif
  62 endif
  63 
  64 ################################################################################
  65 # Find a library
  66 # Param 1 - module name
  67 # Param 2 - library name
  68 # Param 3 - optional subdir for library
  69 FindLib = \
  70     $(call FindLibDirForModule, \
  71         $(strip $1))$(strip $3)/$(LIBRARY_PREFIX)$(strip $2)$(SHARED_LIBRARY_SUFFIX)
< prev index next >