1 # 2 # Copyright (c) 2011, 2013, 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 23 # questions. 24 # 25 26 include $(SPEC) 27 include MakeBase.gmk 28 include JavaCompilation.gmk 29 include Setup.gmk 30 31 default: all 32 33 # Prepare the find cache. Only used if running on windows. 34 $(eval $(call FillCacheFind,$(JDK_OUTPUTDIR)/classes)) 35 36 include Tools.gmk 37 38 include Profiles.gmk 39 40 # 41 # This makefile...so that altering will trigger rebuilding include/exclude-lists => jars 42 # 43 MAKEFILE=$(JDK_TOPDIR)/makefiles/CreateJars.gmk 44 # 45 # And similarly for the Profiles 46 PROFILE_MAKEFILES=$(JDK_TOPDIR)/makefiles/Profiles.gmk $(JDK_TOPDIR)/makefiles/profile-rtjar-includes.txt 47 48 MAINMANIFEST := $(JDK_TOPDIR)/make/tools/manifest.mf 49 BEANMANIFEST := $(JDK_TOPDIR)/make/javax/swing/beaninfo/manifest 50 51 $(eval $(call MakeDir,$(IMAGES_OUTPUTDIR)/lib)) 52 53 ########################################################################################## 54 55 $(eval $(call SetupArchive,BUILD_JCONSOLE_JAR,,\ 56 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 57 SUFFIXES:=.class .gif .png .properties,\ 58 INCLUDES:=sun/tools/jconsole com/sun/tools/jconsole,\ 59 JARMAIN:=sun.tools.jconsole.JConsole,\ 60 JAR:=$(IMAGES_OUTPUTDIR)/lib/jconsole.jar,\ 61 SKIP_METAINF:=true)) 62 63 64 ########################################################################################## 65 66 $(eval $(call SetupArchive,BUILD_DNS_JAR,,\ 67 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 68 INCLUDES:=sun/net/spi/nameservice/dns,\ 69 EXTRA_FILES:=META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor,\ 70 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/dnsns.jar,\ 71 SKIP_METAINF:=true)) 72 73 74 ########################################################################################## 75 76 LOCALEDATA_INCLUDE_LOCALES := ar be bg ca cs da de el es et fi fr ga hi hr hu in is it \ 77 iw ja ko lt lv mk ms mt nl no pl pt ro ru sk sl sq sr sv \ 78 th tr uk vi zh 79 80 LOCALEDATA_INCLUDES := $(addprefix sun/text/resources/,$(LOCALEDATA_INCLUDE_LOCALES)) \ 81 $(addprefix sun/util/resources/,$(LOCALEDATA_INCLUDE_LOCALES)) 82 83 # For non-US English locale data 84 85 LOCALEDATA_INCLUDES += \ 86 sun/text/resources/en/FormatData_en_AU.class \ 87 sun/text/resources/en/FormatData_en_CA.class \ 88 sun/text/resources/en/FormatData_en_GB.class \ 89 sun/text/resources/en/FormatData_en_IE.class \ 90 sun/text/resources/en/FormatData_en_IN.class \ 91 sun/text/resources/en/FormatData_en_MT.class \ 92 sun/text/resources/en/FormatData_en_NZ.class \ 93 sun/text/resources/en/FormatData_en_PH.class \ 94 sun/text/resources/en/FormatData_en_SG.class \ 95 sun/text/resources/en/FormatData_en_ZA.class \ 96 sun/util/resources/en/CalendarData_en_GB.class \ 97 sun/util/resources/en/CalendarData_en_IE.class \ 98 sun/util/resources/en/CalendarData_en_MT.class \ 99 sun/util/resources/en/CurrencyNames_en_AU.class \ 100 sun/util/resources/en/CurrencyNames_en_CA.class \ 101 sun/util/resources/en/CurrencyNames_en_GB.class \ 102 sun/util/resources/en/CurrencyNames_en_IE.class \ 103 sun/util/resources/en/CurrencyNames_en_IN.class \ 104 sun/util/resources/en/CurrencyNames_en_MT.class \ 105 sun/util/resources/en/CurrencyNames_en_NZ.class \ 106 sun/util/resources/en/CurrencyNames_en_PH.class \ 107 sun/util/resources/en/CurrencyNames_en_SG.class \ 108 sun/util/resources/en/CurrencyNames_en_ZA.class \ 109 sun/util/resources/en/LocaleNames_en_MT.class \ 110 sun/util/resources/en/LocaleNames_en_PH.class \ 111 sun/util/resources/en/LocaleNames_en_SG.class \ 112 sun/util/resources/en/TimeZoneNames_en_CA.class \ 113 sun/util/resources/en/TimeZoneNames_en_GB.class \ 114 sun/util/resources/en/TimeZoneNames_en_IE.class 115 116 $(eval $(call SetupArchive,BUILD_LOCALEDATA_JAR,,\ 117 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 118 SUFFIXES:=.class _dict _th,\ 119 INCLUDES:=$(LOCALEDATA_INCLUDES),\ 120 EXCLUDES:=sun/text/resources/th/BreakIteratorRules_th.class,\ 121 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/localedata.jar,\ 122 SKIP_METAINF:=true)) 123 124 ########################################################################################## 125 # 126 # Different variants of rt.jar are built based on the current profile. The output 127 # directory is augmented with the profile name so that the final jar file and all the 128 # intermediary list files will be in directory. This has the form lib$PROFILE rather than 129 # lib/$PROFILE so that it won't get copied as part of the image generation process. 130 # Each profile customizes the RT_JAR_EXCLUDES variable. 131 # 132 ########################################################################################## 133 134 # Full JRE exclude list for rt.jar and resources.jar 135 # This value should exclude types destined for jars other than rt.jar and resources.jar. 136 # When building a Profile this value augments the profile specific exclusions 137 RT_JAR_EXCLUDES += \ 138 com/oracle/security \ 139 com/sun/codemodel \ 140 com/sun/crypto/provider \ 141 com/sun/istack/internal/tools \ 142 com/sun/jarsigner \ 143 com/sun/java/accessibility \ 144 com/sun/javadoc \ 145 com/sun/jdi \ 146 com/sun/net/ssl/internal/ssl \ 147 com/sun/source \ 148 com/sun/tools \ 149 com/sun/xml/internal/dtdparser \ 150 com/sun/xml/internal/rngom \ 151 com/sun/xml/internal/xsom \ 152 javax/crypto \ 153 javax/swing/AbstractButtonBeanInfo.class \ 154 javax/swing/beaninfo \ 155 javax/swing/BoxBeanInfo.class \ 156 javax/swing/JAppletBeanInfo.class \ 157 javax/swing/JButtonBeanInfo.class \ 158 javax/swing/JCheckBoxBeanInfo.class \ 159 javax/swing/JCheckBoxMenuItemBeanInfo.class \ 160 javax/swing/JColorChooserBeanInfo.class \ 161 javax/swing/JComboBoxBeanInfo.class \ 162 javax/swing/JComponentBeanInfo.class \ 163 javax/swing/JDesktopPaneBeanInfo.class \ 164 javax/swing/JDialogBeanInfo.class \ 165 javax/swing/JEditorPaneBeanInfo.class \ 166 javax/swing/JFileChooserBeanInfo.class \ 167 javax/swing/JFormattedTextFieldBeanInfo.class \ 168 javax/swing/JFrameBeanInfo.class \ 169 javax/swing/JInternalFrameBeanInfo.class \ 170 javax/swing/JLabelBeanInfo.class \ 171 javax/swing/JLayeredPaneBeanInfo.class \ 172 javax/swing/JListBeanInfo.class \ 173 javax/swing/JMenuBarBeanInfo.class \ 174 javax/swing/JMenuBeanInfo.class \ 175 javax/swing/JMenuItemBeanInfo.class \ 176 javax/swing/JOptionPaneBeanInfo.class \ 177 javax/swing/JPanelBeanInfo.class \ 178 javax/swing/JPasswordFieldBeanInfo.class \ 179 javax/swing/JPopupMenuBeanInfo.class \ 180 javax/swing/JProgressBarBeanInfo.class \ 181 javax/swing/JRadioButtonBeanInfo.class \ 182 javax/swing/JRadioButtonMenuItemBeanInfo.class \ 183 javax/swing/JScrollBarBeanInfo.class \ 184 javax/swing/JScrollPaneBeanInfo.class \ 185 javax/swing/JSeparatorBeanInfo.class \ 186 javax/swing/JSliderBeanInfo.class \ 187 javax/swing/JSpinnerBeanInfo.class \ 188 javax/swing/JSplitPaneBeanInfo.class \ 189 javax/swing/JTabbedPaneBeanInfo.class \ 190 javax/swing/JTableBeanInfo.class \ 191 javax/swing/JTextAreaBeanInfo.class \ 192 javax/swing/JTextFieldBeanInfo.class \ 193 javax/swing/JTextPaneBeanInfo.class \ 194 javax/swing/JToggleButtonBeanInfo.class \ 195 javax/swing/JToolBarBeanInfo.class \ 196 javax/swing/JTreeBeanInfo.class \ 197 javax/swing/JWindowBeanInfo.class \ 198 javax/swing/SwingBeanInfoBase.class \ 199 javax/swing/text/JTextComponentBeanInfo.class \ 200 META-INF/services/com.sun.jdi.connect.Connector \ 201 META-INF/services/com.sun.jdi.connect.spi.TransportService \ 202 META-INF/services/com.sun.tools.attach.spi.AttachProvider \ 203 META-INF/services/com.sun.tools.xjc.Plugin \ 204 META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor \ 205 org/relaxng/datatype \ 206 sun/awt/HKSCS.class \ 207 sun/awt/motif/X11GB2312.class \ 208 sun/awt/motif/X11GB2312\$$$$Decoder.class \ 209 sun/awt/motif/X11GB2312\$$$$Encoder.class \ 210 sun/awt/motif/X11GBK.class \ 211 sun/awt/motif/X11GBK\$$$$Encoder.class \ 212 sun/awt/motif/X11KSC5601.class \ 213 sun/awt/motif/X11KSC5601\$$$$Decoder.class \ 214 sun/awt/motif/X11KSC5601\$$$$Encoder.class \ 215 sun/jvmstat \ 216 sun/net/spi/nameservice/dns \ 217 sun/nio/cs/ext \ 218 sun/rmi/rmic \ 219 sun/security/ec \ 220 sun/security/internal \ 221 sun/security/mscapi \ 222 sun/security/pkcs11 \ 223 sun/security/provider/Sun.class \ 224 sun/security/rsa/SunRsaSign.class \ 225 sun/security/ssl \ 226 sun/security/tools/jarsigner \ 227 sun/swing/BeanInfoUtils.class \ 228 sun/text/resources/cldr \ 229 sun/tools/asm \ 230 sun/tools/attach \ 231 sun/tools/java \ 232 sun/tools/javac \ 233 sun/tools/jcmd \ 234 sun/tools/jconsole \ 235 sun/tools/jinfo \ 236 sun/tools/jmap \ 237 sun/tools/jps \ 238 sun/tools/jstack \ 239 sun/tools/jstat \ 240 sun/tools/jstatd \ 241 sun/tools/native2ascii \ 242 sun/tools/serialver \ 243 sun/tools/tree \ 244 sun/tools/util \ 245 sun/util/cldr/CLDRLocaleDataMetaInfo.class \ 246 sun/util/resources/cldr \ 247 $(LOCALEDATA_INCLUDES) \ 248 com/oracle/jrockit/jfr \ 249 oracle/jrockit/jfr 250 251 ifeq ($(OPENJDK_TARGET_OS), macosx) 252 RT_JAR_EXCLUDES += com/sun/nio/sctp \ 253 sun/nio/ch/sctp 254 endif 255 256 # Find all files in the classes dir to use as dependencies. This could be more fine granular. 257 ALL_FILES_IN_CLASSES := $(call not-containing,_the.,$(filter-out %javac_state,\ 258 $(call CacheFind,$(JDK_OUTPUTDIR)/classes))) 259 260 RT_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar_manifest 261 RESOURCE_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar_manifest 262 263 $(RT_JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST) 264 $(MKDIR) -p $(@D) 265 $(RM) $@ $@.tmp 266 $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ 267 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 268 $(MAINMANIFEST) >> $@.tmp 269 $(ECHO) >> $@.tmp 270 $(CAT) $(BEANMANIFEST) >> $@.tmp 271 $(MV) $@.tmp $@ 272 273 $(RESOURCE_JAR_MANIFEST_FILE): $(MAINMANIFEST) 274 $(MKDIR) -p $(@D) 275 $(RM) $@ $@.tmp 276 $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ 277 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 278 $(MAINMANIFEST) >> $@.tmp 279 $(MV) $@.tmp $@ 280 281 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude: $(MAKEFILE) $(PROFILE_MAKEFILES) 282 $(MKDIR) -p $(@D) 283 $(RM) $@ $@.tmp 284 $(call ListPathsSafely,RT_JAR_EXCLUDES,\n, >> $@.tmp) 285 $(MV) $@.tmp $@ 286 287 $(IMAGES_OUTPUTDIR)/lib/classlist : $(JDK_TOPDIR)/make/tools/sharing/classlist.$(OPENJDK_TARGET_OS) \ 288 $(MAKEFILE) 289 $(MKDIR) -p $(@D) 290 $(RM) $@ $@.tmp 291 $(TOOL_ADDJSUM) $< $@.tmp 292 $(MV) $@.tmp $@ 293 294 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents: $(BUILD_TOOLS) $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude \ 295 $(ALL_FILES_IN_CLASSES) $(IMAGES_OUTPUTDIR)/lib/classlist 296 $(MKDIR) -p $(@D) 297 $(RM) $@ $@.tmp 298 ($(CD) $(JDK_OUTPUTDIR)/classes && \ 299 $(TOOL_JARREORDER) \ 300 -o $@.tmp $(IMAGES_OUTPUTDIR)/lib/classlist $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude . ) 301 $(MV) $@.tmp $@ 302 303 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents 304 $(MKDIR) -p $(@D) 305 $(RM) $@ $@.tmp 306 $(GREP) -e '\.class$$' $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents > $@.tmp 307 ifneq ($(PROFILE),) 308 # # Add back classes from excluded packages (fixing the $ substitution in the process) 309 for type in $(subst \$$,\, $(RT_JAR_INCLUDE_TYPES)) ; do \ 310 $(ECHO) $$type >> $@.tmp ; \ 311 done 312 endif 313 $(MV) $@.tmp $@ 314 315 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar.contents: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents 316 $(MKDIR) -p $(@D) 317 $(RM) $@ $@.tmp 318 $(GREP) -v -e '\.class$$' \ 319 -e '/_the\.*' -e '^_the\.*' -e '\\_the\.*' -e 'javac_state' \ 320 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents > $@.tmp 321 ifneq ($(PROFILE),) 322 # # Strip out all META-INF/services/ entries 323 $(GREP) -v -e 'META-INF/services/' $@.tmp > $@.tmp2 324 # # Add back the required services 325 # # FIXME: On Solaris if PROFILE_INCLUDE_METAINF_SERVICES is not defined 326 # # we get a syntax error from sh. That doesn't happen on linux 327 for service in $(PROFILE_INCLUDE_METAINF_SERVICES) ; do \ 328 $(ECHO) $$service >> $@.tmp2; \ 329 done 330 $(MV) $@.tmp2 $@.tmp 331 endif 332 $(MV) $@.tmp $@ 333 334 # This is a hack but I don't know how to make this fit into the existing scheme 335 $(PROFILE_VERSION_CLASS_TARGETS) : $(PROFILE_VERSION_JAVA_TARGETS) 336 @$(JAVAC) -d $(@D)/../../ $(@D)/$(VERSION_JAVA_FILE) 337 338 339 # Support for removing the addPropertyChangeListener and removePropertyChangeListener 340 # methods from classes that only go into the profile builds. 341 BEANLESS_CLASSES = $(IMAGES_OUTPUTDIR)/beanless 342 343 # When there are $ characters in filenames we have some very subtle interactions between 344 # make expansion and shell expansion. In this particular case $< will contain a single $ while 345 # $@ will contain \$. So we have to pass $< in single-quotes to avoid shell expansion 346 $(BEANLESS_CLASSES)/%: $(JDK_OUTPUTDIR)/classes/% 347 $(MKDIR) -p $(@D) 348 $(TOOL_REMOVEMETHODS) '$<' $@ addPropertyChangeListener removePropertyChangeListener 349 350 CLASSES_TO_DEBEAN = \ 351 java/util/logging/LogManager.class \ 352 java/util/jar/Pack200\$$Packer.class \ 353 java/util/jar/Pack200\$$Unpacker.class \ 354 com/sun/java/util/jar/pack/PackerImpl.class \ 355 com/sun/java/util/jar/pack/UnpackerImpl.class 356 357 ifneq ($(PROFILE),) 358 BEANLESS_CLASSES_TARGETS := $(addprefix $(BEANLESS_CLASSES)/, $(CLASSES_TO_DEBEAN)) 359 endif 360 361 362 RT_JAR_CREATE_OPTIONS := c0fm 363 RT_JAR_UPDATE_OPTIONS := u0f 364 ifeq ($(COMPRESS_JARS), true) 365 RT_JAR_CREATE_OPTIONS := cfm 366 RT_JAR_UPDATE_OPTIONS := uf 367 endif 368 369 # This defines a target-specific variables to make the shell logic easier to see. 370 # We need to find the Version.class file for the profile currently being built 371 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/rt.jar: \ 372 CLASS_FILE = $(if $(PROFILE),$(strip $(foreach class,$(PROFILE_VERSION_CLASS_TARGETS),$(if $(findstring $(PROFILE),$(class)),$(class)))), NO_SUCH_FILE) 373 # This is the real target 374 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/rt.jar: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents $(RT_JAR_MANIFEST_FILE) $(PROFILE_VERSION_CLASS_TARGETS) $(BEANLESS_CLASSES_TARGETS) 375 $(ECHO) Creating rt.jar $(PROFILE) Compressed=$(COMPRESS_JARS) 376 $(MKDIR) -p $(@D) 377 $(RM) $@ $@.tmp 378 $(CD) $(JDK_OUTPUTDIR)/classes && \ 379 $(JAR) $(RT_JAR_CREATE_OPTIONS) $@.tmp $(RT_JAR_MANIFEST_FILE) \ 380 @$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents && \ 381 if [ -f $(CLASS_FILE) ]; then \ 382 $(ECHO) Updating rt.jar $(PROFILE) && \ 383 $(CD) $(patsubst %$(VERSION_CLASS_PATH),%,$(CLASS_FILE)) && \ 384 $(JAR) $(RT_JAR_UPDATE_OPTIONS) $@.tmp $(VERSION_CLASS_PATH); \ 385 $(CD) $(BEANLESS_CLASSES) && \ 386 $(JAR) $(RT_JAR_UPDATE_OPTIONS) $@.tmp $(CLASSES_TO_DEBEAN); \ 387 fi 388 $(MV) $@.tmp $@ 389 390 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/resources.jar: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar.contents \ 391 $(RESOURCE_JAR_MANIFEST_FILE) 392 $(ECHO) Creating resources.jar 393 $(MKDIR) -p $(@D) 394 $(RM) $@ $@.tmp 395 $(CD) $(JDK_OUTPUTDIR)/classes && \ 396 $(JAR) $(RT_JAR_CREATE_OPTIONS) $@.tmp $(RESOURCE_JAR_MANIFEST_FILE) \ 397 @$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar.contents 398 $(MV) $@.tmp $@ 399 400 ########################################################################################## 401 402 ifneq ($(OPENJDK_TARGET_OS), windows) 403 CHARSETS_EXTRA_FILES:=sun/awt/motif/X11GBK.class \ 404 sun/awt/motif/X11GB2312\$$$$Decoder.class \ 405 sun/awt/motif/X11GB2312.class \ 406 sun/awt/motif/X11KSC5601\$$$$Decoder.class \ 407 sun/awt/motif/X11KSC5601\$$$$Encoder.class \ 408 sun/awt/motif/X11GB2312\$$$$Encoder.class \ 409 sun/awt/motif/X11GBK\$$$$Encoder.class \ 410 sun/awt/motif/X11KSC5601.class 411 endif 412 413 $(eval $(call SetupArchive,BUILD_CHARSETS_JAR,,\ 414 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 415 SUFFIXES:=.class .dat,\ 416 INCLUDES:=sun/nio/cs/ext,\ 417 EXTRA_FILES := sun/awt/HKSCS.class \ 418 $(CHARSETS_EXTRA_FILES), \ 419 JAR:=$(IMAGES_OUTPUTDIR)/lib/charsets.jar, \ 420 SKIP_METAINF := true, \ 421 CHECK_COMPRESS_JAR:=true)) 422 423 ########################################################################################## 424 425 ifndef OPENJDK 426 ifeq ($(ENABLE_JFR), true) 427 $(eval $(call SetupArchive,BUILD_JFR_JAR,,\ 428 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 429 INCLUDES:=com/oracle/jrockit/jfr \ 430 oracle/jrockit/jfr,\ 431 JAR:=$(IMAGES_OUTPUTDIR)/lib/jfr.jar,\ 432 SKIP_METAINF:=true,\ 433 MANIFEST:=$(MAINMANIFEST), \ 434 CHECK_COMPRESS_JAR:=true)) 435 436 endif 437 endif 438 439 ########################################################################################## 440 441 $(eval $(call SetupArchive,BUILD_JSSE_JAR,,\ 442 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 443 INCLUDES:=sun/security/provider/Sun.class \ 444 sun/security/rsa/SunRsaSign.class \ 445 sun/security/ssl \ 446 com/sun/net/ssl/internal/ssl,\ 447 JAR:=$(IMAGES_OUTPUTDIR)/lib/jsse.jar,\ 448 SKIP_METAINF:=true,\ 449 MANIFEST:=$(MAINMANIFEST), \ 450 CHECK_COMPRESS_JAR:=true)) 451 452 ########################################################################################## 453 # Create manifest for security jars 454 455 # 456 # Include these extra attributes for now, should probably take out. 457 # 458 JCE_MANIFEST := $(IMAGES_OUTPUTDIR)/lib/_the.security.manifest.mf 459 $(JCE_MANIFEST): $(MAINMANIFEST) 460 $(MKDIR) -p $(@D) 461 $(RM) $@ $@.tmp 462 $(SED) -e "s#@@RELEASE@@#$(JDK_VERSION)#" \ 463 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 464 $(MAINMANIFEST) >> $@.tmp 465 $(ECHO) "Extension-Name: javax.crypto" >> $@.tmp 466 $(ECHO) "Implementation-Vendor-Id: com.sun" >> $@.tmp 467 $(MV) $@.tmp $@ 468 469 ########################################################################################## 470 # For all security jars, always build the jar, but for closed, install the prebuilt signed 471 # version instead of the newly built jar. Unsigned jars are treated as intermediate targets 472 # and explicitly added to the JARS list. For open, signing is not needed. See SignJars.gmk 473 # for more information. 474 475 SUNPKCS11_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunpkcs11.jar 476 SUNPKCS11_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunpkcs11.jar 477 478 $(eval $(call SetupArchive,BUILD_SUNPKCS11_JAR,,\ 479 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 480 SUFFIXES:=.class,\ 481 INCLUDES:=sun/security/pkcs11,\ 482 JAR:=$(SUNPKCS11_JAR_UNSIGNED), \ 483 MANIFEST:=$(JCE_MANIFEST), \ 484 SKIP_METAINF := true)) 485 486 $(SUNPKCS11_JAR_UNSIGNED): $(JCE_MANIFEST) 487 488 ifndef OPENJDK 489 SUNPKCS11_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/pkcs11/sunpkcs11.jar 490 $(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_SRC) 491 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunPKCS11 provider..." 492 $(install-file) 493 else 494 $(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_UNSIGNED) 495 $(install-file) 496 endif 497 498 JARS += $(SUNPKCS11_JAR_UNSIGNED) 499 500 ########################################################################################## 501 502 SUNEC_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunec.jar 503 SUNEC_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunec.jar 504 505 $(eval $(call SetupArchive,BUILD_SUNEC_JAR,,\ 506 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 507 SUFFIXES:=.class,\ 508 INCLUDES:=sun/security/ec,\ 509 JAR:=$(SUNEC_JAR_UNSIGNED), \ 510 MANIFEST:=$(JCE_MANIFEST), \ 511 SKIP_METAINF := true)) 512 513 $(SUNEC_JAR_UNSIGNED): $(JCE_MANIFEST) 514 515 ifndef OPENJDK 516 SUNEC_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ec/sunec.jar 517 $(SUNEC_JAR_DST) : $(SUNEC_JAR_SRC) 518 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunEC provider..." 519 $(install-file) 520 else 521 $(SUNEC_JAR_DST) : $(SUNEC_JAR_UNSIGNED) 522 $(install-file) 523 endif 524 525 JARS += $(SUNEC_JAR_UNSIGNED) 526 527 ########################################################################################## 528 529 $(eval $(call SetupArchive,BUILD_SWINGBEANS_JAR,,\ 530 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 531 SUFFIXES:=BeanInfo.class .gif,\ 532 INCLUDES:=javax/swing sun/swing,\ 533 EXCLUDES:=javax/swing/plaf,\ 534 EXTRA_FILES:=javax/swing/SwingBeanInfoBase.class sun/swing/BeanInfoUtils.class,\ 535 JAR:=$(IMAGES_OUTPUTDIR)/lib/dt.jar,\ 536 SKIP_METAINF:=true)) 537 538 ########################################################################################## 539 540 SUNJCE_PROVIDER_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunjce_provider.jar 541 SUNJCE_PROVIDER_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunjce_provider.jar 542 543 ifneq ($(BUILD_CRYPTO),no) 544 $(eval $(call SetupArchive,BUILD_SUNJCE_PROVIDER_JAR,,\ 545 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 546 SUFFIXES:=.class,\ 547 INCLUDES:= com/sun/crypto/provider,\ 548 JAR:=$(SUNJCE_PROVIDER_JAR_UNSIGNED), \ 549 MANIFEST:=$(JCE_MANIFEST), \ 550 SKIP_METAINF := true)) 551 552 $(SUNJCE_PROVIDER_JAR_UNSIGNED): $(JCE_MANIFEST) 553 554 JARS += $(SUNJCE_PROVIDER_JAR_UNSIGNED) 555 endif 556 557 ifndef OPENJDK 558 SUNJCE_PROVIDER_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/sunjce_provider.jar 559 $(SUNJCE_PROVIDER_JAR_DST) : $(SUNJCE_PROVIDER_JAR_SRC) 560 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunJCE provider..." 561 $(install-file) 562 else 563 $(SUNJCE_PROVIDER_JAR_DST) : $(SUNJCE_PROVIDER_JAR_UNSIGNED) 564 $(install-file) 565 endif 566 567 ########################################################################################## 568 569 JCE_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/jce.jar 570 JCE_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/jce.jar 571 572 ifneq ($(BUILD_CRYPTO),no) 573 $(eval $(call SetupArchive,BUILD_JCE_JAR,,\ 574 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 575 SUFFIXES:=.class,\ 576 INCLUDES:= javax/crypto sun/security/internal,\ 577 JAR:=$(JCE_JAR_UNSIGNED), \ 578 MANIFEST:=$(JCE_MANIFEST), \ 579 SKIP_METAINF := true)) 580 581 $(JCE_JAR_UNSIGNED): $(JCE_MANIFEST) 582 583 JARS += $(JCE_JAR_UNSIGNED) 584 endif 585 586 ifndef OPENJDK 587 JCE_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/jce.jar 588 $(JCE_JAR_DST) : $(JCE_JAR_SRC) 589 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt jce.jar..." 590 $(install-file) 591 else 592 $(JCE_JAR_DST) : $(JCE_JAR_UNSIGNED) 593 $(install-file) 594 endif 595 596 ########################################################################################## 597 598 US_EXPORT_POLICY_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/security/US_export_policy.jar 599 US_EXPORT_POLICY_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/US_export_policy.jar 600 601 ifneq ($(BUILD_CRYPTO),no) 602 # 603 # TODO fix so that SetupArchive does not write files into SRCS 604 # then we don't need this extra copying 605 606 # NOTE: We currently do not place restrictions on our limited export 607 # policy. This was not a typo. 608 # 609 US_EXPORT_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited 610 US_EXPORT_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/US_export_policy_jar.tmp 611 612 $(US_EXPORT_POLICY_JAR_TMP)/% : $(US_EXPORT_POLICY_JAR_SRC_DIR)/% 613 $(install-file) 614 615 US_EXPORT_POLICY_JAR_DEPS := $(US_EXPORT_POLICY_JAR_TMP)/default_US_export.policy 616 617 $(eval $(call SetupArchive,BUILD_US_EXPORT_POLICY_JAR,$(US_EXPORT_POLICY_JAR_DEPS),\ 618 SRCS:=$(US_EXPORT_POLICY_JAR_TMP), \ 619 SUFFIXES:= .policy,\ 620 JAR:=$(US_EXPORT_POLICY_JAR_UNSIGNED), \ 621 EXTRA_MANIFEST_ATTR := Crypto-Strength: unlimited, \ 622 SKIP_METAINF := true)) 623 624 JARS += $(US_EXPORT_POLICY_JAR_UNSIGNED) 625 endif 626 627 ifndef OPENJDK 628 $(US_EXPORT_POLICY_JAR_DST): $(JDK_TOPDIR)/make/closed/tools/crypto/jce/US_export_policy.jar 629 $(ECHO) $(LOG_INFO) Copying $(@F) 630 $(install-file) 631 else 632 $(US_EXPORT_POLICY_JAR_DST): $(US_EXPORT_POLICY_JAR_UNSIGNED) 633 $(install-file) 634 endif 635 636 ########################################################################################## 637 638 LOCAL_POLICY_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/security/local_policy.jar 639 LOCAL_POLICY_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/local_policy.jar 640 641 ifneq ($(BUILD_CRYPTO),no) 642 # 643 # TODO fix so that SetupArchive does not write files into SRCS 644 # then we don't need this extra copying 645 # 646 LOCAL_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/local_policy_jar.tmp 647 648 ifeq ($(UNLIMITED_CRYPTO), true) 649 LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited 650 LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/default_local.policy 651 LOCAL_POLICY_JAR_ATTR := Crypto-Strength: unlimited 652 else 653 LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/limited 654 LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/exempt_local.policy \ 655 $(LOCAL_POLICY_JAR_TMP)/default_local.policy 656 LOCAL_POLICY_JAR_ATTR := Crypto-Strength: limited 657 endif 658 659 $(LOCAL_POLICY_JAR_TMP)/% : $(LOCAL_POLICY_JAR_SRC_DIR)/% 660 $(install-file) 661 662 $(eval $(call SetupArchive,BUILD_LOCAL_POLICY_JAR,$(LOCAL_POLICY_JAR_DEPS),\ 663 SRCS:=$(LOCAL_POLICY_JAR_TMP),\ 664 SUFFIXES:= .policy,\ 665 JAR:=$(LOCAL_POLICY_JAR_UNSIGNED), \ 666 EXTRA_MANIFEST_ATTR := $(LOCAL_POLICY_JAR_ATTR), \ 667 SKIP_METAINF := true)) 668 669 JARS += $(LOCAL_POLICY_JAR_UNSIGNED) 670 endif 671 672 ifndef OPENJDK 673 $(LOCAL_POLICY_JAR_DST): $(JDK_TOPDIR)/make/closed/tools/crypto/jce/local_policy.jar 674 $(ECHO) $(LOG_INFO) Copying $(@F) 675 $(install-file) 676 else 677 $(LOCAL_POLICY_JAR_DST): $(LOCAL_POLICY_JAR_UNSIGNED) 678 $(install-file) 679 endif 680 681 ########################################################################################## 682 683 ifeq ($(OPENJDK_TARGET_OS),windows) 684 685 SUNMSCAPI_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunmscapi.jar 686 SUNMSCAPI_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunmscapi.jar 687 688 $(eval $(call SetupArchive,BUILD_SUNMSCAPI_JAR,,\ 689 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 690 SUFFIXES:=.class,\ 691 INCLUDES:= sun/security/mscapi,\ 692 JAR:=$(SUNMSCAPI_JAR_UNSIGNED), \ 693 MANIFEST:=$(JCE_MANIFEST), \ 694 SKIP_METAINF:=true)) 695 696 $(SUNMSCAPI_JAR_UNSIGNED): $(JCE_MANIFEST) 697 698 ifndef OPENJDK 699 SUNMSCAPI_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/mscapi/sunmscapi.jar 700 $(SUNMSCAPI_JAR_DST) : $(SUNMSCAPI_JAR_SRC) 701 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunMSCAPI provider..." 702 $(install-file) 703 else 704 $(SUNMSCAPI_JAR_DST) : $(SUNMSCAPI_JAR_UNSIGNED) 705 $(install-file) 706 endif 707 708 JARS += $(SUNMSCAPI_JAR_UNSIGNED) 709 710 endif 711 712 ########################################################################################## 713 714 ifeq ($(OPENJDK_TARGET_OS),solaris) 715 ifndef OPENJDK 716 717 UCRYPTO_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/ucrypto.jar 718 UCRYPTO_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/ucrypto.jar 719 UCRYPTO_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ucrypto/ucrypto.jar 720 721 $(eval $(call SetupArchive,BUILD_UCRYPTO_JAR,,\ 722 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 723 SUFFIXES:=.class,\ 724 INCLUDES:=com/oracle/security/ucrypto,\ 725 JAR:=$(UCRYPTO_JAR_UNSIGNED), \ 726 MANIFEST:=$(JCE_MANIFEST), \ 727 SKIP_METAINF:=true)) 728 729 $(UCRYPTO_JAR_UNSIGNED): $(JCE_MANIFEST) 730 731 $(UCRYPTO_JAR_DST) : $(UCRYPTO_JAR_SRC) 732 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt OracleUcrypto provider..." 733 $(install-file) 734 735 JARS += $(UCRYPTO_JAR_UNSIGNED) 736 737 endif 738 endif 739 740 ########################################################################################## 741 742 # Get the CLDRVERSION 743 include GensrcCLDR.gmk 744 745 CLDRDATA_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/cldrdata.jar 746 747 $(eval $(call SetupArchive,BUILD_CLDRDATA_JAR,,\ 748 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 749 SUFFIXES:=.class,\ 750 INCLUDES:=sun/text/resources/cldr \ 751 sun/util/cldr \ 752 sun/util/resources/cldr,\ 753 EXCLUDES:=sun/util/cldr/CLDRLocaleProviderAdapter,\ 754 JAR:=$(CLDRDATA_JAR_DST),\ 755 EXTRA_MANIFEST_ATTR:=CLDR-Version: $(CLDRVERSION),\ 756 SKIP_METAINF:=true)) 757 758 ########################################################################################## 759 760 TOOLS_JAR_INCLUDES := \ 761 com/sun/codemodel \ 762 com/sun/istack/internal/tools \ 763 com/sun/jarsigner \ 764 com/sun/javadoc \ 765 com/sun/jdi \ 766 com/sun/source \ 767 com/sun/tools/attach \ 768 com/sun/tools/classfile \ 769 com/sun/tools/corba \ 770 com/sun/tools/doclets \ 771 com/sun/tools/doclint \ 772 com/sun/tools/example/debug/expr \ 773 com/sun/tools/example/debug/tty \ 774 com/sun/tools/extcheck \ 775 com/sun/tools/hat \ 776 com/sun/tools/internal/jxc \ 777 com/sun/tools/internal/jxc/ap \ 778 com/sun/tools/internal/ws \ 779 com/sun/tools/internal/ws/wscompile/plugin/at_generated \ 780 com/sun/tools/internal/xjc \ 781 com/sun/tools/javac \ 782 com/sun/tools/javadoc \ 783 com/sun/tools/javah \ 784 com/sun/tools/javap \ 785 com/sun/tools/jdeps \ 786 com/sun/tools/jdi \ 787 com/sun/tools/script/shell \ 788 com/sun/xml/internal/dtdparser \ 789 com/sun/xml/internal/rngom \ 790 com/sun/xml/internal/xsom \ 791 org/relaxng/datatype \ 792 sun/applet \ 793 sun/jvmstat \ 794 sun/rmi/rmic \ 795 sun/security/tools/jarsigner \ 796 sun/tools/asm \ 797 sun/tools/attach \ 798 sun/tools/jar \ 799 sun/tools/java \ 800 sun/tools/javac \ 801 sun/tools/jcmd \ 802 sun/tools/jinfo \ 803 sun/tools/jmap \ 804 sun/tools/jps \ 805 sun/tools/jstack \ 806 sun/tools/jstat \ 807 sun/tools/jstatd \ 808 sun/tools/native2ascii \ 809 sun/tools/serialver \ 810 sun/tools/tree \ 811 sun/tools/util 812 813 # The sjavac tools is not ready for public consumption. 814 TOOLS_JAR_EXCLUDES=com/sun/tools/sjavac 815 816 $(eval $(call SetupArchive,BUILD_TOOLS_JAR,,\ 817 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 818 SUFFIXES:=.class .prp .gif .properties .xml .css .xsd .js .html .txt .java \ 819 Tool aliasmap options,\ 820 INCLUDES:=$(TOOLS_JAR_INCLUDES),\ 821 EXCLUDES:=$(TOOLS_JAR_EXCLUDES),\ 822 EXTRA_FILES:=META-INF/services/com.sun.jdi.connect.Connector \ 823 META-INF/services/com.sun.jdi.connect.spi.TransportService \ 824 META-INF/services/com.sun.tools.attach.spi.AttachProvider \ 825 META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \ 826 META-INF/services/com.sun.tools.internal.xjc.Plugin,\ 827 JAR:=$(IMAGES_OUTPUTDIR)/lib/tools.jar,\ 828 SKIP_METAINF:=true, \ 829 CHECK_COMPRESS_JAR:=true)) 830 831 832 ########################################################################################## 833 834 include javadoc/CORE_PKGS.gmk 835 include javadoc/NON_CORE_PKGS.gmk 836 837 # The compiler should not issue a "Proprietary" warning when compiling 838 # classes in the com.sun.java.swing.plaf packages, since we've always 839 # allowed, and even advocated, extending them (see bug 6476749). 840 # 841 # This approach is NOT to be used as a general purpose way to avoid such 842 # compiler warnings for non-core packages. The correct way is to document 843 # the packages in NON_CORE_PKGS.gmk, and include them in the NON_CORE_PKGS 844 # definition. 845 # 846 # Swing has taken this approach only as a temporary measure to avoid 847 # the compiler warnings until we can properly document these packages. 848 # This is covered under 6491853. 849 EXCLUDE_PROPWARN_PKGS = com.sun.java.swing.plaf.windows \ 850 com.sun.java.swing.plaf.motif \ 851 com.sun.java.swing.plaf.gtk 852 853 # 854 # Include the exported private packages in ct.sym. 855 # This is an interim solution until the ct.sym is replaced 856 # with a new module system (being discussed for JDK 8). 857 # 858 EXPORTED_PRIVATE_PKGS = com.oracle.net \ 859 com.oracle.nio 860 861 $(IMAGES_OUTPUTDIR)/symbols/_the.symbols: $(IMAGES_OUTPUTDIR)/lib/rt.jar 862 $(RM) -r $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym 863 $(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym 864 $(JAVA) $(NEW_JAVAC) \ 865 -bootclasspath $(JDK_OUTPUTDIR)/classes \ 866 -XDprocess.packages -proc:only \ 867 -processor com.sun.tools.javac.sym.CreateSymbols \ 868 -Acom.sun.tools.javac.sym.Jar=$(IMAGES_OUTPUTDIR)/lib/rt.jar \ 869 -Acom.sun.tools.javac.sym.Dest=$(IMAGES_OUTPUTDIR)/symbols/META-INF/sym/rt.jar \ 870 -Acom.sun.tools.javac.sym.Profiles=profile-rtjar-includes.txt \ 871 $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS) $(EXPORTED_PRIVATE_PKGS) 872 $(TOUCH) $@ 873 874 $(eval $(call MakeDir,$(IMAGES_OUTPUTDIR)/symbols)) 875 $(eval $(call SetupArchive,BUILD_CT_SYM,$(IMAGES_OUTPUTDIR)/symbols/_the.symbols,\ 876 SRCS:=$(IMAGES_OUTPUTDIR)/symbols,\ 877 INCLUDES:=META-INF/sym,\ 878 JAR:=$(IMAGES_OUTPUTDIR)/lib/ct.sym, \ 879 CHECK_COMPRESS_JAR:=true)) 880 881 882 ########################################################################################## 883 884 SRC_ZIP_INCLUDES = \ 885 com/sun/corba \ 886 com/sun/image/codec/jpeg \ 887 com/sun/imageio \ 888 com/sun/java_cup \ 889 com/sun/javadoc \ 890 com/sun/java/swing \ 891 com/sun/jlex \ 892 com/sun/jmx \ 893 com/sun/naming \ 894 com/sun/org/apache \ 895 com/sun/security/auth \ 896 com/sun/security/jgss \ 897 com/sun/source \ 898 java/applet \ 899 java/awt \ 900 java/beans \ 901 java/io \ 902 java/lang \ 903 java/math \ 904 java/net \ 905 java/nio \ 906 java/rmi \ 907 java/security \ 908 java/sql \ 909 java/text \ 910 java/util \ 911 javax/accessibility \ 912 javax/annotation \ 913 javax/imageio \ 914 javax/lang \ 915 javax/management \ 916 javax/naming \ 917 javax/print \ 918 javax/rmi \ 919 javax/script \ 920 javax/security \ 921 javax/sound \ 922 javax/sql \ 923 javax/swing \ 924 javax/tools \ 925 javax/xml \ 926 org/ietf \ 927 org/omg \ 928 org/w3c/dom \ 929 org/xml/sax \ 930 sunw 931 932 SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes 933 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gensrc 934 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/impsrc 935 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gendocsrc_rmic 936 ifndef OPENJDK 937 SRC_ZIP_SRCS += $(JDK_TOPDIR)/src/closed/share/classes 938 endif 939 940 # Need to copy launcher src files into desired directory structure 941 # before zipping the sources. 942 LAUNCHER_SRC_FILES := $(wildcard $(JDK_TOPDIR)/src/share/bin/*) \ 943 $(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/java_md*) 944 LAUNCHER_ZIP_SRC := $(patsubst $(JDK_TOPDIR)/src/share/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\ 945 $(patsubst $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\ 946 $(LAUNCHER_SRC_FILES))) 947 948 $(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/share/bin/% 949 $(install-file) 950 951 $(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/% 952 $(install-file) 953 954 $(IMAGES_OUTPUTDIR)/src.zip: $(LAUNCHER_ZIP_SRC) 955 956 # This dir needs to exist before macro is evaluated to avoid warning from find. 957 $(eval $(call MakeDir,$(IMAGES_OUTPUTDIR)/src)) 958 $(eval $(call SetupZipArchive,BUILD_SRC_ZIP,\ 959 SRC:=$(SRC_ZIP_SRCS) $(IMAGES_OUTPUTDIR)/src,\ 960 INCLUDES:=$(SRC_ZIP_INCLUDES) launcher,\ 961 EXCLUDES:=javax/swing/beaninfo,\ 962 SUFFIXES:=.java .c .h,\ 963 ZIP:=$(IMAGES_OUTPUTDIR)/src.zip,\ 964 EXTRA_DEPS:=$(LAUNCHER_ZIP_SRC))) 965 966 ########################################################################################## 967 968 ifndef OPENJDK 969 ifeq ($(OPENJDK_TARGET_OS), windows) 970 971 $(eval $(call SetupArchive,BUILD_JACCESS_JAR,,\ 972 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 973 INCLUDES:=com/sun/java/accessibility/util,\ 974 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/jaccess.jar,\ 975 SKIP_METAINF:=true)) 976 977 JARS += $(IMAGES_OUTPUTDIR)/lib/ext/jaccess.jar 978 979 ifeq ($(OPENJDK_TARGET_CPU_BITS), 32) 980 $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_32_JAR,,\ 981 SRCS:=$(JDK_OUTPUTDIR)/classes_ab/32bit $(JDK_OUTPUTDIR)/classes,\ 982 INCLUDES:=com/sun/java/accessibility,\ 983 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-32.jar,\ 984 SKIP_METAINF:=true)) 985 986 $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_LEGACY_JAR,,\ 987 SRCS:=$(JDK_OUTPUTDIR)/classes_ab/legacy $(JDK_OUTPUTDIR)/classes,\ 988 INCLUDES:=com/sun/java/accessibility,\ 989 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge.jar,\ 990 SKIP_METAINF:=true)) 991 992 JARS += $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-32.jar \ 993 $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge.jar 994 else 995 $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_64_JAR,,\ 996 SRCS:=$(JDK_OUTPUTDIR)/classes_ab/64bit $(JDK_OUTPUTDIR)/classes,\ 997 INCLUDES:=com/sun/java/accessibility,\ 998 EXCLUDES:=com/sun/java/accessibility/util/java,\ 999 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-64.jar,\ 1000 SKIP_METAINF:=true)) 1001 1002 JARS += $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-64.jar 1003 endif 1004 endif 1005 endif 1006 1007 ########################################################################################## 1008 1009 # 1010 # This is an empty jar (only contains manifest) and fits poorly into framework... 1011 # create simple rule instead 1012 # 1013 $(IMAGES_OUTPUTDIR)/lib/management-agent.jar : $(JDK_TOPDIR)/src/share/classes/sun/management/manifest 1014 $(JAR) cfm $@ $< 1015 1016 ########################################################################################## 1017 1018 $(IMAGES_OUTPUTDIR)/lib/ext/zipfs.jar : $(JDK_OUTPUTDIR)/demo/nio/zipfs/zipfs.jar 1019 $(install-file) 1020 1021 ########################################################################################## 1022 1023 ifeq ($(OPENJDK_TARGET_OS),macosx) 1024 $(eval $(call SetupArchive,BUILD_JOBJC_JAR,,\ 1025 SRCS:=$(JDK_OUTPUTDIR)/jobjc_classes,\ 1026 JAR:=$(IMAGES_OUTPUTDIR)/lib/JObjC.jar, \ 1027 JARINDEX:=true)) 1028 endif 1029 1030 ########################################################################################## 1031 1032 ifndef OPENJDK 1033 $(eval $(call SetupArchive,BUILD_ALT_RT_JAR,,\ 1034 SRCS:=$(JDK_OUTPUTDIR)/altclasses_classes,\ 1035 JAR:=$(IMAGES_OUTPUTDIR)/lib/alt-rt.jar)) 1036 1037 endif 1038 1039 ########################################################################################## 1040 1041 # This file is imported from hotspot in Import.gmk. Copying it into images/lib so that 1042 # all jars can be found in one place when creating images in Images.gmk. It needs to be 1043 # done here so that clean targets can be simple and accurate. 1044 $(IMAGES_OUTPUTDIR)/lib/sa-jdi.jar: $(JDK_OUTPUTDIR)/lib/sa-jdi.jar 1045 $(install-file) 1046 1047 ########################################################################################## 1048 # 1049 # sec-bin.zip is used by builds where the corresponding sources are not available 1050 # 1051 $(eval $(call SetupZipArchive,BUILD_SEC_BIN_ZIP,\ 1052 SRC:=$(JDK_OUTPUTDIR),\ 1053 INCLUDES:=classes/javax/net \ 1054 classes/javax/security/cert \ 1055 classes/com/sun/net/ssl \ 1056 classes/com/sun/security/cert \ 1057 classes/sun/net/www/protocol/https \ 1058 classes/sun/security/pkcs12 \ 1059 classes/sun/security/ssl \ 1060 classes/sun/security/krb5 \ 1061 classes/sun/security/krb5/internal \ 1062 classes/sun/security/krb5/internal/ccache \ 1063 classes/sun/security/krb5/internal/crypto \ 1064 classes/sun/security/krb5/internal/ktab \ 1065 classes/sun/security/krb5/internal/rcache \ 1066 classes/sun/security/krb5/internal/util,\ 1067 INCLUDE_FILES:=classes/sun/security/jgss/spi/GSSContextSpi.class,\ 1068 EXCLUDES:=classes/sun/security/krb5/internal/tools,\ 1069 ZIP:=$(IMAGES_OUTPUTDIR)/sec-bin.zip)) 1070 1071 JARS += $(IMAGES_OUTPUTDIR)/sec-bin.zip 1072 1073 ########################################################################################## 1074 # 1075 # Windows specific binary security packages. 1076 # 1077 ifeq ($(OPENJDK_TARGET_OS),windows) 1078 # sec-windows-bin.zip is used by builds where the corresponding sources are not available 1079 $(eval $(call SetupZipArchive,BUILD_SEC_WINDOWS_BIN_ZIP,\ 1080 SRC:=$(JDK_OUTPUTDIR),\ 1081 INCLUDES:=classes/sun/security/krb5/internal/tools,\ 1082 ZIP:=$(IMAGES_OUTPUTDIR)/sec-windows-bin.zip)) 1083 1084 JARS += $(IMAGES_OUTPUTDIR)/sec-windows-bin.zip 1085 1086 # JGSS files contain the native Kerberos library 1087 ifeq ($(OPENJDK_TARGET_CPU),x86_64) 1088 JGSS_ZIP_NAME=jgss-windows-x64-bin.zip 1089 else 1090 JGSS_ZIP_NAME=jgss-windows-i586-bin.zip 1091 endif 1092 1093 $(eval $(call SetupZipArchive,BUILD_JGSS_BIN_ZIP,\ 1094 SRC:=$(JDK_OUTPUTDIR),\ 1095 INCLUDE_FILES:=bin/w2k_lsa_auth.dll \ 1096 bin/w2k_lsa_auth.map \ 1097 bin/w2k_lsa_auth.pdb,\ 1098 ZIP:=$(IMAGES_OUTPUTDIR)/$(JGSS_ZIP_NAME))) 1099 1100 JARS += $(IMAGES_OUTPUTDIR)/$(JGSS_ZIP_NAME) 1101 endif 1102 1103 ########################################################################################## 1104 1105 # Import nashorn.jar from nashorn dist dir. 1106 $(IMAGES_OUTPUTDIR)/lib/ext/nashorn.jar: $(NASHORN_DIST)/nashorn.jar 1107 $(install-file) 1108 1109 ########################################################################################## 1110 1111 -include $(CUSTOM_MAKE_DIR)/CreateJars.gmk 1112 1113 ########################################################################################## 1114 1115 all: $(JARS) 1116 1117 .PHONY: default all