--- old/jdk/make/common/internal/BinaryPlugs.gmk Wed Dec 22 17:40:54 2010 +++ /dev/null Wed Dec 22 17:40:54 2010 @@ -1,270 +0,0 @@ -# -# Copyright (c) 2007, 2008, 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. Oracle designates this -# particular file as subject to the "Classpath" exception as provided -# by Oracle in the LICENSE file that accompanied this code. -# -# 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. -# - -######################################################################## - -# Definitions for openjdk plugs (used by both import and export) - -# Names of native shared libraries - -PLUG_LIBRARY_NAMES= - -# Sub-directory where native shared libraries are located (e.g. jre/bin or...) - -PLUG_LOCATION_SUBDIR=$(ARCH_VM_SUBDIR) - -# Explicit classfile lists - -# WARNING: These classlists will not work with pattern rules, only used in -# shell commands. -# The \$$ patterns will fail in pattern rules, which want $$, -# but the $$ fails in shell commands. -# The shell commands are more important. -# Also, the $1 pattern in these names causes problems with the -# GNU make define feature, so you can't use these in define's. - -PLUG_JMF_CLASS_NAMES = \ -com/sun/jmx/snmp/SnmpDataTypeEnums.class \ -com/sun/jmx/snmp/SnmpDefinitions.class \ -com/sun/jmx/snmp/SnmpOid.class \ -com/sun/jmx/snmp/SnmpOidDatabase.class \ -com/sun/jmx/snmp/SnmpOidDatabaseSupport.class \ -com/sun/jmx/snmp/SnmpOidRecord.class \ -com/sun/jmx/snmp/SnmpOidTable.class \ -com/sun/jmx/snmp/SnmpOidTableSupport.class \ -com/sun/jmx/snmp/SnmpParameters.class \ -com/sun/jmx/snmp/SnmpPduPacket.class \ -com/sun/jmx/snmp/SnmpPeer.class \ -com/sun/jmx/snmp/SnmpTimeticks.class \ -com/sun/jmx/snmp/SnmpVarBind.class \ -com/sun/jmx/snmp/SnmpVarBindList.class \ -com/sun/jmx/snmp/Timestamp.class \ -com/sun/jmx/snmp/daemon/SendQ.class \ -com/sun/jmx/snmp/daemon/SnmpInformRequest.class \ -com/sun/jmx/snmp/daemon/SnmpQManager.class \ -com/sun/jmx/snmp/daemon/SnmpRequestCounter.class \ -com/sun/jmx/snmp/daemon/SnmpResponseHandler.class \ -com/sun/jmx/snmp/daemon/SnmpSendServer.class \ -com/sun/jmx/snmp/daemon/SnmpSession.class \ -com/sun/jmx/snmp/daemon/SnmpSocket.class \ -com/sun/jmx/snmp/daemon/SnmpTimerServer.class \ -com/sun/jmx/snmp/daemon/WaitQ.class - -# Class list temp files (used by both import and export of plugs) - -PLUG_TEMPDIR=$(ABS_TEMPDIR)/plugs -PLUG_CLASS_AREAS = jmf -PLUG_CLISTS = $(PLUG_CLASS_AREAS:%=$(PLUG_TEMPDIR)/%.clist) - -# Create jargs file command - -define plug-create-jargs -@$(prep-target) -$(SED) -e "s@^@-C $(CLASSDESTDIR) @" $< > $@ -endef # plug-create-clist-jargs - -# Create clist (class name list) and jargs file (input to jar) -# Need these files to avoid long command lines which fail on some systems. - -$(PLUG_TEMPDIR)/jmf.clist: - @$(prep-target) - @for i in $(PLUG_JMF_CLASS_NAMES) ; do \ - $(ECHO) "$$i" >> $@; \ - done -$(PLUG_TEMPDIR)/all.clist: $(PLUG_CLISTS) - @$(prep-target) - $(CAT) $(PLUG_CLISTS) > $@ -$(PLUG_TEMPDIR)/jmf.jargs: $(PLUG_TEMPDIR)/jmf.clist - $(plug-create-jargs) -$(PLUG_TEMPDIR)/all.jargs: $(PLUG_TEMPDIR)/all.clist - $(plug-create-jargs) - -# -# Specific to OPENJDK import of binary plugs -# - -ifdef OPENJDK - -# Import - -PLUG_IMPORT_DIR=$(BINARY_PLUGS_PATH) -PLUG_IMPORT_JARFILE=$(BINARY_PLUGS_JARFILE) - -# Import file command - -define import-binary-plug-file -@$(ECHO) "PLUG IMPORT: $(@F)" -$(install-non-module-file) -endef # import-binary-plug-file - -# Import classes command - -define import-binary-plug-classes -@$(MKDIR) -p $(CLASSDESTDIR) -@$(CAT) $1 | $(SED) -e 's/^/PLUG IMPORT: /' -($(CD) $(CLASSDESTDIR) && $(BOOT_JAR_CMD) xf $(PLUG_IMPORT_JARFILE) @$1 $(BOOT_JAR_JFLAGS) ) -($(CD) $(CLASSDESTDIR) && $(java-vm-cleanup) ) -endef # import-binary-plug-classes - -# Import specific area classes (the classes are always created) - -import-binary-plug-jmf-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/jmf.clist - $(call import-binary-plug-classes,$(PLUG_TEMPDIR)/jmf.clist) - -# Import all classes from the jar file - -import-binary-plug-jar: \ - import-binary-plug-jmf-classes - -# Binary plug start/complete messages - -import-binary-plugs-started: - @$(ECHO) "BinaryPlugs import started: `date`" - @$(ECHO) "BINARY_PLUGS_PATH=$(BINARY_PLUGS_PATH)" -import-binary-plugs-completed: - @$(ECHO) "BinaryPlugs import completed: `date`" - -# Import lib files (only if they don't exist already) - -import-binary-plugs-libs: \ - $(PLUG_LIBRARY_NAMES:%=$(LIB_LOCATION)/%) - -# Import everything - -import-binary-plugs: \ - import-binary-plugs-started \ - import-binary-plugs-libs \ - import-binary-plug-jar \ - import-binary-plugs-completed - -# All these targets are phony (no filenames) - -.PHONY: import-binary-plugs-started \ - import-binary-plugs-completed \ - import-binary-plugs-libs \ - import-binary-plugs \ - import-binary-plug-jar \ - import-binary-plug-jmf-classes - -else # !OPENJDK - -# -# Specific to exporting binary plugs for OPENJDK (e.g. OPENJDK is NOT defined) -# - -# Export names (See make/common/Defs.gmk for BINARY_PLUGS_JARNAME definition) - -PLUG_EXPORT_DIRNAME=openjdk-binary-plugs-image -PLUG_EXPORT_DIR=$(OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME) -PLUG_EXPORT_JARFILE=$(PLUG_EXPORT_DIR)/jre/lib/$(BINARY_PLUGS_JARNAME) - -# Export file command - -define export-binary-plug-file -@$(ECHO) "PLUG EXPORT: $(@F)" -$(install-non-module-file) -endef # export-binary-plug-file - -# OpenJDK Binary Plug License - -$(PLUG_EXPORT_DIR)/LICENSE: $(CLOSED_SHARE_SRC)/doc/openjdk/binary-plugs/LICENSE - $(export-binary-plug-file) -export-binary-plugs-license: $(PLUG_EXPORT_DIR)/LICENSE - -# Create jar file of plug classes (always created) - -$(PLUG_EXPORT_JARFILE): $(PLUG_TEMPDIR)/all.clist $(PLUG_TEMPDIR)/all.jargs - @$(prep-target) - @$(ECHO) "PLUG EXPORT: $(@F)" - @$(CAT) $(PLUG_TEMPDIR)/all.clist | $(SED) -e 's/^/PLUG EXPORT: /' - $(BOOT_JAR_CMD) cf $@ @$(PLUG_TEMPDIR)/all.jargs $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) -export-binary-plugs-jar: $(PLUG_EXPORT_JARFILE) - -# Export binary plug start/complete messages - -export-binary-plugs-started: - @$(ECHO) "BinaryPlugs export started: `date`" - @$(ECHO) "PLUG_EXPORT_DIR=$(PLUG_EXPORT_DIR)" - $(RM) -r $(PLUG_EXPORT_DIR) - @$(MKDIR) -p $(PLUG_EXPORT_DIR) - @$(MKDIR) -p $(PLUG_TEMPDIR) -export-binary-plugs-completed: - @$(RM) -r $(PLUG_TEMPDIR) - @$(ECHO) "BinaryPlugs export completed: `date`" - -# Export lib files (only if they don't exist already) - -export-binary-plugs-libs: \ - $(PLUG_LIBRARY_NAMES:%=$(PLUG_EXPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/%) - -# Export everything - -export-binary-plugs: \ - export-binary-plugs-started \ - export-binary-plugs-libs \ - export-binary-plugs-license \ - export-binary-plugs-jar \ - export-binary-plugs-completed - -# All these targets are phony (no filenames) - -.PHONY: export-binary-plugs-started \ - export-binary-plugs-license \ - export-binary-plugs-jar \ - export-binary-plugs-libs \ - export-binary-plugs-completed \ - export-binary-plugs - -# Rules that test the export and import of plugs (only when you can export) - -TEST_OUTPUTDIR=$(ABS_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-testing-plugs -TEST_PLUG_COPY=$(TEST_OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME)-testcopy - -# Run export-binary-plugs first, then use this rule to test an import - -test-binary-plugs: $(TEST_PLUG_COPY) - $(RM) -r $(TEST_OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME) - $(MKDIR) -p $(TEST_OUTPUTDIR) - @$(ECHO) "Testing import of plugs" - ($(CD) $(JDK_TOPDIR)/make && \ - $(MAKE) OPENJDK=true \ - ALT_OUTPUTDIR=$(TEST_OUTPUTDIR) \ - ALT_JDK_IMPORT_PATH=$(JDK_IMPORT_PATH) \ - ALT_BINARY_PLUGS_PATH=$(TEST_PLUG_COPY) \ - import-binary-plugs ) - $(RM) -r $(TEST_OUTPUTDIR) - @$(ECHO) "Testing of plugs was successful" - -$(TEST_PLUG_COPY): - @$(ECHO) "Creating test plug copy" - $(RM) -r $@ - $(MKDIR) -p $(@D) - $(CP) -r -p $(PLUG_EXPORT_DIR) $@ - -.PHONY: test-binary-plugs - -endif # !OPENJDK -