6961079: Build JDK7 for 64 bit Windows using free Windows 7.1 SDK 64 bit compilers
Reviewed-by: ohair, jcoomes
/* * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */// These classes are not referenced in the JDK but we can't// remove them for compatibility reason. Define this module// first so that other modules don't need to exclude these clasesmodule private-legacy { include sun.misc.Cache*, sun.misc.ClassLoaderUtil, sun.misc.Compare, sun.misc.ConditionLock, sun.misc.CRC16, sun.misc.Lock, sun.misc.Regexp, sun.misc.RequestProcessor, sun.misc.Sort, sun.misc.Request, sun.misc.Timeable, sun.misc.Timer, sun.misc.TimerThread, sun.misc.TimerTickThread, sun.misc.UCDecoder, sun.misc.UCEncoder, sun.misc.UUDecoder, sun.misc.UUEncoder, com.sun.net.ssl.SSLContext, sun.net.NetworkServer, sun.net.URLCanonicalizer, sun.reflect.misc.ConstructorUtil, sun.reflect.FieldInfo, sun.reflect.SignatureIterator, sun.reflect.generics.reflectiveObjects.NotImplementedException, sunw.io.Serializable, sunw.util.EventListener, sunw.util.EventObject;}// Deprecated classes that aren't referenced/used go here.module deprecated { // add deprecated security classes once b78 is promoted}/**************************************************************************/module base { // core classes include java.lang.*, java.lang.annotation.*, java.lang.ref.*, java.lang.reflect.*, java.math.*, java.net.*, java.util.*, java.util.concurrent.**, java.util.jar.*, java.util.regex.*, java.util.spi.*, java.util.zip.*, java.text.**; exclude java.util.jar.Pack200*, java.util.XMLUtils, java.text.Bidi; include java.io.*, java.nio.*, java.nio.charset.**; exclude java.io.TempFileHelper, java.nio.BufferPoolMXBean; // security APIs // javax.crypto and javax.security.auth are included to avoid inconsistent // spliting of JCA and JAAS. This adds about 85k. Also note that some deprecated // classes must be included for now (see 6876158, 6876170) include java.security.*, java.security.cert.*, java.security.interfaces.*, java.security.spec.*, javax.security.auth.**, javax.crypto.**; // Sun and RSA security providers (except LDAP CertStore) // roots sun.security.provider.* sun.security.provider.certpath.* sun.security.rsa.* include com.sun.security.auth.PrincipalComparator, com.sun.security.auth.SubjectCodeSource, com.sun.security.auth.login.**, com.sun.security.auth.Policy*, sun.security.action.*, sun.security.ec.*, sun.security.jca.*, sun.security.pkcs.*, sun.security.provider.*, sun.security.provider.certpath.*, sun.security.rsa.*, sun.security.util.*, sun.security.validator.*, sun.security.x509.*, sun.security.timestamp.*; // this list is based on the classlist generated from the rootset // need investigation exclude sun.security.ec.ECD*, sun.security.ec.ECKeyPairGenerator, sun.security.ec.SunEC*, sun.security.pkcs.PKCS10*, sun.security.pkcs.EncodingException, sun.security.util.AuthResources_*, sun.security.util.Resources_*, sun.security.util.BigInt, sun.security.util.HostnameChecker, sun.security.x509.CertAndKeyGen, sun.security.util.PathList; // Kerberos not needed exclude javax.security.auth.kerberos.**, sun.security.jgss.**, sun.security.krb5.**, sun.security.ssl.Kerberos*, org.ietf.jgss.**; // property events and annotations include java.beans.ChangeListenerMap, java.beans.IndexedPropertyChangeEvent, java.beans.PropertyChange*, java.beans.PropertyVetoException, java.beans.VetoableChange*, java.beans.ConstructorProperties; // mandatory charsets include sun.nio.cs.*; exclude sun.nio.cs.AbstractCharsetProvider, sun.nio.cs.CharsetMapping, sun.nio.cs.IBM*, sun.nio.cs.ISO*, sun.nio.cs.KOI8_*, sun.nio.cs.MS125*, sun.nio.cs.UTF_32*, sun.nio.cs.SingleByteDecoder, sun.nio.cs.SingleByteEncoder; allow sun.nio.cs.ISO_8859_1, sun.nio.cs.ISO_8859_15, sun.nio.cs.MS1252; include sun.text.*, sun.text.normalizer.*; // resource files include sun/text/resources/*.icu; exclude sun.text.bidi.*, sun.text.CharArrayCodePointIterator, sun.text.CharSequenceCodePointIterator, sun.text.CharacterIteratorCodePointIterator, sun.text.CodePointIterator; include sun.util.*, sun.util.calendar.*, sun.util.logging.*, sun.util.resources.LocaleData, sun.util.resources.LocaleNamesBundle, sun.util.resources.OpenListResourceBundle; // US_en locale include sun.text.resources.BreakIteratorInfo, sun.text.resources.FormatData, sun.text.resources.FormatData_en_US, sun.util.resources.CalendarData, sun.util.resources.CalendarData_en, sun.util.resources.TimeZoneNames, sun.util.resources.TimeZoneNames_en, sun.util.resources.TimeZoneNamesBundle, sun.util.resources.LocaleNames, sun.util.resources.LocaleNames_en, sun.util.resources.LocalenamesBundles, sun.util.resources.CurrencyNames, sun.util.resources.CurrencyNames_en_US, sun.util.EmptyListResourceBundle; // resources file needed by // - sun.misc.ExtensionInfo // - sun.security.provider.PolicyFile // - com.sun.security.auth.PolicyFile include sun.misc.resources.Messages, sun.security.util.Resources, sun.security.util.AuthResources; // java.nio.channels and java.nio.file not in base include sun.nio.ch.Interruptible, sun.nio.ch.DirectBuffer, sun.nio.ByteBuffered; include sun.reflect.**; // protocol handlers include sun.net.www.protocol.file.*, sun.net.www.protocol.jar.*, sun.net.www.protocol.http.*; include sun.net.*, sun.net.spi.*, sun.net.idn.*, sun.net.util.*, sun.net.www.*, sun.net.www.http.*, sun.net.spi.nameservice.*; // resource file for sun.net.idn include sun/net/idn/*; // classes in net-compat exclude sun.net.Telnet*, sun.net.TransferProtocolClient; // classes in deploy exclude sun.net.www.protocol.http.AuthCacheBridge; // classes in security-jsse exclude java.net.SecureCacheResponse; // launcher include sun.launcher.LauncherHelper, sun.launcher.resources.launcher; include sun.misc.*; exclude sun.misc.FIFOQueueEnumerator, sun.misc.LIFOQueueEnumerator, sun.misc.GC, sun.misc.PerformanceLogger, sun.misc.Queue, sun.misc.QueueElement, sun.misc.Ref, sun.misc.VMSupport; // On Windows, OSEnvironment dependency include sun.io.Win32ErrorMode;}/**************************************************************************/module charsets { include sun.nio.cs.ext.**; include sun.nio.cs.AbstractCharsetProvider, sun.nio.cs.CharsetMapping, sun.nio.cs.IBM*, sun.nio.cs.ISO*, sun.nio.cs.KOI8_*, sun.nio.cs.MS125*, sun.nio.cs.SingleByte*, sun.nio.cs.UTF_32*; exclude sun.nio.cs.ISO_8859_1, sun.nio.cs.MS1252; // legacy sun.io converters include sun.io.*;}/**************************************************************************/// For now, retains the current JRE extensions where localedata.jar in jre/lib/ext module localedata { include sun.util.resources.*_ar, sun.util.resources.*_ar_*, sun.util.resources.*_hi, sun.util.resources.*_hi_*, sun.util.resources.*_iw, sun.util.resources.*_iw_*, sun.util.resources.*_ja, sun.util.resources.*_ja_*, sun.util.resources.*_ko, sun.util.resources.*_ko_*, sun.util.resources.*_th, sun.util.resources.*_th_*, sun.util.resources.*_vi, sun.util.resources.*_vi_*, sun.util.resources.*_zh, sun.util.resources.*_zh_*; include sun.text.resources.*_ar, sun.text.resources.*_ar_*, sun.text.resources.*_hi, sun.text.resources.*_hi_*, sun.text.resources.*_iw, sun.text.resources.*_iw_*, sun.text.resources.*_ja, sun.text.resources.*_ja_*, sun.text.resources.*_ko, sun.text.resources.*_ko_*, sun.text.resources.*_th, sun.text.resources.*_th_*, sun.text.resources.*_vi, sun.text.resources.*_vi_*, sun.text.resources.*_zh, sun.text.resources.*_zh_*;}module resources { include sun.text.resources.*, sun.util.resources.*, sun.misc.resources.*;}/**************************************************************************/module nio { include java.nio.channels.**, java.nio.file.**, com.sun.nio.file.**; // this is excluded from base include java.io.TempFileHelper; // provider implementations and their dependencies include sun.nio.ch.*, sun.nio.fs.**; exclude sun.nio.ch.Sctp*;}/**************************************************************************/module pack200 { include java.util.jar.Pack200*, com.sun.java.util.jar.pack.**;}/**************************************************************************/module logging { include java.util.logging.*, sun.util.logging.**; exclude java.util.logging.PlatformLoggingMXBean; // Formatter for HTTP messages include sun.net.www.protocol.http.logging.*;}/**************************************************************************/module management-snmp { include com.sun.jmx.snmp.**, sun.management.snmp.**;}module management-iiop { include com.sun.jmx.remote.protocol.iiop.*; // stubs and ties include javax.management.remote.rmi._*, org.omg.stub.javax.management.remote.rmi.**;}module management { include java.lang.management.*, com.sun.management.**, sun.management.**; include javax.management.**, com.sun.jmx.**; // other management interfaces include java.nio.BufferPoolMXBean; include java.util.logging.PlatformLoggingMXBean; // supporting classes in sun.misc include sun.misc.VMSupport;}/**************************************************************************/module tracing { // tracing include com.sun.tracing.**, sun.tracing.**;}module instrument { // java.lang.instrument include java.lang.instrument.*, sun.instrument.*; // HPROF support include com.sun.demo.jvmti.hprof.*; include tracing;}/**************************************************************************/module rmi-activation { include java.rmi.activation.**, sun.rmi.server.Act*, sun.rmi.server.InactiveGroupException;}module rmic { // rmic is included in tools include sun.rmi.rmic.**;}module rmi { include java.rmi.**, sun.rmi.**, com.sun.rmi.**; // SSL factories are in rmi include javax.rmi.ssl.**; // supporting classes in sun.misc and dependencies include sun.misc.GC;}/**************************************************************************/module prefs { include java.util.prefs.*;}/**************************************************************************/module security-jsse { include javax.net.**, javax.security.cert.*, java.net.SecureCacheResponse, com.sun.net.ssl.**, com.sun.security.cert.internal.x509.*, sun.security.ssl.*, sun.net.www.protocol.https.**, sun.security.internal.interfaces.Tls*, sun.security.internal.spec.Tls*, sun.security.util.HostnameChecker;}module security-sunpkcs11 { include sun.security.pkcs11.**;}module security-sunjce { include com.sun.crypto.provider.*;}module security-sunec { include sun.security.ec.*;}module security-sunmscapi { include sun.security.mscapi.*;}module security-kerberos { include javax.security.auth.kerberos.*, com.sun.security.jgss.**, com.sun.security.auth.module.Krb5LoginModule, com.sun.security.sasl.gsskerb.**, // GSSAPI SASL mechanism sun.security.jgss.**, sun.security.ssl.krb5.**, sun.security.krb5.**, org.ietf.jgss.**, sun.net.www.protocol.http.spnego.*;}module security-sasl { include javax.security.sasl.**, com.sun.security.sasl.**;}module security-xmldsig { include javax.xml.crypto.**, org.jcp.xml.dsig.**, com.sun.org.apache.xml.internal.security.**;}module security-smartcardio { include javax.smartcardio.**, sun.security.smartcardio.**;}module security-auth { include com.sun.security.auth.**, sun.security.util.AuthResources_*;}module security-misc { include security-auth; include sun.security.pkcs.*, sun.security.pkcs12.*; // this class is a candidate to be removed. include sun.security.util.BigInt;}module security-resources { include sun.security.util.Resources_*;}module security-compat { include java.security.acl.*, sun.security.acl.*;}/**************************************************************************/module jndi-ldap { include javax.naming.ldap.**, com.sun.jndi.ldap.**, com.sun.jndi.url.ldap.*, com.sun.jndi.url.ldaps.*, sun.security.provider.certpath.ldap.**;}module jndi-rmiregistry { include com.sun.jndi.rmi.**, com.sun.jndi.url.rmi.**;}module jndi-dns { include net-dns; include com.sun.jndi.dns.**, com.sun.jndi.url.dns.**;}module jndi-cosnaming { include com.sun.jndi.cosnaming.**, com.sun.jndi.toolkit.corba.**, com.sun.jndi.url.corbaname.**, com.sun.jndi.url.iiop.**, com.sun.jndi.url.iiopname.**;}// framework/API and classes used by providersmodule jndi { include javax.naming.**, com.sun.naming.**, com.sun.jndi.toolkit.ctx.**, com.sun.jndi.toolkit.dir.**, com.sun.jndi.toolkit.url.**;}/**************************************************************************/module jdbc-base { include java.sql.**, javax.sql.*; exclude javax.sql.XA*;}module jdbc-enterprise { include javax.sql.**, com.sun.rowset.**;}module jdbc-odbc { include sun.jdbc.odbc.**;}/**************************************************************************/module scripting { include javax.script.**; // supporting classes for scripting engines include com.sun.script.util.**;}module scripting-rhino { include com.sun.script.javascript.**, sun.org.mozilla.javascript.**;}/**************************************************************************/module httpserver { include com.sun.net.httpserver.**, sun.net.httpserver.**;}/**************************************************************************/module sctp { // API and dependencies include com.sun.nio.sctp.**, sun.nio.ch.Sctp*;}/**************************************************************************/module langtools { include javax.tools.**, javax.lang.model.**, javax.annotation.processing.**; // include mirror API for now include com.sun.mirror.**; // include the JSR292 APIs for now include java.dyn.**, sun.dyn.**;}/**************************************************************************/module beans { include java.beans.**, com.sun.beans.**, sun.beans.**;}/**************************************************************************/module jaxp-parsers-api { include javax.xml.*, javax.xml.parsers.**, org.w3c.dom.**, org.w3c.sax.**, org.xml.sax.**;}module jaxp-api { include javax.xml.**; exclude javax.xml.crypto.**, // XML-DSIG javax.xml.bind.**, // JAX-WS javax.xml.soap.**, javax.xml.ws.**;}module jaxp-xerces-impl { include com.sun.org.apache.xerces.internal.**; // include in xerces-impl due to circular dependencies include com.sun.org.apache.xml.internal.serialize.**, com.sun.xml.internal.stream.**; exclude com.sun.xml.internal.stream.buffer.**; // JAX-WS}// required by Xerces and JAX-WSmodule jaxp-xerces-resolver { include com.sun.org.apache.xml.internal.resolver.**;}module jaxp-xalan { include com.sun.org.apache.xalan.internal.**, com.sun.org.apache.xpath.internal.**, com.sun.org.apache.xml.internal.dtm.**, com.sun.org.apache.xml.internal.res.**, com.sun.org.apache.xml.internal.serializer.**, com.sun.org.apache.xml.internal.utils.**, com.sun.org.apache.bcel.internal.**, com.sun.org.apache.regexp.internal.**, com.sun.java_cup.internal.**;}/**************************************************************************/module jaxws-tools { include com.sun.codemodel.**, com.sun.xml.internal.dtdparser.**, com.sun.xml.internal.rngom.**, com.sun.xml.internal.xsom.**, com.sun.istack.internal.tools.**, com.sun.istack.internal.ws.**, com.sun.tools.internal.xjc.**, com.sun.tools.internal.ws.**, com.sun.tools.internal.jxc.**, org.relaxng.datatype.**;}module jaxws { include javax.jws.**, javax.xml.bind.**, javax.xml.soap.**, javax.xml.ws.**, org.relaxng.**, com.sun.istack.internal.*, com.sun.istack.internal.localization.*, com.sun.xml.internal.**; // include JAF in this module include javax.activation.**, com.sun.activation.**; include META-INF/mailcap.default, META-INF/mimetypes.default;}/**************************************************************************/module enterprise-base { include javax.transaction.**, // JTA javax.annotation.*; // Common annotations (JSR-250)}/**************************************************************************/module corba { include javax.activity.**, javax.rmi.*, javax.rmi.CORBA.*, javax.transaction.**, com.sun.corba.**, com.sun.org.omg.**, org.omg.**, sun.corba.**; // JMX remote API exclude org.omg.stub.javax.management.**;}/**************************************************************************/module applet { include java.applet.**, sun.applet.**;}module awt { include java.awt.**, sun.awt.**, com.sun.awt.**;}module font { include sun.font.**;}module imageio { include javax.imageio.**, com.sun.imageio.**;}module java2d { include sun.dc.**, sun.java2d.**, com.sun.image.**;}module media { include com.sun.media.**;}module print { include javax.print.**, sun.print.**;}module sound { include javax.sound.**;}module swing { include javax.swing.**, sun.swing.**, // sajdi also contains classes in subpackages of com.sun.java.swing; // so use '*' instead of '**' com.sun.java.swing.*, com.sun.java.swing.plaf.**, com.sun.swing.**;}module client { include applet, awt, font, imageio, java2d, media, print, sound, swing; include javax.accessibility.*, sun.audio.**, com.sun.accessibility.**; // Bidi class in client module for now include java.text.Bidi, sun.text.bidi.*; // PerformanceLogger and dependencies include sun.misc.Ref, sun.misc.PerformanceLogger; // misc. dependencies that we need to examine include sun.text.CodePointIterator, sun.text.Char*, sun.misc.Queue*, sun.misc.FIFOQueueEnumerator, sun.misc.LIFOQueueEnumerator; // content handlers include sun.net.www.content.audio.**, sun.net.www.content.image.**;}/**************************************************************************/module jkernel { include sun.jkernel.*;}module deploy { include jkernel; // For now, all plugin and JNLP include com.sun.java.browser.**, netscape.**, sun.plugin.**, sun.plugin2.**,, com.sun.deploy.**, com.sun.javaws.**, javax.jnlp.*, com.sun.jnlp.*; // Hook for http authentication include sun.net.www.protocol.http.AuthCacheBridge;}/**************************************************************************/module net-dns { include sun.net.dns.**; // to access DNS config. include sun.net.spi.nameservice.dns.**; // for DNS-only name service.}module net-compat { // NTLM authentication support include sun.net.www.protocol.http.ntlm.*; // ftp and mail clients include sun.net.ftp.**, sun.net.smtp.**; // Legacy protocol handlers include sun.net.www.protocol.**; // Legacy content handlers include sun.net.www.content.**; include sun.net.Telnet*, sun.net.TransferProtocolClient;}/**************************************************************************/// jar-tool and security-tools are JRE toolsmodule jar-tool { include sun.tools.jar.**;}module policytool { include sun.security.tools.policytool.*;}module security-tools { include sun.security.tools.**; // Used by security tools include sun.security.util.PathList, sun.security.x509.CertAndKeyGen; exclude sun.security.tools.JarBASE64Encoder, sun.security.tools.JarSigner, sun.security.tools.JarSignerParameters, sun.security.tools.JarSignerResources*, sun.security.tools.SignatureFile, sun.security.tools.TimestampedSigner;}module jconsole { include sun.tools.jconsole.**, com.sun.tools.jconsole.*;}module serialver { include sun.tools.serialver.**;}module gui-tools { include jconsole, serialver; include com.sun.tools.example.debug.bdi.**, com.sun.tools.example.debug.gui.**, com.sun.tools.internal.xjc.**;}module attach { include com.sun.tools.attach.**, sun.tools.attach.**;}module debugging { include com.sun.jdi.**, com.sun.tools.jdi.**;}module jdb { include com.sun.tools.example.debug.**;}module sajdi { include sun.jvm.hotspot.**, com.sun.java.swing.ui.**, com.sun.java.swing.action.**; include toolbarButtonGraphics/**; include sa.properties;}module tools { include attach, debugging, jaxws-tools, jdb, rmic, sajdi; // include gui-tools in tools module unless the tool binaries // are modified to load the new gui-tools.jar include gui-tools; include com.sun.tools.**, sun.tools.**, sun.security.tools.**, com.sun.jarsigner.**, com.sun.javac.**, com.sun.javadoc.**, com.sun.source.**, sun.jvmstat.**;}/**************************************************************************/module servicetag { include com.sun.servicetag.**;}/**************************************************************************/// these classes will be removed from JRE - see 6909002module inputmethods-ext { include com.sun.inputmethods.internal.**;}/**************************************************************************/// Workaround for US export and local policy files // They are currently in signed jars under the jre/lib/security directorymodule US_export_policy { include default_US_export.policy;}module local_policy { include default_local.policy, exempt_local.policy;}/**************************************************************************/module other { include **;}