annotate make/solaris/makefiles/launcher.make @ 6725:da91efe96a93

6964458: Reimplement class meta-data storage to use native memory Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author coleenp
date Sat, 01 Sep 2012 13:25:18 -0400
parents 719f7007c8e8
children 37518f191ddb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 4891
diff changeset
2 # Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 #
a61af66fc99e Initial load
duke
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 #
a61af66fc99e Initial load
duke
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 #
a61af66fc99e Initial load
duke
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 #
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1547
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1547
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1547
diff changeset
21 # questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
22 #
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24
a61af66fc99e Initial load
duke
parents:
diff changeset
25 # Rules to build gamma launcher, used by vm.make
a61af66fc99e Initial load
duke
parents:
diff changeset
26
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
27 LAUNCHER_SCRIPT = hotspot
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 196
diff changeset
28 LAUNCHER = gamma
0
a61af66fc99e Initial load
duke
parents:
diff changeset
29
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
30 LAUNCHERDIR = $(GAMMADIR)/src/os/posix/launcher
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
31 LAUNCHERDIR_SHARE := $(GAMMADIR)/src/share/tools/launcher
0
a61af66fc99e Initial load
duke
parents:
diff changeset
32 LAUNCHERFLAGS = $(ARCHFLAG) \
a61af66fc99e Initial load
duke
parents:
diff changeset
33 -I$(LAUNCHERDIR) -I$(GAMMADIR)/src/share/vm/prims \
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
34 -I$(LAUNCHERDIR_SHARE) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
35 -DFULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
36 -DJDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
37 -DJDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
38 -DARCH=\"$(LIBARCH)\" \
a61af66fc99e Initial load
duke
parents:
diff changeset
39 -DGAMMA \
a61af66fc99e Initial load
duke
parents:
diff changeset
40 -DLAUNCHER_TYPE=\"gamma\" \
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
41 -DLINK_INTO_$(LINK_INTO) \
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
42 $(TARGET_DEFINES)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
43
a61af66fc99e Initial load
duke
parents:
diff changeset
44 ifeq ($(LINK_INTO),AOUT)
a61af66fc99e Initial load
duke
parents:
diff changeset
45 LAUNCHER.o = launcher.o $(JVM_OBJ_FILES)
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 4891
diff changeset
46 LAUNCHER_MAPFILE = mapfile_extended
0
a61af66fc99e Initial load
duke
parents:
diff changeset
47 LFLAGS_LAUNCHER$(LDNOMAP) += $(MAPFLAG:FILENAME=$(LAUNCHER_MAPFILE))
a61af66fc99e Initial load
duke
parents:
diff changeset
48 LIBS_LAUNCHER += $(LIBS)
a61af66fc99e Initial load
duke
parents:
diff changeset
49 else
a61af66fc99e Initial load
duke
parents:
diff changeset
50 LAUNCHER.o = launcher.o
a61af66fc99e Initial load
duke
parents:
diff changeset
51 LFLAGS_LAUNCHER += -L `pwd`
a61af66fc99e Initial load
duke
parents:
diff changeset
52 LIBS_LAUNCHER += -l$(JVM) $(LIBS)
a61af66fc99e Initial load
duke
parents:
diff changeset
53 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
54
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 1985
diff changeset
55 LINK_LAUNCHER = $(LINK.CXX)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
56
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 1985
diff changeset
57 LINK_LAUNCHER/PRE_HOOK = $(LINK_LIB.CXX/PRE_HOOK)
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 1985
diff changeset
58 LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CXX/POST_HOOK)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
59
a61af66fc99e Initial load
duke
parents:
diff changeset
60 ifeq ("${Platform_compiler}", "sparcWorks")
a61af66fc99e Initial load
duke
parents:
diff changeset
61 # Enable the following LAUNCHERFLAGS addition if you need to compare the
a61af66fc99e Initial load
duke
parents:
diff changeset
62 # built ELF objects.
a61af66fc99e Initial load
duke
parents:
diff changeset
63 #
a61af66fc99e Initial load
duke
parents:
diff changeset
64 # The -g option makes static data global and the "-W0,-noglobal"
a61af66fc99e Initial load
duke
parents:
diff changeset
65 # option tells the compiler to not globalize static data using a unique
a61af66fc99e Initial load
duke
parents:
diff changeset
66 # globalization prefix. Instead force the use of a static globalization
a61af66fc99e Initial load
duke
parents:
diff changeset
67 # prefix based on the source filepath so the objects from two identical
a61af66fc99e Initial load
duke
parents:
diff changeset
68 # compilations are the same.
a61af66fc99e Initial load
duke
parents:
diff changeset
69 #
a61af66fc99e Initial load
duke
parents:
diff changeset
70 # Note: The blog says to use "-W0,-xglobalstatic", but that doesn't
a61af66fc99e Initial load
duke
parents:
diff changeset
71 # seem to work. I got "-W0,-noglobal" from Kelly and that works.
a61af66fc99e Initial load
duke
parents:
diff changeset
72 #LAUNCHERFLAGS += -W0,-noglobal
a61af66fc99e Initial load
duke
parents:
diff changeset
73 endif # Platform_compiler == sparcWorks
a61af66fc99e Initial load
duke
parents:
diff changeset
74
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
75 LAUNCHER_OUT = launcher
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
76
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
77 SUFFIXES += .d
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
78
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
79 SOURCES := $(shell find $(LAUNCHERDIR) -name "*.c")
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
80 SOURCES_SHARE := $(shell find $(LAUNCHERDIR_SHARE) -name "*.c")
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
81
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
82 OBJS := $(patsubst $(LAUNCHERDIR)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES)) $(patsubst $(LAUNCHERDIR_SHARE)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES_SHARE))
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
83
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
84 DEPFILES := $(patsubst %.o,%.d,$(OBJS))
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
85 -include $(DEPFILES)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
86
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
87 $(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
88 $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 1985
diff changeset
89 $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
90
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
91 $(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
92 $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 1985
diff changeset
93 $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
94
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
95 $(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
1547
fb1a39993f69 6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents: 1123
diff changeset
96 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
97 $(QUIETLY) echo Linking launcher...
1547
fb1a39993f69 6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents: 1123
diff changeset
98 $(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK)
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
99 $(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(OBJS) $(LIBS_LAUNCHER)
1547
fb1a39993f69 6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents: 1123
diff changeset
100 $(QUIETLY) $(LINK_LAUNCHER/POST_HOOK)
fb1a39993f69 6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents: 1123
diff changeset
101 endif # filter -sbfast -xsbfast
fb1a39993f69 6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents: 1123
diff changeset
102
1985
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
103 $(LAUNCHER): $(LAUNCHER_SCRIPT)
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
104
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
105 $(LAUNCHER_SCRIPT): $(LAUNCHERDIR)/launcher.script
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
106 $(QUIETLY) sed -e 's/@@LIBARCH@@/$(LIBARCH)/g' $< > $@
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
107 $(QUIETLY) chmod +x $@
cb2d0a362639 6981484: Update development launcher
sla
parents: 1972
diff changeset
108