hotspot/make/solaris/makefiles/product.make
author ohair
Tue, 27 May 2008 09:47:18 -0700
changeset 584 02175b2b64e6
parent 338 5cf9f61d76f4
child 670 ddf3e9583f2f
permissions -rw-r--r--
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles) Summary: Allows for building with SS12, no longer requires SS11, warns if not SS11 for now. Once SS12 is validated and performance measurements look ok, SS12 will be the validated compiler. Reviewed-by: sspitsyn, ikrylov
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
     2
# Copyright 1999-2007 Sun Microsystems, Inc.  All Rights Reserved.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     4
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
489c9b5090e2 Initial load
duke
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
489c9b5090e2 Initial load
duke
parents:
diff changeset
     7
# published by the Free Software Foundation.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     8
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
     9
# This code is distributed in the hope that it will be useful, but WITHOUT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    10
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    11
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
489c9b5090e2 Initial load
duke
parents:
diff changeset
    12
# version 2 for more details (a copy is included in the LICENSE file that
489c9b5090e2 Initial load
duke
parents:
diff changeset
    13
# accompanied this code).
489c9b5090e2 Initial load
duke
parents:
diff changeset
    14
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    15
# You should have received a copy of the GNU General Public License version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    16
# 2 along with this work; if not, write to the Free Software Foundation,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    17
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    18
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    19
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    20
# CA 95054 USA or visit www.sun.com if you need additional information or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    21
# have any questions.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    22
#  
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
489c9b5090e2 Initial load
duke
parents:
diff changeset
    25
# Sets make macros for making optimized version of Gamma VM
489c9b5090e2 Initial load
duke
parents:
diff changeset
    26
# (This is the "product", not the "release" version.)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    27
489c9b5090e2 Initial load
duke
parents:
diff changeset
    28
# Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
    29
OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    30
OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@))
489c9b5090e2 Initial load
duke
parents:
diff changeset
    31
489c9b5090e2 Initial load
duke
parents:
diff changeset
    32
# Workaround for a bug in dtrace.  If ciEnv::post_compiled_method_load_event()
489c9b5090e2 Initial load
duke
parents:
diff changeset
    33
# is inlined, the resulting dtrace object file needs a reference to this
489c9b5090e2 Initial load
duke
parents:
diff changeset
    34
# function, whose symbol name is too long for dtrace.  So disable inlining
489c9b5090e2 Initial load
duke
parents:
diff changeset
    35
# for this method for now. (fix this when dtrace bug 6258412 is fixed)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    36
ifndef USE_GCC
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
OPT_CFLAGS/ciEnv.o = $(OPT_CFLAGS) -xinline=no%__1cFciEnvbFpost_compiled_method_load_event6MpnHnmethod__v_
489c9b5090e2 Initial load
duke
parents:
diff changeset
    38
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    39
489c9b5090e2 Initial load
duke
parents:
diff changeset
    40
# (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files)
584
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    41
ifeq ("${Platform_compiler}", "sparcWorks")
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    42
584
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    43
# Problem with SS12 compiler, dtrace doesn't like the .o files  (bug 6693876)
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    44
ifeq ($(COMPILER_REV),5.9)
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    45
  # Not clear this workaround could be skipped in some cases.
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    46
  OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER) -g
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    47
  OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER) -g
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    48
  OPT_CFLAGS/jni.o = $(OPT_CFLAGS/SLOWER) -g
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    49
endif
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    50
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    51
# Workaround SS11 bug 6345274 (all platforms) (Fixed in SS11 patch and SS12)
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    52
ifeq ($(COMPILER_REV),5.8)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    53
OPT_CFLAGS/ciTypeFlow.o = $(OPT_CFLAGS/O2)
584
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    54
endif # COMPILER_REV == 5.8
02175b2b64e6 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 338
diff changeset
    55
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    56
endif # Platform_compiler == sparcWorks
489c9b5090e2 Initial load
duke
parents:
diff changeset
    57
489c9b5090e2 Initial load
duke
parents:
diff changeset
    58
# If you set HOTSPARC_GENERIC=yes, you disable all OPT_CFLAGS settings
489c9b5090e2 Initial load
duke
parents:
diff changeset
    59
CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    60
# Set the environment variable HOTSPARC_GENERIC to "true"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    61
# to inhibit the effect of the previous line on CFLAGS.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    62
489c9b5090e2 Initial load
duke
parents:
diff changeset
    63
# Linker mapfiles
489c9b5090e2 Initial load
duke
parents:
diff changeset
    64
# NOTE: inclusion of nonproduct mapfile not necessary; read it for details
489c9b5090e2 Initial load
duke
parents:
diff changeset
    65
ifdef USE_GCC
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
    66
MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    67
else
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
    68
MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers \
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
    69
          $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-nonproduct
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    70
489c9b5090e2 Initial load
duke
parents:
diff changeset
    71
# This mapfile is only needed when compiling with dtrace support, 
489c9b5090e2 Initial load
duke
parents:
diff changeset
    72
# and mustn't be otherwise.
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
    73
MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    74
338
5cf9f61d76f4 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 1
diff changeset
    75
REORDERFILE = $(GAMMADIR)/make/solaris/makefiles/reorder_$(TYPE)_$(BUILDARCH)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    76
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    77
489c9b5090e2 Initial load
duke
parents:
diff changeset
    78
# Don't strip in VM build; JDK build will strip libraries later
489c9b5090e2 Initial load
duke
parents:
diff changeset
    79
# LINK_LIB.CC/POST_HOOK += $(STRIP_LIB.CC/POST_HOOK)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    80
489c9b5090e2 Initial load
duke
parents:
diff changeset
    81
G_SUFFIX =
489c9b5090e2 Initial load
duke
parents:
diff changeset
    82
SYSDEFS += -DPRODUCT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    83
SYSDEFS += $(REORDER_FLAG)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    84
VERSION = optimized