makefiles/BuildJaxws.gmk

Fri, 04 Jan 2013 11:31:32 +0100

author
erikj
date
Fri, 04 Jan 2013 11:31:32 +0100
changeset 347
51f3117e2b75
parent 334
c30a7cb5c587
child 353
54beebb17494
permissions
-rw-r--r--

8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
Reviewed-by: ohair

ohair@334 1 #
erikj@347 2 # Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
ohair@334 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
ohair@334 4 #
ohair@334 5 # This code is free software; you can redistribute it and/or modify it
ohair@334 6 # under the terms of the GNU General Public License version 2 only, as
ohair@334 7 # published by the Free Software Foundation. Oracle designates this
ohair@334 8 # particular file as subject to the "Classpath" exception as provided
ohair@334 9 # by Oracle in the LICENSE file that accompanied this code.
ohair@334 10 #
ohair@334 11 # This code is distributed in the hope that it will be useful, but WITHOUT
ohair@334 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ohair@334 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
ohair@334 14 # version 2 for more details (a copy is included in the LICENSE file that
ohair@334 15 # accompanied this code).
ohair@334 16 #
ohair@334 17 # You should have received a copy of the GNU General Public License version
ohair@334 18 # 2 along with this work; if not, write to the Free Software Foundation,
ohair@334 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ohair@334 20 #
ohair@334 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ohair@334 22 # or visit www.oracle.com if you need additional information or have any
ohair@334 23 # questions.
ohair@334 24 #
ohair@334 25
ohair@334 26 # This must be the first rule
ohair@334 27 default: all
ohair@334 28
ohair@334 29 include $(SPEC)
ohair@334 30 include MakeBase.gmk
ohair@334 31 include JavaCompilation.gmk
ohair@334 32
ohair@334 33 JAVAC_JARS ?= -Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \
ohair@334 34 -jar $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar
ohair@334 35 DISABLE_JAXWS_WARNINGS:=-Xlint:all,-varargs,-rawtypes,-deprecation,-unchecked,-serial,-dep-ann,-cast,-fallthrough,-static
ohair@334 36
ohair@334 37 # The generate new bytecode uses the new compiler for to generate bytecode
ohair@334 38 # for the new jdk that is being built. The code compiled by this setup
ohair@334 39 # cannot necessarily be run with the boot jdk.
ohair@334 40 $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG,\
ohair@334 41 JVM:=$(JAVA),\
ohair@334 42 JAVAC:=$(JAVAC_JARS),\
ohair@334 43 FLAGS:=-XDignore.symbol.file=true $(DISABLE_JAXWS_WARNINGS) -g,\
ohair@334 44 SERVER_DIR:=$(SJAVAC_SERVER_DIR),\
ohair@334 45 SERVER_JVM:=$(SJAVAC_SERVER_JAVA)))
ohair@334 46
ohair@334 47 # Dummy here is needed to trigger copying of META-INF
ohair@334 48 $(eval $(call SetupJavaCompilation,BUILD_JAF,\
ohair@334 49 SETUP:=GENERATE_NEWBYTECODE_DEBUG,\
ohair@334 50 SRC:=$(JAXWS_TOPDIR)/src/share/jaf_classes,\
ohair@334 51 COPY:="dummy",\
ohair@334 52 BIN:=$(JAXWS_OUTPUTDIR)/jaf_classes))
ohair@334 53
ohair@334 54 $(eval $(call SetupJavaCompilation,BUILD_JAXWS,\
ohair@334 55 SETUP:=GENERATE_NEWBYTECODE_DEBUG,\
ohair@334 56 SRC:=$(JAXWS_TOPDIR)/src/share/jaxws_classes,\
ohair@334 57 BIN:=$(JAXWS_OUTPUTDIR)/jaxws_classes,\
ohair@334 58 COPY:=.xsd,\
ohair@334 59 COPY_FILES:=$(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java \
ohair@334 60 $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java,\
ohair@334 61 ADD_JAVAC_FLAGS=-cp $(OUTPUT_ROOT)/jaxp/dist/lib/classes.jar))
ohair@334 62
ohair@334 63 $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin: \
ohair@334 64 $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin
ohair@334 65 mkdir -p $(@D)
ohair@334 66 cp $< $@
ohair@334 67
ohair@334 68 $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin: \
ohair@334 69 $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.xjc.Plugin
ohair@334 70 mkdir -p $(@D)
ohair@334 71 cp $< $@
ohair@334 72
ohair@334 73 # There are two META-INF services files that are needed, add these to the list of goals
ohair@334 74 BUILD_JAXWS += $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
ohair@334 75 $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin
ohair@334 76
erikj@347 77 # Imitate the property cleaning mechanism in the old build. This will likely be replaced
erikj@347 78 # by the unified functionality in JavaCompilation.gmk, but keep it the same as old build
erikj@347 79 # for now, even though it actually breaks properties containing # in the value.
erikj@347 80 # Using nawk to avoid solaris sed.
erikj@347 81 $(JAXWS_OUTPUTDIR)/jaxws_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaxws_classes/%.properties
erikj@347 82 $(MKDIR) -p $(@D)
erikj@347 83 $(RM) $@ $@.tmp
erikj@347 84 $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp
erikj@347 85 $(MV) $@.tmp $@
erikj@347 86
erikj@347 87 JAXWS_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaxws_classes -name "*.properties")
erikj@347 88 TARGET_PROP_FILES := $(patsubst $(JAXWS_TOPDIR)/src/share/jaxws_classes/%,\
erikj@347 89 $(JAXWS_OUTPUTDIR)/jaxws_classes/%,$(JAXWS_SRC_PROP_FILES))
erikj@347 90
erikj@347 91 $(JAXWS_OUTPUTDIR)/jaf_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaf_classes/%.properties
erikj@347 92 $(MKDIR) -p $(@D)
erikj@347 93 $(RM) $@ $@.tmp
erikj@347 94 $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp
erikj@347 95 $(MV) $@.tmp $@
erikj@347 96
erikj@347 97 JAF_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaf_classes -name "*.properties")
erikj@347 98 TARGET_PROP_FILES += $(patsubst $(JAXWS_TOPDIR)/src/share/jaf_classes/%,\
erikj@347 99 $(JAXWS_OUTPUTDIR)/jaf_classes/%,$(JAF_SRC_PROP_FILES))
erikj@347 100
erikj@347 101 $(eval $(call SetupArchive,ARCHIVE_JAXWS,$(BUILD_JAXWS) $(BUILD_JAF) $(TARGET_PROP_FILES),\
ohair@334 102 SRCS:=$(JAXWS_OUTPUTDIR)/jaxws_classes $(JAXWS_OUTPUTDIR)/jaf_classes,\
ohair@334 103 SUFFIXES:=.class .properties .xsd .java \
ohair@334 104 com.sun.mirror.apt.AnnotationProcessorFactory \
ohair@334 105 com.sun.tools.internal.xjc.Plugin,\
ohair@334 106 JAR:=$(JAXWS_OUTPUTDIR)/dist/lib/classes.jar))
ohair@334 107
ohair@334 108 $(eval $(call SetupZipArchive,ZIP_JAXWS_SOURCES,\
ohair@334 109 SRC:=$(JAXWS_TOPDIR)/src/share/jaf_classes $(JAXWS_TOPDIR)/src/share/jaxws_classes,\
ohair@334 110 ZIP:=$(JAXWS_OUTPUTDIR)/dist/lib/src.zip))
ohair@334 111
ohair@334 112 all: $(JAXWS_OUTPUTDIR)/dist/lib/classes.jar $(JAXWS_OUTPUTDIR)/dist/lib/src.zip
ohair@334 113
ohair@334 114 .PHONY: default all

mercurial