comparison make/jvmci.make @ 22758:a130b51efb07

removed @Option mechanism from JVMCI (GRAAL-1371)
author Doug Simon <doug.simon@oracle.com>
date Mon, 21 Dec 2015 15:53:56 +0100
parents 57646377e480
children 577a4a8caa72
comparison
equal deleted inserted replaced
22757:f4c4cc22a31c 22758:a130b51efb07
42 $(eval vmconfig := $(1)/hotspot/HotSpotVMConfig.inline.hpp) 42 $(eval vmconfig := $(1)/hotspot/HotSpotVMConfig.inline.hpp)
43 $(eval vmconfigDest := $(HS_COMMON_SRC)/../mxbuild/jvmci/jdk.vm.ci.hotspot/src_gen/hotspot) 43 $(eval vmconfigDest := $(HS_COMMON_SRC)/../mxbuild/jvmci/jdk.vm.ci.hotspot/src_gen/hotspot)
44 $(QUIETLY) test ! -f $(vmconfig) || (mkdir -p $(vmconfigDest) && cp $(vmconfig) $(vmconfigDest)) 44 $(QUIETLY) test ! -f $(vmconfig) || (mkdir -p $(vmconfigDest) && cp $(vmconfig) $(vmconfigDest))
45 endef 45 endef
46 46
47 # Finds the *_OptionsDescriptors classes created by OptionProcessor (the processor for the @Option annotation)
48 # and appends their names to services/jdk.vm.ci.options.OptionDescriptors.
49 # Arguments:
50 # 1: directory with contents of the JAR file
51 define process_options
52 $(eval services := $(1)/META-INF/services)
53 $(QUIETLY) test -d $(services) || mkdir -p $(services)
54 $(eval optionDescriptors := $(1)/META-INF/services/jdk.vm.ci.options.OptionDescriptors)
55 $(QUIETLY) cd $(1) && for i in $$(find . -name '*_OptionDescriptors.class' 2>/dev/null); do echo $${i} | sed 's:\./\(.*\)\.class:\1:g' | tr '/' '.' >> $(abspath $(optionDescriptors)); done
56 endef
57
58 # Extracts META-INF/jvmci.services from a JAR file into a given directory 47 # Extracts META-INF/jvmci.services from a JAR file into a given directory
59 # Arguments: 48 # Arguments:
60 # 1: JAR file to extract 49 # 1: JAR file to extract
61 # 2: target directory (which already exists) 50 # 2: target directory (which already exists)
62 define extract 51 define extract
76 define build_and_jar 65 define build_and_jar
77 $(info Building $(4)) 66 $(info Building $(4))
78 $(eval TMP := $(shell mkdir -p $(TARGET) && mktemp -d $(TARGET)/tmp_XXXXX)) 67 $(eval TMP := $(shell mkdir -p $(TARGET) && mktemp -d $(TARGET)/tmp_XXXXX))
79 $(QUIETLY) $(JAVAC) -d $(TMP) -processorpath :$(1) -bootclasspath $(JDK_BOOTCLASSPATH) -cp :$(2) $(filter %.java,$^) 68 $(QUIETLY) $(JAVAC) -d $(TMP) -processorpath :$(1) -bootclasspath $(JDK_BOOTCLASSPATH) -cp :$(2) $(filter %.java,$^)
80 $(QUIETLY) test "$(3)" = "" || cp -r $(3) $(TMP) 69 $(QUIETLY) test "$(3)" = "" || cp -r $(3) $(TMP)
81 $(QUIETLY) $(call process_options,$(TMP))
82 $(QUIETLY) $(call process_providers,$(TMP)) 70 $(QUIETLY) $(call process_providers,$(TMP))
83 $(QUIETLY) mkdir -p $(shell dirname $(4)) 71 $(QUIETLY) mkdir -p $(shell dirname $(4))
84 $(QUIETLY) $(JAR) -0cf $(4) -C $(TMP) . 72 $(QUIETLY) $(JAR) -0cf $(4) -C $(TMP) .
85 $(QUIETLY) rm -r $(TMP) 73 $(QUIETLY) rm -r $(TMP)
86 endef 74 endef
123 111
124 JVMCI_SERVICE_JAR = $(TARGET)/jvmci-service.jar 112 JVMCI_SERVICE_JAR = $(TARGET)/jvmci-service.jar
125 113
126 EXPORTED_FILES += $(JVMCI_SERVICE_JAR) 114 EXPORTED_FILES += $(JVMCI_SERVICE_JAR)
127 115
128 JVMCI_OPTIONS_SRC += $(shell find jvmci/jdk.vm.ci.inittimer/src -type f 2> /dev/null) 116 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.inittimer/src -type f 2> /dev/null)
129 JVMCI_OPTIONS_SRC += $(shell find jvmci/jdk.vm.ci.options/src -type f 2> /dev/null)
130
131 JVMCI_OPTIONS_JAR = $(TARGET)/jvmci-options.jar
132
133 EXPORTED_FILES += $(JVMCI_OPTIONS_JAR)
134
135 JVMCI_OPTIONS_PROCESSOR_SRC += $(shell find jvmci/jdk.vm.ci.options.processor/src -type f 2> /dev/null)
136
137 JVMCI_OPTIONS_PROCESSOR_JAR = $(TARGET)/jvmci-options-processor.jar
138
139 JVMCI_OPTIONS_PROCESSOR_DEP_JARS = $(TARGET)/jvmci-options.jar
140
141 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.meta/src -type f 2> /dev/null) 117 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.meta/src -type f 2> /dev/null)
142 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.code/src -type f 2> /dev/null) 118 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.code/src -type f 2> /dev/null)
143 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.runtime/src -type f 2> /dev/null) 119 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.runtime/src -type f 2> /dev/null)
144 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.common/src -type f 2> /dev/null) 120 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.common/src -type f 2> /dev/null)
145 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.amd64/src -type f 2> /dev/null) 121 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.amd64/src -type f 2> /dev/null)
146 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.sparc/src -type f 2> /dev/null) 122 JVMCI_API_SRC += $(shell find jvmci/jdk.vm.ci.sparc/src -type f 2> /dev/null)
147 123
148 JVMCI_API_JAR = $(TARGET)/jvmci-api.jar 124 JVMCI_API_JAR = $(TARGET)/jvmci-api.jar
149 125
150 JVMCI_API_DEP_JARS = $(TARGET)/jvmci-options.jar $(TARGET)/jvmci-service.jar 126 JVMCI_API_DEP_JARS = $(TARGET)/jvmci-service.jar
151 127
152 EXPORTED_FILES += $(JVMCI_API_JAR) 128 EXPORTED_FILES += $(JVMCI_API_JAR)
153 129
154 JVMCI_SERVICE_PROCESSOR_SRC += $(shell find jvmci/jdk.vm.ci.service.processor/src -type f 2> /dev/null) 130 JVMCI_SERVICE_PROCESSOR_SRC += $(shell find jvmci/jdk.vm.ci.service.processor/src -type f 2> /dev/null)
155 131
165 141
166 JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC += $(shell find jvmci/jdk.vm.ci.hotspotvmconfig.processor/src -type f 2> /dev/null) 142 JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC += $(shell find jvmci/jdk.vm.ci.hotspotvmconfig.processor/src -type f 2> /dev/null)
167 143
168 JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR = $(TARGET)/jvmci-hotspotvmconfig-processor.jar 144 JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR = $(TARGET)/jvmci-hotspotvmconfig-processor.jar
169 145
170 JVMCI_HOTSPOTVMCONFIG_PROCESSOR_DEP_JARS = $(TARGET)/jvmci-options.jar $(TARGET)/jvmci-service.jar $(TARGET)/jvmci-api.jar $(TARGET)/jvmci-hotspotvmconfig.jar 146 JVMCI_HOTSPOTVMCONFIG_PROCESSOR_DEP_JARS = $(TARGET)/jvmci-service.jar $(TARGET)/jvmci-api.jar $(TARGET)/jvmci-hotspotvmconfig.jar
171 147
172 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.vm.ci.hotspot/src -type f 2> /dev/null) 148 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.vm.ci.hotspot/src -type f 2> /dev/null)
173 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.vm.ci.hotspot.amd64/src -type f 2> /dev/null) 149 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.vm.ci.hotspot.amd64/src -type f 2> /dev/null)
174 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.vm.ci.hotspot.sparc/src -type f 2> /dev/null) 150 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.vm.ci.hotspot.sparc/src -type f 2> /dev/null)
175 ifeq ($(shell find $(ABS_BOOTDIR)/ -name 'jfr.jar'; echo $$?),'0') 151 ifeq ($(shell find $(ABS_BOOTDIR)/ -name 'jfr.jar'; echo $$?),'0')
176 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.vm.ci.hotspot.jfr/src -type f 2> /dev/null) 152 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.vm.ci.hotspot.jfr/src -type f 2> /dev/null)
177 endif 153 endif
178 154
179 JVMCI_HOTSPOT_JAR = $(TARGET)/jvmci-hotspot.jar 155 JVMCI_HOTSPOT_JAR = $(TARGET)/jvmci-hotspot.jar
180 156
181 JVMCI_HOTSPOT_DEP_JARS = $(TARGET)/jvmci-hotspotvmconfig.jar $(TARGET)/jvmci-service.jar $(TARGET)/jvmci-options.jar $(TARGET)/jvmci-api.jar 157 JVMCI_HOTSPOT_DEP_JARS = $(TARGET)/jvmci-hotspotvmconfig.jar $(TARGET)/jvmci-service.jar $(TARGET)/jvmci-api.jar
182 158
183 EXPORTED_FILES += $(JVMCI_HOTSPOT_JAR) 159 EXPORTED_FILES += $(JVMCI_HOTSPOT_JAR)
184 160
185 DISTRIBUTIONS = JVMCI_SERVICE JVMCI_OPTIONS JVMCI_OPTIONS_PROCESSOR JVMCI_API JVMCI_SERVICE_PROCESSOR JVMCI_HOTSPOTVMCONFIG JVMCI_HOTSPOTVMCONFIG_PROCESSOR JVMCI_HOTSPOT 161 DISTRIBUTIONS = JVMCI_SERVICE JVMCI_API JVMCI_SERVICE_PROCESSOR JVMCI_HOTSPOTVMCONFIG JVMCI_HOTSPOTVMCONFIG_PROCESSOR JVMCI_HOTSPOT
186 162
187 $(JVMCI_SERVICE_JAR): $(JVMCI_SERVICE_SRC) 163 $(JVMCI_SERVICE_JAR): $(JVMCI_SERVICE_SRC)
188 $(call build_and_jar,,$(subst $(space),:,),,$(JVMCI_SERVICE_JAR)) 164 $(call build_and_jar,,$(subst $(space),:,),,$(JVMCI_SERVICE_JAR))
189 165
190 166
191 $(JVMCI_OPTIONS_JAR): $(JVMCI_OPTIONS_SRC) 167 $(JVMCI_API_JAR): $(JVMCI_API_SRC) $(JVMCI_API_DEP_JARS)
192 $(call build_and_jar,,$(subst $(space),:,),,$(JVMCI_OPTIONS_JAR)) 168 $(call build_and_jar,,$(subst $(space),:,$(JVMCI_API_DEP_JARS)),,$(JVMCI_API_JAR))
193
194
195 $(JVMCI_OPTIONS_PROCESSOR_JAR): $(JVMCI_OPTIONS_PROCESSOR_SRC) $(JVMCI_OPTIONS_PROCESSOR_DEP_JARS)
196 $(call build_and_jar,,$(subst $(space),:,$(JVMCI_OPTIONS_PROCESSOR_DEP_JARS)),jvmci/jdk.vm.ci.options.processor/src/META-INF,$(JVMCI_OPTIONS_PROCESSOR_JAR))
197
198
199 $(JVMCI_API_JAR): $(JVMCI_API_SRC) $(JVMCI_OPTIONS_PROCESSOR_JAR) $(JVMCI_API_DEP_JARS)
200 $(call build_and_jar,$(JVMCI_OPTIONS_PROCESSOR_JAR):$(subst $(space),:,$(JVMCI_OPTIONS_PROCESSOR_DEP_JARS)),$(subst $(space),:,$(JVMCI_API_DEP_JARS)),,$(JVMCI_API_JAR))
201 169
202 170
203 $(JVMCI_SERVICE_PROCESSOR_JAR): $(JVMCI_SERVICE_PROCESSOR_SRC) $(JVMCI_SERVICE_PROCESSOR_DEP_JARS) 171 $(JVMCI_SERVICE_PROCESSOR_JAR): $(JVMCI_SERVICE_PROCESSOR_SRC) $(JVMCI_SERVICE_PROCESSOR_DEP_JARS)
204 $(call build_and_jar,,$(subst $(space),:,$(JVMCI_SERVICE_PROCESSOR_DEP_JARS)),jvmci/jdk.vm.ci.service.processor/src/META-INF,$(JVMCI_SERVICE_PROCESSOR_JAR)) 172 $(call build_and_jar,,$(subst $(space),:,$(JVMCI_SERVICE_PROCESSOR_DEP_JARS)),jvmci/jdk.vm.ci.service.processor/src/META-INF,$(JVMCI_SERVICE_PROCESSOR_JAR))
205 173
210 178
211 $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR): $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC) $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_DEP_JARS) 179 $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR): $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC) $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_DEP_JARS)
212 $(call build_and_jar,,$(subst $(space),:,$(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_DEP_JARS)),jvmci/jdk.vm.ci.hotspotvmconfig.processor/src/META-INF,$(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR)) 180 $(call build_and_jar,,$(subst $(space),:,$(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_DEP_JARS)),jvmci/jdk.vm.ci.hotspotvmconfig.processor/src/META-INF,$(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR))
213 181
214 182
215 $(JVMCI_HOTSPOT_JAR): $(JVMCI_HOTSPOT_SRC) $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR) $(JVMCI_OPTIONS_PROCESSOR_JAR) $(JVMCI_SERVICE_PROCESSOR_JAR) $(JVMCI_HOTSPOT_DEP_JARS) 183 $(JVMCI_HOTSPOT_JAR): $(JVMCI_HOTSPOT_SRC) $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR) $(JVMCI_SERVICE_PROCESSOR_JAR) $(JVMCI_HOTSPOT_DEP_JARS)
216 $(call build_and_jar,$(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR):$(JVMCI_OPTIONS_PROCESSOR_JAR):$(JVMCI_SERVICE_PROCESSOR_JAR):$(subst $(space),:,$(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_DEP_JARS)):$(subst $(space),:,$(JVMCI_OPTIONS_PROCESSOR_DEP_JARS)):$(subst $(space),:,$(JVMCI_SERVICE_PROCESSOR_DEP_JARS)),$(subst $(space),:,$(JVMCI_HOTSPOT_DEP_JARS)),,$(JVMCI_HOTSPOT_JAR)) 184 $(call build_and_jar,$(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR):$(JVMCI_SERVICE_PROCESSOR_JAR):$(subst $(space),:,$(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_DEP_JARS)):$(subst $(space),:,$(JVMCI_SERVICE_PROCESSOR_DEP_JARS)),$(subst $(space),:,$(JVMCI_HOTSPOT_DEP_JARS)),,$(JVMCI_HOTSPOT_JAR))
217 185
218 186
219 default: $(JVMCI_SERVICE_JAR) $(JVMCI_API_JAR) $(JVMCI_HOTSPOT_JAR) $(JVMCI_HOTSPOTVMCONFIG_JAR) $(JVMCI_OPTIONS_JAR) 187 default: $(JVMCI_SERVICE_JAR) $(JVMCI_API_JAR) $(JVMCI_HOTSPOT_JAR) $(JVMCI_HOTSPOTVMCONFIG_JAR)
220 .PHONY: default 188 .PHONY: default