make/common/Defs-solaris.gmk

Print this page


   1 #
   2 # Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
   3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 #
   5 # This code is free software; you can redistribute it and/or modify it
   6 # under the terms of the GNU General Public License version 2 only, as
   7 # published by the Free Software Foundation.  Oracle designates this
   8 # particular file as subject to the "Classpath" exception as provided
   9 # by Oracle in the LICENSE file that accompanied this code.
  10 #
  11 # This code is distributed in the hope that it will be useful, but WITHOUT
  12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14 # version 2 for more details (a copy is included in the LICENSE file that
  15 # accompanied this code).
  16 #
  17 # You should have received a copy of the GNU General Public License version
  18 # 2 along with this work; if not, write to the Free Software Foundation,
  19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20 #
  21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22 # or visit www.oracle.com if you need additional information or have any


  57     CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
  58   endif
  59 endif
  60 
  61 # platform specific include files
  62 PLATFORM_INCLUDE_NAME = $(PLATFORM)
  63 PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
  64 
  65 # suffix used for make dependencies files
  66 DEPEND_SUFFIX = d
  67 # suffix used for lint files
  68 LINT_SUFFIX = ln
  69 # The suffix applied to the library name for FDLIBM
  70 FDDLIBM_SUFFIX = a
  71 # The suffix applied to scripts (.bat for windows, nothing for unix)
  72 SCRIPT_SUFFIX =
  73 # CC compiler object code output directive flag value
  74 CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
  75 CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required!
  76 
  77 ifdef ENABLE_FULL_DEBUG_SYMBOLS
  78 # Only check for Full Debug Symbols support on Solaris if it is
  79 # specifically enabled. Hopefully, it can be enabled by default
  80 # once the .debuginfo size issues are worked out.
  81 
  82 # Default OBJCOPY comes from the SUNWbinutils package:
  83 DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
  84 ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)

  85   # On Solaris AMD64/X64, gobjcopy is not happy and fails:
  86   #
  87   # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so
  88   # BFD: stKPaiop: Not enough room for program headers, try linking with -N
  89   # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
  90   # BFD: stKPaiop: Not enough room for program headers, try linking with -N
  91   # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value
  92   # BFD: stKPaiop: Not enough room for program headers, try linking with -N
  93   # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
  94   _JUNK_ := $(shell \
  95     echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64")
  96   OBJCOPY=
  97 else
  98   OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
  99   ifneq ($(ALT_OBJCOPY),)
 100     _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
 101     # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
 102     OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
 103   endif
 104 endif
 105 
 106 ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
 107 # The setting of OBJCOPY above enables the JDK build to import
 108 # .debuginfo files from the HotSpot build. However, adding FDS
 109 # support to the JDK build will occur in phases so a different
 110 # make variable is used to indicate that a particular library
 111 # supports FDS.
 112 
 113 ifeq ($(OBJCOPY),)
 114   _JUNK_ := $(shell \
 115     echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
 116 else

 117   _JUNK_ := $(shell \
 118     echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
 119 
 120   # Library stripping policies for .debuginfo configs:
 121   #   all_strip - strips everything from the library
 122   #   min_strip - strips most stuff from the library; leaves minimum symbols
 123   #   no_strip  - does not strip the library at all
 124   #
 125   # Oracle security policy requires "all_strip". A waiver was granted on
 126   # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
 127   #
 128   DEF_STRIP_POLICY="min_strip"
 129   ifeq ($(ALT_STRIP_POLICY),)
 130     STRIP_POLICY=$(DEF_STRIP_POLICY)
 131   else
 132     STRIP_POLICY=$(ALT_STRIP_POLICY)
 133   endif
 134   _JUNK_ := $(shell \
 135     echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")






 136 endif
 137 endif
 138 endif
 139 
 140 #
 141 # Java default optimization (-x04/-O2) etc.  Applies to the VM.
 142 #
 143 ifndef OPTIMIZATION_LEVEL
 144   ifeq ($(PRODUCT), java)
 145     OPTIMIZATION_LEVEL = HIGHER
 146   else
 147     OPTIMIZATION_LEVEL = LOWER
 148   endif
 149 endif
 150 ifndef FASTDEBUG_OPTIMIZATION_LEVEL
 151   FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
 152 endif
 153 
 154 #
 155 # If -Xa is in CFLAGS_COMMON it will end up ahead of $(CC_OPT) for the
 156 # optimized build, and that ordering of the flags completely freaks
 157 # out cc.  Hence, -Xa is instead in each CFLAGS variant.
 158 #


 737 endif # TCOV_BUILD
 738 
 739 # If your platform has DPS, it will have Type1 fonts too, in which case
 740 # it is best to enable DPS support until such time as 2D's rasteriser
 741 # can fully handle Type1 fonts in all cases. Default is "yes".
 742 # HAVE_DPS should only be "no" if the platform has no DPS headers or libs
 743 # DPS (Displayable PostScript) is available on Solaris machines
 744 
 745 HAVE_DPS = yes
 746 
 747 #
 748 # Japanese manpages
 749 #
 750 JA_SOURCE_ENCODING = eucJP
 751 JA_TARGET_ENCODINGS = eucJP UTF-8 PCK
 752 
 753 # Settings for the JDI - Serviceability Agent binding.
 754 HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
 755 SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
 756 SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo

 757 INCLUDE_SA=true
 758 
   1 #
   2 # Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
   3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 #
   5 # This code is free software; you can redistribute it and/or modify it
   6 # under the terms of the GNU General Public License version 2 only, as
   7 # published by the Free Software Foundation.  Oracle designates this
   8 # particular file as subject to the "Classpath" exception as provided
   9 # by Oracle in the LICENSE file that accompanied this code.
  10 #
  11 # This code is distributed in the hope that it will be useful, but WITHOUT
  12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14 # version 2 for more details (a copy is included in the LICENSE file that
  15 # accompanied this code).
  16 #
  17 # You should have received a copy of the GNU General Public License version
  18 # 2 along with this work; if not, write to the Free Software Foundation,
  19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20 #
  21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22 # or visit www.oracle.com if you need additional information or have any


  57     CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
  58   endif
  59 endif
  60 
  61 # platform specific include files
  62 PLATFORM_INCLUDE_NAME = $(PLATFORM)
  63 PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
  64 
  65 # suffix used for make dependencies files
  66 DEPEND_SUFFIX = d
  67 # suffix used for lint files
  68 LINT_SUFFIX = ln
  69 # The suffix applied to the library name for FDLIBM
  70 FDDLIBM_SUFFIX = a
  71 # The suffix applied to scripts (.bat for windows, nothing for unix)
  72 SCRIPT_SUFFIX =
  73 # CC compiler object code output directive flag value
  74 CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
  75 CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required!
  76 
  77 ENABLE_FULL_DEBUG_SYMBOLS ?= 1
  78 # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later


  79 
  80 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  81   # Default OBJCOPY comes from the SUNWbinutils package:
  82   DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
  83   ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
  84     # On Solaris AMD64/X64, gobjcopy is not happy and fails:
  85     #
  86     # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so
  87     # BFD: stKPaiop: Not enough room for program headers, try linking with -N
  88     # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
  89     # BFD: stKPaiop: Not enough room for program headers, try linking with -N
  90     # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value
  91     # BFD: stKPaiop: Not enough room for program headers, try linking with -N
  92     # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
  93     _JUNK_ := $(shell \
  94       echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64")
  95     OBJCOPY=
  96   else
  97     OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
  98     ifneq ($(ALT_OBJCOPY),)
  99       _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
 100       # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
 101       OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
 102     endif
 103   endif
 104 
 105   # Setting ENABLE_FULL_DEBUG_SYMBOLS=1 (and OBJCOPY) above enables the
 106   # JDK build to import .debuginfo or .diz files from the HotSpot build.
 107   # However, adding FDS support to the JDK build will occur in phases
 108   # so a different make variable (LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS)
 109   # is used to indicate that a particular library supports FDS.

 110 
 111   ifeq ($(OBJCOPY),)
 112     _JUNK_ := $(shell \
 113       echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
 114     ENABLE_FULL_DEBUG_SYMBOLS=0
 115   else
 116     _JUNK_ := $(shell \
 117       echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
 118 
 119     # Library stripping policies for .debuginfo configs:
 120     #   all_strip - strips everything from the library
 121     #   min_strip - strips most stuff from the library; leaves minimum symbols
 122     #   no_strip  - does not strip the library at all
 123     #
 124     # Oracle security policy requires "all_strip". A waiver was granted on
 125     # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
 126     #
 127     #
 128     # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
 129     STRIP_POLICY ?= min_strip
 130 


 131     _JUNK_ := $(shell \
 132       echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
 133 
 134     ZIP_DEBUGINFO_FILES ?= 1
 135 
 136     _JUNK_ := $(shell \
 137       echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
 138   endif
 139 endif


 140 
 141 #
 142 # Java default optimization (-x04/-O2) etc.  Applies to the VM.
 143 #
 144 ifndef OPTIMIZATION_LEVEL
 145   ifeq ($(PRODUCT), java)
 146     OPTIMIZATION_LEVEL = HIGHER
 147   else
 148     OPTIMIZATION_LEVEL = LOWER
 149   endif
 150 endif
 151 ifndef FASTDEBUG_OPTIMIZATION_LEVEL
 152   FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
 153 endif
 154 
 155 #
 156 # If -Xa is in CFLAGS_COMMON it will end up ahead of $(CC_OPT) for the
 157 # optimized build, and that ordering of the flags completely freaks
 158 # out cc.  Hence, -Xa is instead in each CFLAGS variant.
 159 #


 738 endif # TCOV_BUILD
 739 
 740 # If your platform has DPS, it will have Type1 fonts too, in which case
 741 # it is best to enable DPS support until such time as 2D's rasteriser
 742 # can fully handle Type1 fonts in all cases. Default is "yes".
 743 # HAVE_DPS should only be "no" if the platform has no DPS headers or libs
 744 # DPS (Displayable PostScript) is available on Solaris machines
 745 
 746 HAVE_DPS = yes
 747 
 748 #
 749 # Japanese manpages
 750 #
 751 JA_SOURCE_ENCODING = eucJP
 752 JA_TARGET_ENCODINGS = eucJP UTF-8 PCK
 753 
 754 # Settings for the JDI - Serviceability Agent binding.
 755 HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
 756 SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
 757 SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
 758 SA_DIZ_NAME = $(LIB_PREFIX)saproc.diz
 759 INCLUDE_SA=true
 760