23 # questions.
24 #
25
26 ifndef _MODULES_GMK
27 _MODULES_GMK := 1
28
29 ################################################################################
30 #
31 # BOOT_MODULES are modules defined by the boot loader
32 # PLATFORM_MODULES are modules defined by the platform loader
33 # JRE_TOOL_MODULES are tools included in JRE and defined by the application loader
34 #
35 # All other modules not declared below are defined by the application loader
36 # and are not included in JRE.
37
38 BOOT_MODULES :=
39 PLATFORM_MODULES :=
40 JRE_TOOL_MODULES :=
41 UPGRADEABLE_MODULES :=
42 AGGREGATOR_MODULES :=
43
44 # Hook to include the corresponding custom file, if present.
45 $(eval $(call IncludeCustomExtension, , common/Modules.gmk))
46
47 BOOT_MODULES += \
48 java.base \
49 java.datatransfer \
50 java.desktop \
51 java.instrument \
52 java.logging \
53 java.management \
54 java.management.rmi \
55 java.naming \
56 java.prefs \
57 java.rmi \
58 java.security.sasl \
59 java.xml \
60 jdk.httpserver \
61 jdk.management \
62 jdk.management.agent \
63 jdk.net \
64 jdk.sctp \
65 jdk.unsupported \
66 jdk.internal.vm.ci \
67 #
68
69 # to be deprivileged
70 BOOT_MODULES += \
71 jdk.naming.rmi \
72 #
73
74 UPGRADEABLE_MODULES += \
75 java.activation \
76 java.corba \
77 java.transaction \
78 java.xml.bind \
79 java.xml.ws \
80 java.xml.ws.annotation \
81 #
82
83 # Modules explicitly declared as not being upgradeable even though they require
84 # an upgradeable module.
85 NON_UPGRADEABLE_MODULES +=
86
87 AGGREGATOR_MODULES += \
88 java.se \
89 java.se.ee \
90 #
91
92 PLATFORM_MODULES += \
93 $(UPGRADEABLE_MODULES) \
94 $(AGGREGATOR_MODULES)
95 #
96
97 PLATFORM_MODULES += \
98 java.compiler \
99 jdk.incubator.httpclient \
100 java.scripting \
101 java.security.jgss \
102 java.smartcardio \
103 java.sql \
104 java.sql.rowset \
105 java.xml.crypto \
106 jdk.accessibility \
107 jdk.charsets \
108 jdk.crypto.ec \
109 jdk.crypto.cryptoki \
110 jdk.dynalink \
111 jdk.jsobject \
112 jdk.localedata \
113 jdk.naming.dns \
114 jdk.scripting.nashorn \
115 jdk.security.auth \
116 jdk.security.jgss \
117 jdk.internal.vm.compiler \
118 jdk.xml.dom \
119 jdk.zipfs \
120 #
121
122 JRE_TOOL_MODULES += \
123 jdk.jdwp.agent \
124 jdk.pack \
125 jdk.scripting.nashorn.shell \
126 #
127
128 ifeq ($(OPENJDK_TARGET_OS), windows)
129 PLATFORM_MODULES += jdk.crypto.mscapi
130 endif
131 ifeq ($(OPENJDK_TARGET_OS), solaris)
132 PLATFORM_MODULES += jdk.crypto.ucrypto
133 endif
134
135 # These modules are included in the interim image which is used to run profiling
136 # before building the real images.
137 INTERIM_IMAGE_MODULES := java.base java.logging
138
139 ################################################################################
140 # Some platforms don't have the serviceability agent
141
142 ifeq ($(INCLUDE_SA), false)
143 MODULES_FILTER += jdk.hotspot.agent
144 endif
145
146 ################################################################################
147 # Filter out Graal specific modules if Graal build is disabled
148
149 ifeq ($(INCLUDE_GRAAL), false)
150 MODULES_FILTER += jdk.internal.vm.compiler
151 endif
152
153 ################################################################################
154 # Filter out aot specific modules if aot is disabled
312 ################################################################################
313
314 # Param 1 - Name of module
315 define ReadSingleImportMetaData
316 ifneq ($$(wildcard $(IMPORT_MODULES_MAKE)/$$(strip $1)/build.properties), )
317 classloader :=
318 include_in_jre :=
319 include_in_jdk :=
320 include $(IMPORT_MODULES_MAKE)/$$(strip $1)/build.properties
321 ifeq ($$(include_in_jre), true)
322 JRE_MODULES += $1
323 endif
324 ifeq ($$(include_in_jdk), true)
325 JDK_MODULES += $1
326 endif
327 ifeq ($$(classloader), boot)
328 BOOT_MODULES += $1
329 else ifeq ($$(classloader), ext)
330 PLATFORM_MODULES += $1
331 endif
332 else
333 # Default to include in all
334 JRE_MODULES += $1
335 JDK_MODULES += $1
336 endif
337 endef
338
339 # Reading the imported modules metadata has a cost, so to make it available,
340 # a makefile needs to eval-call this macro first. After calling this, the
341 # following variables are populated with data from the imported modules:
342 # * JRE_MODULES
343 # * JDK_MODULES
344 # * BOOT_MODULES
345 # * PLATFORM_MODULES
346 # * JRE_TOOL_MODULES
347 define ReadImportMetaData
348 IMPORTED_MODULES := $$(call FindImportedModules)
349 $$(foreach m, $$(IMPORTED_MODULES), \
350 $$(eval $$(call ReadSingleImportMetaData, $$m)))
351 endef
|
23 # questions.
24 #
25
26 ifndef _MODULES_GMK
27 _MODULES_GMK := 1
28
29 ################################################################################
30 #
31 # BOOT_MODULES are modules defined by the boot loader
32 # PLATFORM_MODULES are modules defined by the platform loader
33 # JRE_TOOL_MODULES are tools included in JRE and defined by the application loader
34 #
35 # All other modules not declared below are defined by the application loader
36 # and are not included in JRE.
37
38 BOOT_MODULES :=
39 PLATFORM_MODULES :=
40 JRE_TOOL_MODULES :=
41 UPGRADEABLE_MODULES :=
42 AGGREGATOR_MODULES :=
43 DOCS_MODULES :=
44
45 # Hook to include the corresponding custom file, if present.
46 $(eval $(call IncludeCustomExtension, , common/Modules.gmk))
47
48 BOOT_MODULES += \
49 java.base \
50 java.datatransfer \
51 java.desktop \
52 java.instrument \
53 java.logging \
54 java.management \
55 java.management.rmi \
56 java.naming \
57 java.prefs \
58 java.rmi \
59 java.security.sasl \
60 java.xml \
61 jdk.httpserver \
62 jdk.internal.vm.ci \
63 jdk.management \
64 jdk.management.agent \
65 jdk.net \
66 jdk.sctp \
67 jdk.unsupported \
68 #
69
70 # to be deprivileged
71 BOOT_MODULES += \
72 jdk.naming.rmi \
73 #
74
75 UPGRADEABLE_MODULES += \
76 java.activation \
77 java.corba \
78 java.transaction \
79 java.xml.bind \
80 java.xml.ws \
81 java.xml.ws.annotation \
82 #
83
84 # Modules explicitly declared as not being upgradeable even though they require
85 # an upgradeable module.
86 NON_UPGRADEABLE_MODULES +=
87
88 AGGREGATOR_MODULES += \
89 java.se \
90 java.se.ee \
91 #
92
93 PLATFORM_MODULES += \
94 $(UPGRADEABLE_MODULES) \
95 $(AGGREGATOR_MODULES)
96 #
97
98 PLATFORM_MODULES += \
99 java.compiler \
100 java.scripting \
101 java.security.jgss \
102 java.smartcardio \
103 java.sql \
104 java.sql.rowset \
105 java.xml.crypto \
106 jdk.accessibility \
107 jdk.charsets \
108 jdk.crypto.cryptoki \
109 jdk.crypto.ec \
110 jdk.dynalink \
111 jdk.incubator.httpclient \
112 jdk.internal.vm.compiler \
113 jdk.jsobject \
114 jdk.localedata \
115 jdk.naming.dns \
116 jdk.scripting.nashorn \
117 jdk.security.auth \
118 jdk.security.jgss \
119 jdk.xml.dom \
120 jdk.zipfs \
121 #
122
123 ifeq ($(OPENJDK_TARGET_OS), windows)
124 PLATFORM_MODULES += jdk.crypto.mscapi
125 endif
126
127 ifeq ($(OPENJDK_TARGET_OS), solaris)
128 PLATFORM_MODULES += jdk.crypto.ucrypto
129 endif
130
131 JRE_TOOL_MODULES += \
132 jdk.jdwp.agent \
133 jdk.pack \
134 jdk.scripting.nashorn.shell \
135 #
136
137 ################################################################################
138
139 # DOCS_MODULES defines the root modules for javadoc generation.
140 # All of their `require transitive` modules directly and indirectly will be included.
141 DOCS_MODULES += \
142 java.se.ee \
143 java.smartcardio \
144 jdk.accessibility \
145 jdk.attach \
146 jdk.charsets \
147 jdk.compiler \
148 jdk.crypto.cryptoki \
149 jdk.crypto.ec \
150 jdk.dynalink \
151 jdk.editpad \
152 jdk.httpserver \
153 jdk.incubator.httpclient \
154 jdk.jartool \
155 jdk.javadoc \
156 jdk.jconsole \
157 jdk.jdeps \
158 jdk.jdi \
159 jdk.jlink \
160 jdk.jshell \
161 jdk.localedata \
162 jdk.management \
163 jdk.naming.dns \
164 jdk.naming.rmi \
165 jdk.net \
166 jdk.scripting.nashorn \
167 jdk.sctp \
168 jdk.security.auth \
169 jdk.security.jgss \
170 jdk.xml.dom \
171 jdk.zipfs \
172 #
173
174 # These modules are included in the interim image which is used to run profiling
175 # before building the real images.
176 INTERIM_IMAGE_MODULES := java.base java.logging
177
178 ################################################################################
179 # Some platforms don't have the serviceability agent
180
181 ifeq ($(INCLUDE_SA), false)
182 MODULES_FILTER += jdk.hotspot.agent
183 endif
184
185 ################################################################################
186 # Filter out Graal specific modules if Graal build is disabled
187
188 ifeq ($(INCLUDE_GRAAL), false)
189 MODULES_FILTER += jdk.internal.vm.compiler
190 endif
191
192 ################################################################################
193 # Filter out aot specific modules if aot is disabled
351 ################################################################################
352
353 # Param 1 - Name of module
354 define ReadSingleImportMetaData
355 ifneq ($$(wildcard $(IMPORT_MODULES_MAKE)/$$(strip $1)/build.properties), )
356 classloader :=
357 include_in_jre :=
358 include_in_jdk :=
359 include $(IMPORT_MODULES_MAKE)/$$(strip $1)/build.properties
360 ifeq ($$(include_in_jre), true)
361 JRE_MODULES += $1
362 endif
363 ifeq ($$(include_in_jdk), true)
364 JDK_MODULES += $1
365 endif
366 ifeq ($$(classloader), boot)
367 BOOT_MODULES += $1
368 else ifeq ($$(classloader), ext)
369 PLATFORM_MODULES += $1
370 endif
371 DOCS_MODULES += $1
372 else
373 # Default to include in all
374 JRE_MODULES += $1
375 JDK_MODULES += $1
376 endif
377 endef
378
379 # Reading the imported modules metadata has a cost, so to make it available,
380 # a makefile needs to eval-call this macro first. After calling this, the
381 # following variables are populated with data from the imported modules:
382 # * JRE_MODULES
383 # * JDK_MODULES
384 # * BOOT_MODULES
385 # * PLATFORM_MODULES
386 # * JRE_TOOL_MODULES
387 define ReadImportMetaData
388 IMPORTED_MODULES := $$(call FindImportedModules)
389 $$(foreach m, $$(IMPORTED_MODULES), \
390 $$(eval $$(call ReadSingleImportMetaData, $$m)))
391 endef
|