make/common/Defs-linux.gmk

Print this page


   1 #
   2 # Copyright (c) 1999, 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


  56 # Platform specific closed sources
  57 ifndef OPENJDK
  58   ifndef CLOSED_PLATFORM_SRC
  59     CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
  60   endif
  61 endif
  62 
  63 # platform specific include files
  64 PLATFORM_INCLUDE_NAME = $(PLATFORM)
  65 PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
  66 
  67 # suffix used for make dependencies files.
  68 DEPEND_SUFFIX = d
  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 
  76 # Default OBJCOPY comes from GNU Binutils on Linux:
  77 DEF_OBJCOPY=/usr/bin/objcopy
  78 ifdef CROSS_COMPILE_ARCH




  79   # don't try to generate .debuginfo files when cross compiling
  80   _JUNK_ := $(shell \
  81     echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \
  82       "skipping .debuginfo generation.")
  83   OBJCOPY=
  84 else
  85   OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
  86   ifneq ($(ALT_OBJCOPY),)
  87     _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
  88     # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
  89     OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
  90   endif
  91 endif
  92 
  93 ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
  94 # The setting of OBJCOPY above enables the JDK build to import
  95 # .debuginfo files from the HotSpot build. However, adding FDS
  96 # support to the JDK build will occur in phases so a different
  97 # make variable is used to indicate that a particular library
  98 # supports FDS.
  99 
 100 ifeq ($(OBJCOPY),)
 101   _JUNK_ := $(shell \
 102     echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
 103 else

 104   _JUNK_ := $(shell \
 105     echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
 106 
 107   # Library stripping policies for .debuginfo configs:
 108   #   all_strip - strips everything from the library
 109   #   min_strip - strips most stuff from the library; leaves minimum symbols
 110   #   no_strip  - does not strip the library at all
 111   #
 112   # Oracle security policy requires "all_strip". A waiver was granted on
 113   # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
 114   #
 115   DEF_STRIP_POLICY="min_strip"
 116   ifeq ($(ALT_STRIP_POLICY),)
 117     STRIP_POLICY=$(DEF_STRIP_POLICY)
 118   else
 119     STRIP_POLICY=$(ALT_STRIP_POLICY)
 120   endif
 121 
 122   _JUNK_ := $(shell \
 123     echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")






 124 endif
 125 endif
 126 
 127 #
 128 # Default optimization
 129 #
 130 
 131 ifndef OPTIMIZATION_LEVEL
 132   ifeq ($(PRODUCT), java)
 133     OPTIMIZATION_LEVEL = HIGHER
 134   else
 135     OPTIMIZATION_LEVEL = LOWER
 136   endif
 137 endif
 138 ifndef FASTDEBUG_OPTIMIZATION_LEVEL
 139   FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
 140 endif
 141 
 142 CC_OPT/NONE     = 
 143 CC_OPT/LOWER    = -O2
 144 CC_OPT/HIGHER   = -O3
 145 CC_OPT/HIGHEST  = -O3


 395 # installation area.
 396 override USE_EXECNAME            = true
 397 
 398 # If your platform has DPS, it will have Type1 fonts too, in which case
 399 # it is best to enable DPS support until such time as 2D's rasteriser
 400 # can fully handle Type1 fonts in all cases. Default is "yes".
 401 # HAVE_DPS should only be "no" if the platform has no DPS headers or libs
 402 # DPS (Displayable PostScript) is available on Solaris machines
 403 HAVE_DPS = no
 404 
 405 #
 406 # Japanese manpages
 407 #
 408 JA_SOURCE_ENCODING = eucJP
 409 JA_TARGET_ENCODINGS = UTF-8
 410 
 411 # Settings for the JDI - Serviceability Agent binding.
 412 HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
 413 SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
 414 SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo

 415 
 416 # The JDI - Serviceability Agent binding is not currently supported
 417 # on Linux-ia64.
 418 ifeq ($(ARCH), ia64)
 419   INCLUDE_SA = false
 420 else
 421   INCLUDE_SA = true
 422 endif
 423 
 424 ifdef CROSS_COMPILE_ARCH
 425   # X11 headers are not under /usr/include
 426   OTHER_CFLAGS += -I$(OPENWIN_HOME)/include
 427   OTHER_CXXFLAGS += -I$(OPENWIN_HOME)/include
 428   OTHER_CPPFLAGS += -I$(OPENWIN_HOME)/include
 429 endif
   1 #
   2 # Copyright (c) 1999, 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


  56 # Platform specific closed sources
  57 ifndef OPENJDK
  58   ifndef CLOSED_PLATFORM_SRC
  59     CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
  60   endif
  61 endif
  62 
  63 # platform specific include files
  64 PLATFORM_INCLUDE_NAME = $(PLATFORM)
  65 PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
  66 
  67 # suffix used for make dependencies files.
  68 DEPEND_SUFFIX = d
  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 
  76 ENABLE_FULL_DEBUG_SYMBOLS ?= 1
  77 # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
  78 
  79 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  80   # Default OBJCOPY comes from GNU Binutils on Linux:
  81   DEF_OBJCOPY=/usr/bin/objcopy
  82   ifdef CROSS_COMPILE_ARCH
  83     # don't try to generate .debuginfo files when cross compiling
  84     _JUNK_ := $(shell \
  85       echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \
  86         "skipping .debuginfo generation.")
  87     OBJCOPY=
  88   else
  89     OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
  90     ifneq ($(ALT_OBJCOPY),)
  91       _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
  92       # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
  93       OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
  94     endif
  95   endif
  96 
  97   # Setting ENABLE_FULL_DEBUG_SYMBOLS=1 (and OBJCOPY) above enables the
  98   # JDK build to import .debuginfo or .diz files from the HotSpot build.
  99   # However, adding FDS support to the JDK build will occur in phases
 100   # so a different make variable (LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS)
 101   # is used to indicate that a particular library supports FDS.

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




 121 
 122     _JUNK_ := $(shell \
 123       echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
 124 
 125     ZIP_DEBUGINFO_FILES ?= 1
 126 
 127     _JUNK_ := $(shell \
 128       echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
 129   endif
 130 endif

 131 
 132 #
 133 # Default optimization
 134 #
 135 
 136 ifndef OPTIMIZATION_LEVEL
 137   ifeq ($(PRODUCT), java)
 138     OPTIMIZATION_LEVEL = HIGHER
 139   else
 140     OPTIMIZATION_LEVEL = LOWER
 141   endif
 142 endif
 143 ifndef FASTDEBUG_OPTIMIZATION_LEVEL
 144   FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
 145 endif
 146 
 147 CC_OPT/NONE     = 
 148 CC_OPT/LOWER    = -O2
 149 CC_OPT/HIGHER   = -O3
 150 CC_OPT/HIGHEST  = -O3


 400 # installation area.
 401 override USE_EXECNAME            = true
 402 
 403 # If your platform has DPS, it will have Type1 fonts too, in which case
 404 # it is best to enable DPS support until such time as 2D's rasteriser
 405 # can fully handle Type1 fonts in all cases. Default is "yes".
 406 # HAVE_DPS should only be "no" if the platform has no DPS headers or libs
 407 # DPS (Displayable PostScript) is available on Solaris machines
 408 HAVE_DPS = no
 409 
 410 #
 411 # Japanese manpages
 412 #
 413 JA_SOURCE_ENCODING = eucJP
 414 JA_TARGET_ENCODINGS = UTF-8
 415 
 416 # Settings for the JDI - Serviceability Agent binding.
 417 HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
 418 SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
 419 SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
 420 SA_DIZ_NAME = $(LIB_PREFIX)saproc.diz
 421 
 422 # The JDI - Serviceability Agent binding is not currently supported
 423 # on Linux-ia64.
 424 ifeq ($(ARCH), ia64)
 425   INCLUDE_SA = false
 426 else
 427   INCLUDE_SA = true
 428 endif
 429 
 430 ifdef CROSS_COMPILE_ARCH
 431   # X11 headers are not under /usr/include
 432   OTHER_CFLAGS += -I$(OPENWIN_HOME)/include
 433   OTHER_CXXFLAGS += -I$(OPENWIN_HOME)/include
 434   OTHER_CPPFLAGS += -I$(OPENWIN_HOME)/include
 435 endif