1 #
   2 # Copyright (c) 2011, 2012, 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 include Tools.gmk
  34 
  35 #
  36 # This makefile...so that altering will trigger rebuilding include/exclude-lists => jars
  37 #
  38 MAKEFILE=$(JDK_TOPDIR)/makefiles/CreateJars.gmk
  39 
  40 MAINMANIFEST := $(JDK_TOPDIR)/make/tools/manifest.mf
  41 BEANMANIFEST := $(JDK_TOPDIR)/make/javax/swing/beaninfo/manifest
  42 
  43 JARS:=
  44 
  45 $(eval $(call MakeDir,$(IMAGES_OUTPUTDIR)/lib))
  46 
  47 ##########################################################################################
  48 
  49 $(eval $(call SetupArchive,BUILD_JCONSOLE_JAR,,\
  50                 SRCS:=$(JDK_OUTPUTDIR)/classes,\
  51                 SUFFIXES:=.class .gif .png .properties,\
  52                 INCLUDES:=sun/tools/jconsole com/sun/tools/jconsole,\
  53                 JARMAIN:=sun.tools.jconsole.JConsole,\
  54                 JAR:=$(IMAGES_OUTPUTDIR)/lib/jconsole.jar,\
  55                 SKIP_METAINF:=true))
  56 
  57 JARS+=$(IMAGES_OUTPUTDIR)/lib/jconsole.jar
  58 
  59 ##########################################################################################
  60 
  61 $(eval $(call SetupArchive,BUILD_DNS_JAR,,\
  62                 SRCS:=$(JDK_OUTPUTDIR)/classes,\
  63                 INCLUDES:=sun/net/spi/nameservice/dns,\
  64                 EXTRA_FILES:=META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor,\
  65                 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/dnsns.jar,\
  66                 SKIP_METAINF:=true))
  67 
  68 JARS+=$(IMAGES_OUTPUTDIR)/lib/ext/dnsns.jar
  69 
  70 ##########################################################################################
  71 
  72 LOCALEDATA_INCLUDE_LOCALES := ar be bg ca cs da de el es et fi fr ga hi hr hu in is it \
  73                               iw ja ko lt lv mk ms mt nl no pl pt ro ru sk sl sq sr sv \
  74                               th tr uk vi zh
  75 
  76 LOCALEDATA_INCLUDES := $(addprefix sun/text/resources/,$(LOCALEDATA_INCLUDE_LOCALES)) \
  77                        $(addprefix sun/util/resources/,$(LOCALEDATA_INCLUDE_LOCALES))
  78 
  79 # For non-US English locale data
  80 
  81 LOCALEDATA_INCLUDES += \
  82                 sun/text/resources/en/FormatData_en_AU.class \
  83                 sun/text/resources/en/FormatData_en_CA.class \
  84                 sun/text/resources/en/FormatData_en_GB.class \
  85                 sun/text/resources/en/FormatData_en_IE.class \
  86                 sun/text/resources/en/FormatData_en_IN.class \
  87                 sun/text/resources/en/FormatData_en_MT.class \
  88                 sun/text/resources/en/FormatData_en_NZ.class \
  89                 sun/text/resources/en/FormatData_en_PH.class \
  90                 sun/text/resources/en/FormatData_en_SG.class \
  91                 sun/text/resources/en/FormatData_en_ZA.class \
  92                 sun/util/resources/en/CalendarData_en_GB.class \
  93                 sun/util/resources/en/CalendarData_en_IE.class \
  94                 sun/util/resources/en/CalendarData_en_MT.class \
  95                 sun/util/resources/en/CurrencyNames_en_AU.class \
  96                 sun/util/resources/en/CurrencyNames_en_CA.class \
  97                 sun/util/resources/en/CurrencyNames_en_GB.class \
  98                 sun/util/resources/en/CurrencyNames_en_IE.class \
  99                 sun/util/resources/en/CurrencyNames_en_IN.class \
 100                 sun/util/resources/en/CurrencyNames_en_MT.class \
 101                 sun/util/resources/en/CurrencyNames_en_NZ.class \
 102                 sun/util/resources/en/CurrencyNames_en_PH.class \
 103                 sun/util/resources/en/CurrencyNames_en_SG.class \
 104                 sun/util/resources/en/CurrencyNames_en_ZA.class \
 105                 sun/util/resources/en/LocaleNames_en_MT.class \
 106                 sun/util/resources/en/LocaleNames_en_PH.class \
 107                 sun/util/resources/en/LocaleNames_en_SG.class \
 108                 sun/util/resources/en/TimeZoneNames_en_CA.class \
 109                 sun/util/resources/en/TimeZoneNames_en_GB.class \
 110                 sun/util/resources/en/TimeZoneNames_en_IE.class
 111 
 112 $(eval $(call SetupArchive,BUILD_LOCALEDATA_JAR,,\
 113                 SRCS:=$(JDK_OUTPUTDIR)/classes,\
 114                 SUFFIXES:=.class _dict _th,\
 115                 INCLUDES:=$(LOCALEDATA_INCLUDES),\
 116                 EXCLUDES:=sun/text/resources/th/BreakIteratorRules_th.class,\
 117                 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/localedata.jar,\
 118                 SKIP_METAINF:=true))
 119 
 120 JARS+=$(IMAGES_OUTPUTDIR)/lib/ext/localedata.jar
 121 
 122 ##########################################################################################
 123 # rt.jar and resources.jar are being built in the same way as in the old build. They require
 124 # the files to be in a certain order and converting that is not easy and will not be needed
 125 # in jigsaw anyway.
 126 
 127 # Exclude list for rt.jar and resources.jar
 128 RT_JAR_EXCLUDES := \
 129         com/sun/javadoc \
 130         com/sun/jdi \
 131         com/sun/jarsigner \
 132         com/sun/source \
 133         com/sun/istack/internal/tools \
 134         META-INF/services/com.sun.jdi.connect.Connector \
 135         META-INF/services/com.sun.jdi.connect.spi.TransportService \
 136         META-INF/services/com.sun.tools.xjc.Plugin \
 137         com/sun/tools \
 138         sun/jvmstat \
 139         sun/nio/cs/ext \
 140         sun/awt/HKSCS.class \
 141         sun/awt/motif/X11GB2312\$$$$Decoder.class \
 142         sun/awt/motif/X11GB2312\$$$$Encoder.class \
 143         sun/awt/motif/X11GB2312.class \
 144         sun/awt/motif/X11GBK\$$$$Encoder.class \
 145         sun/awt/motif/X11GBK.class \
 146         sun/awt/motif/X11KSC5601\$$$$Decoder.class \
 147         sun/awt/motif/X11KSC5601\$$$$Encoder.class \
 148         sun/awt/motif/X11KSC5601.class \
 149         META-INF/services/java.nio.charset.spi.CharsetProvider \
 150         sun/rmi/rmic \
 151         sun/tools/asm \
 152         sun/tools/java \
 153         sun/tools/javac \
 154         com/sun/tools/classfile \
 155         com/sun/tools/javap \
 156         sun/tools/jcmd \
 157         sun/tools/jconsole \
 158         sun/tools/jps \
 159         sun/tools/jstat \
 160         sun/tools/jstatd \
 161         sun/tools/native2ascii \
 162         sun/tools/serialver \
 163         sun/tools/tree \
 164         sun/tools/util \
 165         sun/security/tools/jarsigner \
 166         sun/security/provider/Sun.class \
 167         sun/security/rsa/SunRsaSign.class \
 168         sun/security/ssl \
 169         sun/security/ec/ECDHKeyAgreement.class \
 170         sun/security/ec/ECDSASignature\$$$$Raw.class \
 171         sun/security/ec/ECDSASignature\$$$$SHA1.class \
 172         sun/security/ec/ECDSASignature\$$$$SHA224.class \
 173         sun/security/ec/ECDSASignature\$$$$SHA256.class \
 174         sun/security/ec/ECDSASignature\$$$$SHA384.class \
 175         sun/security/ec/ECDSASignature\$$$$SHA512.class \
 176         sun/security/ec/ECDSASignature.class \
 177         sun/security/ec/ECKeyFactory.class \
 178         sun/security/ec/ECKeyPairGenerator.class \
 179         sun/security/ec/SunEC\$$$$1.class \
 180         sun/security/ec/SunEC.class \
 181         sun/security/ec/SunECEntries.class \
 182         sun/security/mscapi \
 183         sun/security/pkcs11 \
 184         com/sun/net/ssl/internal/ssl \
 185         javax/crypto \
 186         sun/security/internal \
 187         com/sun/crypto/provider \
 188         META-INF/services/com.sun.tools.attach.spi.AttachProvider \
 189         com/sun/tools/attach \
 190         org/relaxng/datatype \
 191         com/sun/codemodel \
 192         com/sun/xml/internal/dtdparser \
 193         com/sun/xml/internal/rngom \
 194         com/sun/xml/internal/xsom \
 195         com/sun/tools/script/shell \
 196         sun/tools/attach \
 197         sun/tools/jstack \
 198         sun/tools/jinfo \
 199         sun/tools/jmap \
 200         sun/net/spi/nameservice/dns \
 201         META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor \
 202         javax/swing/beaninfo \
 203         javax/swing/AbstractButtonBeanInfo.class \
 204         javax/swing/BoxBeanInfo.class \
 205         javax/swing/JAppletBeanInfo.class \
 206         javax/swing/JButtonBeanInfo.class \
 207         javax/swing/JCheckBoxBeanInfo.class \
 208         javax/swing/JCheckBoxMenuItemBeanInfo.class \
 209         javax/swing/JColorChooserBeanInfo.class \
 210         javax/swing/JComboBoxBeanInfo.class \
 211         javax/swing/JComponentBeanInfo.class \
 212         javax/swing/JDesktopPaneBeanInfo.class \
 213         javax/swing/JDialogBeanInfo.class \
 214         javax/swing/JEditorPaneBeanInfo.class \
 215         javax/swing/JFileChooserBeanInfo.class \
 216         javax/swing/JFormattedTextFieldBeanInfo.class \
 217         javax/swing/JFrameBeanInfo.class \
 218         javax/swing/JInternalFrameBeanInfo.class \
 219         javax/swing/JLabelBeanInfo.class \
 220         javax/swing/JLayeredPaneBeanInfo.class \
 221         javax/swing/JListBeanInfo.class \
 222         javax/swing/JMenuBarBeanInfo.class \
 223         javax/swing/JMenuBeanInfo.class \
 224         javax/swing/JMenuItemBeanInfo.class \
 225         javax/swing/JOptionPaneBeanInfo.class \
 226         javax/swing/JPanelBeanInfo.class \
 227         javax/swing/JPasswordFieldBeanInfo.class \
 228         javax/swing/JPopupMenuBeanInfo.class \
 229         javax/swing/JProgressBarBeanInfo.class \
 230         javax/swing/JRadioButtonBeanInfo.class \
 231         javax/swing/JRadioButtonMenuItemBeanInfo.class \
 232         javax/swing/JScrollBarBeanInfo.class \
 233         javax/swing/JScrollPaneBeanInfo.class \
 234         javax/swing/JSeparatorBeanInfo.class \
 235         javax/swing/JSliderBeanInfo.class \
 236         javax/swing/JSpinnerBeanInfo.class \
 237         javax/swing/JSplitPaneBeanInfo.class \
 238         javax/swing/JTabbedPaneBeanInfo.class \
 239         javax/swing/JTableBeanInfo.class \
 240         javax/swing/JTextAreaBeanInfo.class \
 241         javax/swing/JTextFieldBeanInfo.class \
 242         javax/swing/JTextPaneBeanInfo.class \
 243         javax/swing/JToggleButtonBeanInfo.class \
 244         javax/swing/JToolBarBeanInfo.class \
 245         javax/swing/JTreeBeanInfo.class \
 246         javax/swing/JWindowBeanInfo.class \
 247         javax/swing/SwingBeanInfoBase.class \
 248         javax/swing/text/JTextComponentBeanInfo.class \
 249         sun/swing/BeanInfoUtils.class \
 250         $(LOCALEDATA_INCLUDES) \
 251         sun/text/resources/cldr \
 252         sun/util/resources/cldr \
 253         sun/util/cldr/CLDRLocaleDataMetaInfo.class
 254 
 255 # These files should never be put into rt.jar
 256 # but due to a misstake...some are put there if embedded
 257 #
 258 ifneq ($(JAVASE_EMBEDDED), true)
 259 # normal (correct) case
 260 RT_JAR_EXCLUDES += \
 261         com/oracle/jrockit/jfr \
 262         oracle/jrockit/jfr
 263 else
 264 # embedded (broken) case
 265 RT_JAR_EXCLUDES += \
 266   oracle/jrockit/jfr/parser \
 267   oracle/jrockit/jfr/tools \
 268   oracle/jrockit/jfr/NativeOptions.class \
 269   oracle/jrockit/jfr/RepositoryChunkHandler.class
 270 endif
 271 
 272 ifeq ($(OPENJDK_TARGET_OS), macosx)
 273         RT_JAR_EXCLUDES += com/sun/nio/sctp \
 274                            sun/nio/ch/sctp
 275 endif
 276 
 277 # Find all files in the classes dir to use as dependencies. This could be more fine granular.
 278 ALL_FILES_IN_CLASSES := $(shell $(FIND) $(JDK_OUTPUTDIR)/classes -type f \
 279                         | $(GREP) -v -e '/_the\.*' -e '^_the\.*' -e 'javac_state')
 280 
 281 RT_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib/_the.rt.jar_manifest
 282 RESOURCE_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib/_the.resources.jar_manifest
 283 
 284 $(RT_JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST)
 285         $(MKDIR) -p $(@D)
 286         $(RM) $@ $@.tmp
 287         $(SED) -e "s#@@RELEASE@@#$(RELEASE)#"           \
 288                -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
 289                $(MAINMANIFEST) >> $@.tmp
 290         $(ECHO) >> $@.tmp
 291         $(CAT) $(BEANMANIFEST) >> $@.tmp
 292         $(MV) $@.tmp $@
 293 
 294 $(RESOURCE_JAR_MANIFEST_FILE): $(MAINMANIFEST)
 295         $(MKDIR) -p $(@D)
 296         $(RM) $@ $@.tmp
 297         $(SED) -e "s#@@RELEASE@@#$(RELEASE)#"           \
 298                -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
 299                $(MAINMANIFEST) >> $@.tmp
 300         $(MV) $@.tmp $@
 301 
 302 $(IMAGES_OUTPUTDIR)/lib/_the.jars.exclude: $(MAKEFILE)
 303         $(MKDIR) -p $(@D)
 304         $(RM) $@ $@.tmp
 305         $(call ListPathsSafely,RT_JAR_EXCLUDES,\n, >> $@.tmp)
 306         $(MV) $@.tmp $@
 307 
 308 $(IMAGES_OUTPUTDIR)/lib/classlist : $(JDK_TOPDIR)/make/tools/sharing/classlist.$(OPENJDK_TARGET_OS) \
 309   $(MAKEFILE)
 310         $(MKDIR) -p $(@D)
 311         $(RM) $@ $@.tmp
 312         $(TOOL_ADDJSUM) $< $@.tmp
 313         $(MV) $@.tmp $@
 314 
 315 $(IMAGES_OUTPUTDIR)/lib/_the.jars.contents: $(BUILD_TOOLS) $(IMAGES_OUTPUTDIR)/lib/_the.jars.exclude \
 316                                          $(ALL_FILES_IN_CLASSES) $(IMAGES_OUTPUTDIR)/lib/classlist
 317         $(MKDIR) -p $(@D)
 318         $(RM) $@ $@.tmp
 319         ($(CD) $(JDK_OUTPUTDIR)/classes && \
 320             $(TOOL_JARREORDER) \
 321                 -o  $@.tmp $(IMAGES_OUTPUTDIR)/lib/classlist $(IMAGES_OUTPUTDIR)/lib/_the.jars.exclude . )
 322         $(MV) $@.tmp $@
 323 
 324 $(IMAGES_OUTPUTDIR)/lib/_the.rt.jar.contents: $(IMAGES_OUTPUTDIR)/lib/_the.jars.contents
 325         $(MKDIR) -p $(@D)
 326         $(RM) $@ $@.tmp
 327         $(GREP) -e '\.class$$' $(IMAGES_OUTPUTDIR)/lib/_the.jars.contents > $@.tmp
 328         $(MV) $@.tmp $@
 329 
 330 $(IMAGES_OUTPUTDIR)/lib/_the.resources.jar.contents: $(IMAGES_OUTPUTDIR)/lib/_the.jars.contents
 331         $(MKDIR) -p $(@D)
 332         $(RM) $@ $@.tmp
 333         $(GREP) -v -e '\.class$$' \
 334             -e '/_the\.*' -e '^_the\.*' -e '\\_the\.*' -e 'javac_state' \
 335             $(IMAGES_OUTPUTDIR)/lib/_the.jars.contents > $@.tmp
 336         $(MV) $@.tmp $@
 337 
 338 RT_JAR_CREATE_OPTIONS := c0fm
 339 ifeq ($(COMPRESS_JARS), true)
 340     RT_JAR_CREATE_OPTIONS := cfm
 341 endif
 342 
 343 $(IMAGES_OUTPUTDIR)/lib/rt.jar: $(IMAGES_OUTPUTDIR)/lib/_the.rt.jar.contents $(RT_JAR_MANIFEST_FILE)
 344         $(ECHO) Creating rt.jar
 345         $(MKDIR) -p $(@D)
 346         $(RM) $@ $@.tmp
 347         $(CD) $(JDK_OUTPUTDIR)/classes && \
 348             $(JAR) $(RT_JAR_CREATE_OPTIONS) $@.tmp $(RT_JAR_MANIFEST_FILE) \
 349                 @$(IMAGES_OUTPUTDIR)/lib/_the.rt.jar.contents
 350         $(MV) $@.tmp $@
 351 
 352 $(IMAGES_OUTPUTDIR)/lib/resources.jar: $(IMAGES_OUTPUTDIR)/lib/_the.resources.jar.contents \
 353                                     $(RESOURCE_JAR_MANIFEST_FILE)
 354         $(ECHO) Creating resources.jar
 355         $(MKDIR) -p $(@D)
 356         $(RM) $@ $@.tmp
 357         $(CD) $(JDK_OUTPUTDIR)/classes && \
 358             $(JAR) $(RT_JAR_CREATE_OPTIONS) $@.tmp $(RESOURCE_JAR_MANIFEST_FILE) \
 359                 @$(IMAGES_OUTPUTDIR)/lib/_the.resources.jar.contents
 360         $(MV) $@.tmp $@
 361 
 362 JARS+=$(IMAGES_OUTPUTDIR)/lib/rt.jar $(IMAGES_OUTPUTDIR)/lib/resources.jar
 363 
 364 ##########################################################################################
 365 
 366 ifneq ($(OPENJDK_TARGET_OS), windows)
 367     CHARSETS_EXTRA_FILES:=sun/awt/motif/X11GBK.class \
 368                           sun/awt/motif/X11GB2312\$$$$Decoder.class \
 369                           sun/awt/motif/X11GB2312.class \
 370                           sun/awt/motif/X11KSC5601\$$$$Decoder.class \
 371                           sun/awt/motif/X11KSC5601\$$$$Encoder.class \
 372                           sun/awt/motif/X11GB2312\$$$$Encoder.class \
 373                           sun/awt/motif/X11GBK\$$$$Encoder.class \
 374                           sun/awt/motif/X11KSC5601.class
 375 endif
 376 
 377 $(eval $(call SetupArchive,BUILD_CHARSETS_JAR,,\
 378                 SRCS:=$(JDK_OUTPUTDIR)/classes, \
 379                 SUFFIXES:=.class .dat,\
 380                 INCLUDES:=sun/nio/cs/ext,\
 381                 EXTRA_FILES := sun/awt/HKSCS.class \
 382                                $(CHARSETS_EXTRA_FILES) \
 383                                META-INF/services/java.nio.charset.spi.CharsetProvider, \
 384                 JAR:=$(IMAGES_OUTPUTDIR)/lib/charsets.jar, \
 385                 SKIP_METAINF := true, \
 386                 CHECK_COMPRESS_JAR:=true))
 387 
 388 JARS+=$(IMAGES_OUTPUTDIR)/lib/charsets.jar
 389 
 390 ##########################################################################################
 391 
 392 ifndef OPENJDK
 393 ifeq ($(ENABLE_JFR), true)
 394     $(eval $(call SetupArchive,BUILD_JFR_JAR,,\
 395                 SRCS:=$(JDK_OUTPUTDIR)/classes,\
 396                 INCLUDES:=com/oracle/jrockit/jfr \
 397                           oracle/jrockit/jfr,\
 398                 JAR:=$(IMAGES_OUTPUTDIR)/lib/jfr.jar,\
 399                 SKIP_METAINF:=true,\
 400                 MANIFEST:=$(MAINMANIFEST), \
 401                 CHECK_COMPRESS_JAR:=true))
 402 
 403     JARS+=$(IMAGES_OUTPUTDIR)/lib/jfr.jar
 404 endif
 405 endif
 406 
 407 ##########################################################################################
 408 
 409 $(eval $(call SetupArchive,BUILD_JSSE_JAR,,\
 410                 SRCS:=$(JDK_OUTPUTDIR)/classes,\
 411                 INCLUDES:=sun/security/provider/Sun.class \
 412                           sun/security/rsa/SunRsaSign.class \
 413                           sun/security/ssl \
 414                           com/sun/net/ssl/internal/ssl,\
 415                 JAR:=$(IMAGES_OUTPUTDIR)/lib/jsse.jar,\
 416                 SKIP_METAINF:=true,\
 417                 MANIFEST:=$(MAINMANIFEST), \
 418                 CHECK_COMPRESS_JAR:=true))
 419 
 420 JARS+=$(IMAGES_OUTPUTDIR)/lib/jsse.jar
 421 
 422 ##########################################################################################
 423 # Create manifest for security jars
 424 
 425 #
 426 # Include these extra attributes for now, should probably take out.
 427 #
 428 JCE_MANIFEST := $(IMAGES_OUTPUTDIR)/lib/_the.security.manifest.mf
 429 $(JCE_MANIFEST): $(MAINMANIFEST)
 430         $(MKDIR) -p $(@D)
 431         $(RM) $@ $@.tmp
 432         $(SED) -e "s#@@RELEASE@@#$(JDK_VERSION)#"       \
 433                -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
 434                $(MAINMANIFEST) >> $@.tmp
 435         $(ECHO) "Extension-Name: javax.crypto" >> $@.tmp
 436         $(ECHO) "Implementation-Vendor-Id: com.sun" >> $@.tmp
 437         $(MV) $@.tmp $@
 438 
 439 ##########################################################################################
 440 
 441 SUNPKCS11_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunpkcs11.jar
 442 
 443 ifndef OPENJDK
 444 
 445     SUNPKCS11_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/pkcs11/sunpkcs11.jar
 446 
 447     $(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_SRC)
 448         @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunPKCS11 provider..."
 449         $(MKDIR) -p $(@D)
 450         $(RM) $@
 451         $(CP) $< $@
 452 
 453 else
 454 
 455     $(eval $(call SetupArchive,BUILD_SUNPKCS11_JAR,,\
 456         SRCS:=$(JDK_OUTPUTDIR)/classes, \
 457         SUFFIXES:=.class,\
 458         INCLUDES:=sun/security/pkcs11,\
 459         JAR:=$(SUNPKCS11_JAR_DST), \
 460         MANIFEST:=$(JCE_MANIFEST), \
 461         SKIP_METAINF := true))
 462 
 463     $(SUNPKCS11_JAR_DST): $(JCE_MANIFEST)
 464 
 465 endif
 466 
 467 JARS += $(SUNPKCS11_JAR_DST)
 468 
 469 ##########################################################################################
 470 
 471 SUNEC_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunec.jar
 472 
 473 ifndef OPENJDK
 474 
 475     SUNEC_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ec/sunec.jar
 476 
 477     $(SUNEC_JAR_DST) : $(SUNEC_JAR_SRC)
 478         @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunEC provider..."
 479         $(MKDIR) -p $(@D)
 480         $(RM) $@
 481         $(CP) $< $@
 482 
 483 else
 484 
 485     $(eval $(call SetupArchive,BUILD_SUNEC_JAR,,\
 486                 SRCS:=$(JDK_OUTPUTDIR)/classes, \
 487                 SUFFIXES:=.class,\
 488                 INCLUDES:=sun/security/ec,\
 489                 JAR:=$(SUNEC_JAR_DST), \
 490                 MANIFEST:=$(JCE_MANIFEST), \
 491                 SKIP_METAINF := true))
 492 
 493     $(SUNEC_JAR_DST): $(JCE_MANIFEST)
 494 
 495 endif
 496 
 497 JARS += $(SUNEC_JAR_DST)
 498 
 499 ##########################################################################################
 500 
 501 $(eval $(call SetupArchive,BUILD_SWINGBEANS_JAR,,\
 502                 SRCS:=$(JDK_OUTPUTDIR)/classes,\
 503                 SUFFIXES:=BeanInfo.class .gif,\
 504                 INCLUDES:=javax/swing sun/swing,\
 505                 EXCLUDES:=javax/swing/plaf,\
 506                 EXTRA_FILES:=javax/swing/SwingBeanInfoBase.class sun/swing/BeanInfoUtils.class,\
 507                 JAR:=$(IMAGES_OUTPUTDIR)/lib/dt.jar,\
 508                 SKIP_METAINF:=true))
 509 
 510 JARS+=$(IMAGES_OUTPUTDIR)/lib/dt.jar
 511 
 512 ##########################################################################################
 513 
 514 SUNJCE_PROVIDER_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunjce_provider.jar
 515 
 516 ifndef OPENJDK
 517     SUNJCE_PROVIDER_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/sunjce_provider.jar
 518 
 519     $(SUNJCE_PROVIDER_JAR_DST) : $(SUNJCE_PROVIDER_JAR_SRC)
 520         @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunJCE provider..."
 521         $(MKDIR) -p $(@D)
 522         $(RM) $@
 523         $(CP) $< $@
 524 else
 525 
 526     $(eval $(call SetupArchive,BUILD_SUNJCE_PROVIDER_JAR,,\
 527                 SRCS:=$(JDK_OUTPUTDIR)/classes, \
 528                 SUFFIXES:=.class,\
 529                 INCLUDES:= com/sun/crypto/provider,\
 530                 JAR:=$(SUNJCE_PROVIDER_JAR_DST), \
 531                 MANIFEST:=$(JCE_MANIFEST), \
 532                 SKIP_METAINF := true))
 533 
 534     $(SUNJCE_PROVIDER_JAR_DST): $(JCE_MANIFEST)
 535 
 536 endif
 537 
 538 JARS += $(SUNJCE_PROVIDER_JAR_DST)
 539 
 540 JCE_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/jce.jar
 541 
 542 ifndef OPENJDK
 543 
 544     JCE_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/jce.jar
 545 
 546     $(JCE_JAR_DST) : $(JCE_JAR_SRC)
 547         @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt jce.jar..."
 548         $(MKDIR) -p $(@D)
 549         $(RM) $@
 550         $(CP) $< $@
 551 
 552 else
 553 
 554     $(eval $(call SetupArchive,BUILD_JCE_JAR,,\
 555                 SRCS:=$(JDK_OUTPUTDIR)/classes, \
 556                 SUFFIXES:=.class,\
 557                 INCLUDES:= javax/crypto sun/security/internal,\
 558                 JAR:=$(JCE_JAR_DST), \
 559                 MANIFEST:=$(JCE_MANIFEST), \
 560                 SKIP_METAINF := true))
 561 
 562     $(JCE_JAR_DST): $(JCE_MANIFEST)
 563 
 564 endif
 565 
 566 JARS += $(JCE_JAR_DST)
 567 
 568 ##########################################################################################
 569 
 570 ifdef OPENJDK
 571 
 572 #
 573 # TODO fix so that SetupArchive does not write files into SRCS
 574 #   then we don't need this extra copying
 575 #
 576 # NOTE:  We currently do not place restrictions on our limited export
 577 # policy.  This was not a typo.
 578 #
 579 US_EXPORT_POLICY_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/security/US_export_policy.jar
 580 US_EXPORT_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited
 581 US_EXPORT_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/US_export_policy_jar.tmp
 582 
 583 $(US_EXPORT_POLICY_JAR_TMP)/% : $(US_EXPORT_POLICY_JAR_SRC_DIR)/%
 584         $(MKDIR) -p $(@D)
 585         $(RM) $@
 586         $(CP) $< $@
 587 
 588 US_EXPORT_POLICY_JAR_DEPS := $(US_EXPORT_POLICY_JAR_TMP)/default_US_export.policy
 589 
 590 $(eval $(call SetupArchive,BUILD_US_EXPORT_POLICY_JAR,$(US_EXPORT_POLICY_JAR_DEPS),\
 591                 SRCS:=$(US_EXPORT_POLICY_JAR_TMP), \
 592                 SUFFIXES:= .policy,\
 593                 JAR:=$(US_EXPORT_POLICY_JAR_DST), \
 594                 EXTRA_MANIFEST_ATTR := Crypto-Strength: unlimited, \
 595                 SKIP_METAINF := true))
 596 
 597 JARS += $(US_EXPORT_POLICY_JAR_DST)
 598 
 599 endif
 600 
 601 ##########################################################################################
 602 
 603 
 604 ifdef OPENJDK
 605 
 606 #
 607 # TODO fix so that SetupArchive does not write files into SRCS
 608 #   then we don't need this extra copying
 609 #
 610 LOCAL_POLICY_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/security/local_policy.jar
 611 LOCAL_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/local_policy_jar.tmp
 612 
 613 ifeq ($(UNLIMITED_CRYPTO), true)
 614     LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited
 615     LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/default_local.policy
 616     LOCAL_POLICY_JAR_ATTR := Crypto-Strength: unlimited
 617 else
 618     LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/limited
 619     LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/exempt_local.policy \
 620                          $(LOCAL_POLICY_JAR_TMP)/default_local.policy
 621     LOCAL_POLICY_JAR_ATTR := Crypto-Strength: limited
 622 endif
 623 
 624 $(LOCAL_POLICY_JAR_TMP)/% : $(LOCAL_POLICY_JAR_SRC_DIR)/%
 625         $(MKDIR) -p $(@D)
 626         $(RM) $@
 627         $(CP) $< $@
 628 
 629 $(eval $(call SetupArchive,BUILD_LOCAL_POLICY_JAR,$(LOCAL_POLICY_JAR_DEPS),\
 630                 SRCS:=$(LOCAL_POLICY_JAR_TMP),\
 631                 SUFFIXES:= .policy,\
 632                 JAR:=$(LOCAL_POLICY_JAR_DST), \
 633                 EXTRA_MANIFEST_ATTR := $(LOCAL_POLICY_JAR_ATTR), \
 634                 SKIP_METAINF := true))
 635 
 636 JARS += $(LOCAL_POLICY_JAR_DST)
 637 
 638 endif
 639 
 640 ##########################################################################################
 641 
 642 ifeq ($(OPENJDK_TARGET_OS),windows)
 643 
 644 SUNMSCAPI_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunmscapi.jar
 645 
 646 ifndef OPENJDK
 647 SUNMSCAPI_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/mscapi/sunmscapi.jar
 648 
 649 $(SUNMSCAPI_JAR_DST) : $(SUNMSCAPI_JAR_SRC)
 650         @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunMSCAPI provider..."
 651         $(MKDIR) -p $(@D)
 652         $(RM) $@
 653         $(CP) $< $@
 654 
 655 else
 656 
 657 $(eval $(call SetupArchive,BUILD_SUNMSCAPI_JAR,,\
 658                 SRCS:=$(JDK_OUTPUTDIR)/classes, \
 659                 SUFFIXES:=.class,\
 660                 INCLUDES:= sun/security/mscapi,\
 661                 JAR:=$(SUNMSCAPI_JAR_DST), \
 662                 SKIP_METAINF:=true))
 663 endif
 664 
 665 JARS += $(SUNMSCAPI_JAR_DST)
 666 
 667 endif
 668 
 669 ##########################################################################################
 670 
 671 ifeq ($(OPENJDK_TARGET_OS),solaris)
 672 ifndef OPENJDK
 673 
 674 UCRYPTO_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/ucrypto.jar
 675 UCRYPTO_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ucrypto/ucrypto.jar
 676 
 677 $(UCRYPTO_JAR_DST) : $(UCRYPTO_JAR_SRC)
 678         @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt OracleUcrypto provider..."
 679         $(MKDIR) -p $(@D)
 680         $(RM) $@
 681         $(CP) $< $@
 682 
 683 JARS += $(UCRYPTO_JAR_DST)
 684 
 685 endif
 686 endif
 687 
 688 ##########################################################################################
 689 
 690 # Get the CLDRVERSION
 691 include GensrcCLDR.gmk
 692 
 693 CLDRDATA_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/cldrdata.jar
 694 
 695 $(eval $(call SetupArchive,BUILD_CLDRDATA_JAR,,\
 696                 SRCS:=$(JDK_OUTPUTDIR)/classes,\
 697                 SUFFIXES:=.class,\
 698                 INCLUDES:=sun/text/resources/cldr \
 699                           sun/util/cldr \
 700                           sun/util/resources/cldr,\
 701                 EXCLUDES:=sun/util/cldr/CLDRLocaleProviderAdapter,\
 702                 JAR:=$(CLDRDATA_JAR_DST),\
 703                 EXTRA_MANIFEST_ATTR:=CLDR-Version: $(CLDRVERSION),\
 704                 SKIP_METAINF:=true))
 705 
 706 JARS += $(CLDRDATA_JAR_DST)
 707 
 708 ##########################################################################################
 709 
 710 TOOLS_JAR_INCLUDES := \
 711         sun/tools/asm           \
 712         sun/tools/jar           \
 713         sun/tools/java          \
 714         sun/tools/javac         \
 715         sun/tools/jcmd          \
 716         sun/tools/jps           \
 717         sun/tools/jstat         \
 718         sun/tools/jstatd        \
 719         sun/tools/native2ascii  \
 720         sun/tools/serialver     \
 721         sun/tools/tree          \
 722         sun/tools/util          \
 723         sun/security/tools/jarsigner \
 724         sun/rmi/rmic            \
 725         sun/applet              \
 726         sun/jvmstat             \
 727         com/sun/javadoc         \
 728         com/sun/jdi             \
 729         com/sun/jarsigner       \
 730         com/sun/source          \
 731         com/sun/tools/classfile \
 732         com/sun/tools/doclets   \
 733         com/sun/tools/example/debug/expr \
 734         com/sun/tools/example/debug/tty  \
 735         com/sun/tools/extcheck  \
 736         com/sun/tools/hat       \
 737         com/sun/tools/javac     \
 738         com/sun/tools/javadoc   \
 739         com/sun/tools/javah     \
 740         com/sun/tools/javap     \
 741         com/sun/tools/jdeps     \
 742         com/sun/tools/corba     \
 743         com/sun/tools/internal/xjc       \
 744         com/sun/tools/internal/ws       \
 745         com/sun/istack/internal/tools       \
 746         com/sun/tools/internal/jxc/ap   \
 747         com/sun/tools/internal/ws/wscompile/plugin/at_generated \
 748         com/sun/codemodel       \
 749         com/sun/tools/internal/jxc             \
 750         com/sun/xml/internal/rngom       \
 751         com/sun/xml/internal/xsom       \
 752         org/relaxng/datatype   \
 753         com/sun/xml/internal/dtdparser \
 754         com/sun/tools/jdi       \
 755         com/sun/tools/script/shell      \
 756         com/sun/tools/attach    \
 757         sun/tools/attach        \
 758         sun/tools/jstack        \
 759         sun/tools/jinfo         \
 760         sun/tools/jmap
 761 
 762 # The sjavac tools is not ready for public consumption.
 763 TOOLS_JAR_EXCLUDES=com/sun/tools/sjavac
 764 
 765 $(eval $(call SetupArchive,BUILD_TOOLS_JAR,,\
 766                 SRCS:=$(JDK_OUTPUTDIR)/classes,\
 767                 SUFFIXES:=.class .prp .gif .properties .xml .css .xsd .js .html .txt .java \
 768                           Tool aliasmap options,\
 769                 INCLUDES:=$(TOOLS_JAR_INCLUDES),\
 770                 EXCLUDES:=$(TOOLS_JAR_EXCLUDES),\
 771                 EXTRA_FILES:=META-INF/services/com.sun.jdi.connect.Connector \
 772                              META-INF/services/com.sun.jdi.connect.spi.TransportService \
 773                              META-INF/services/com.sun.tools.attach.spi.AttachProvider \
 774                              META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
 775                              META-INF/services/com.sun.tools.internal.xjc.Plugin,\
 776                 JAR:=$(IMAGES_OUTPUTDIR)/lib/tools.jar,\
 777                 SKIP_METAINF:=true, \
 778                 CHECK_COMPRESS_JAR:=true))
 779 
 780 JARS+=$(IMAGES_OUTPUTDIR)/lib/tools.jar
 781 
 782 ##########################################################################################
 783 
 784 include javadoc/CORE_PKGS.gmk
 785 include javadoc/NON_CORE_PKGS.gmk
 786 
 787 # The compiler should not issue a "Proprietary" warning when compiling
 788 # classes in the com.sun.java.swing.plaf packages, since we've always
 789 # allowed, and even advocated, extending them (see bug 6476749).
 790 #
 791 # This approach is NOT to be used as a general purpose way to avoid such
 792 # compiler warnings for non-core packages. The correct way is to document
 793 # the packages in NON_CORE_PKGS.gmk, and include them in the NON_CORE_PKGS
 794 # definition.
 795 #
 796 # Swing has taken this approach only as a temporary measure to avoid
 797 # the compiler warnings until we can properly document these packages.
 798 # This is covered under 6491853.
 799 EXCLUDE_PROPWARN_PKGS = com.sun.java.swing.plaf.windows  \
 800                         com.sun.java.swing.plaf.motif    \
 801                         com.sun.java.swing.plaf.gtk
 802 
 803 #
 804 # Include the exported private packages in ct.sym.
 805 # This is an interim solution until the ct.sym is replaced
 806 # with a new module system (being discussed for JDK 8).
 807 #
 808 EXPORTED_PRIVATE_PKGS = com.sun.servicetag \
 809                         com.oracle.net \
 810                         com.oracle.nio
 811 
 812 $(IMAGES_OUTPUTDIR)/symbols/_the.symbols: $(IMAGES_OUTPUTDIR)/lib/rt.jar
 813         $(RM) -r $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym
 814         $(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym
 815         $(JAVA) \
 816                 -Xbootclasspath/a:$(JDK_OUTPUTDIR)/classes \
 817                 $(JAVAC_JARS) \
 818             -XDprocess.packages -proc:only \
 819             -processor com.sun.tools.javac.sym.CreateSymbols \
 820             -Acom.sun.tools.javac.sym.Jar=$(IMAGES_OUTPUTDIR)/lib/rt.jar \
 821             -Acom.sun.tools.javac.sym.Dest=$(IMAGES_OUTPUTDIR)/symbols/META-INF/sym/rt.jar \
 822             $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS) $(EXPORTED_PRIVATE_PKGS)
 823         $(TOUCH) $@
 824 
 825 $(shell $(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols)
 826 $(eval $(call SetupArchive,BUILD_CT_SYM,$(IMAGES_OUTPUTDIR)/symbols/_the.symbols,\
 827                 SRCS:=$(IMAGES_OUTPUTDIR)/symbols,\
 828                 INCLUDES:=META-INF/sym,\
 829                 JAR:=$(IMAGES_OUTPUTDIR)/lib/ct.sym, \
 830                 CHECK_COMPRESS_JAR:=true))
 831 
 832 JARS+=$(IMAGES_OUTPUTDIR)/lib/ct.sym
 833 
 834 ##########################################################################################
 835 
 836 SRC_ZIP_INCLUDES = \
 837         java/applet                     \
 838         java/awt                        \
 839         java/beans                      \
 840         java/io                         \
 841         java/lang                       \
 842         java/math                       \
 843         java/net                        \
 844         java/nio                        \
 845         java/rmi                        \
 846         java/security                   \
 847         java/sql                        \
 848         java/text                       \
 849         java/util                       \
 850         com/sun/corba                   \
 851         com/sun/image/codec/jpeg        \
 852         com/sun/imageio                 \
 853         com/sun/java/swing              \
 854         com/sun/javadoc                 \
 855         com/sun/jmx                     \
 856         com/sun/source                  \
 857         com/sun/naming                  \
 858         com/sun/security/auth           \
 859         com/sun/security/jgss           \
 860         javax/accessibility             \
 861         javax/annotation                \
 862         javax/script                    \
 863         javax/imageio                   \
 864         javax/lang                      \
 865         javax/management                \
 866         javax/naming                    \
 867         javax/print                     \
 868         javax/rmi                       \
 869         javax/security                  \
 870         javax/sound                     \
 871         javax/sql                       \
 872         javax/swing                     \
 873         javax/tools                     \
 874         javax/xml                       \
 875         com/sun/org/apache              \
 876         com/sun/java_cup                \
 877         com/sun/jlex                    \
 878         org/ietf                        \
 879         org/omg                         \
 880         org/w3c/dom                     \
 881         org/xml/sax                     \
 882         sunw
 883 
 884 SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes
 885 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gensrc
 886 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/impsrc
 887 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gendocsrc_rmic
 888 ifndef OPENJDK
 889   SRC_ZIP_SRCS += $(JDK_TOPDIR)/src/closed/share/classes
 890 endif
 891 
 892 # Need to copy launcher src files into desired directory structure
 893 # before zipping the sources.
 894 LAUNCHER_SRC_FILES := $(wildcard $(JDK_TOPDIR)/src/share/bin/*) \
 895                       $(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/java_md*)
 896 LAUNCHER_ZIP_SRC := $(patsubst $(JDK_TOPDIR)/src/share/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\
 897                     $(patsubst $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\
 898                         $(LAUNCHER_SRC_FILES)))
 899 
 900 $(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/share/bin/%
 901         $(MKDIR) -p $(@D)
 902         $(RM) $@
 903         $(CP) $< $@
 904 
 905 $(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/%
 906         $(MKDIR) -p $(@D)
 907         $(RM) $@
 908         $(CP) $< $@
 909 
 910 $(IMAGES_OUTPUTDIR)/src.zip: $(LAUNCHER_ZIP_SRC)
 911 
 912 # This dir needs to exist before macro is evaluated to avoid warning from find.
 913 $(eval $(call MakeDir,$(IMAGES_OUTPUTDIR)/src))
 914 $(eval $(call SetupZipArchive,BUILD_SRC_ZIP,\
 915                 SRC:=$(SRC_ZIP_SRCS) $(IMAGES_OUTPUTDIR)/src,\
 916                 INCLUDES:=$(SRC_ZIP_INCLUDES) launcher,\
 917                 EXCLUDES:=javax/swing/beaninfo,\
 918                 SUFFIXES:=.java .c .h,\
 919                 ZIP:=$(IMAGES_OUTPUTDIR)/src.zip,\
 920                 EXTRA_DEPS:=$(LAUNCHER_ZIP_SRC)))
 921 
 922 JARS+=$(IMAGES_OUTPUTDIR)/src.zip
 923 
 924 ##########################################################################################
 925 
 926 -include $(CUSTOM_MAKE_DIR)/CreateJars.gmk
 927 
 928 ##########################################################################################
 929 
 930 all: $(JARS)
 931 
 932 .PHONY: default all