jdk/makefiles/CompileJavaClasses.gmk
changeset 21128 2a7460bba7a5
parent 20884 66f924cdfeb9
child 21130 0f0b9c8f701a
equal deleted inserted replaced
21051:4a4dbcf7cb7d 21128:2a7460bba7a5
   279   # EXCLUDES += tests/java/com/apple/jobjc
   279   # EXCLUDES += tests/java/com/apple/jobjc
   280 
   280 
   281   EXCLUDES += com/apple/jobjc
   281   EXCLUDES += com/apple/jobjc
   282 endif
   282 endif
   283 
   283 
       
   284 # The security classes should not end up in the classes directory as that will prevent them
       
   285 # from working when running the exploded jdk image. Compile them separately to a different
       
   286 # directory from where the jars can be created.
       
   287 SECURITY_PKGS := \
       
   288     com/oracle/security/ucrypto \
       
   289     com/sun/crypto/provider \
       
   290     javax/crypto \
       
   291     sun/security/ec \
       
   292     sun/security/internal \
       
   293     sun/security/mscapi \
       
   294     sun/security/pkcs11 \
       
   295     #
       
   296 
   284 # The exception handling of swing beaninfo
   297 # The exception handling of swing beaninfo
   285 # These resources violates the convention of having code and resources together under
   298 # These resources violates the convention of having code and resources together under
   286 # $(JDK_TOPDIR)/src/.../classes directories
   299 # $(JDK_TOPDIR)/src/.../classes directories
   287 $(JDK_OUTPUTDIR)/classes/javax/swing/beaninfo/images/%.gif: $(JDK_TOPDIR)/make/tools/swing-beans/beaninfo/images/%.gif
   300 $(JDK_OUTPUTDIR)/classes/javax/swing/beaninfo/images/%.gif: $(JDK_TOPDIR)/make/tools/swing-beans/beaninfo/images/%.gif
   288 	$(call install-file)
   301 	$(call install-file)
   291 # JDK_FILTER at the make command line, only a subset of the JDK java files will
   304 # JDK_FILTER at the make command line, only a subset of the JDK java files will
   292 # be recompiled. If multiple paths are separated by comma, convert that into a
   305 # be recompiled. If multiple paths are separated by comma, convert that into a
   293 # space separated list.
   306 # space separated list.
   294 JDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER)))
   307 JDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER)))
   295 
   308 
   296 $(eval $(call SetupJavaCompilation,BUILD_JDK, \
   309 ifeq ($(ENABLE_SJAVAC),yes)
       
   310   # With sjavac enabled, excluded sources are not even considered for linking. 
       
   311   # Explicitly add the security sources to sourcepath for linking.
       
   312   BUILD_JDK_SOURCEPATH:=$(patsubst %,-i$(SPACE)%.*,$(subst /,.,$(SECURITY_PKGS))) \
       
   313       -sourcepath $(JDK_TOPDIR)/src/share/classes
       
   314 endif
       
   315 
       
   316 $(eval $(call SetupJavaCompilation,BUILD_JDK,\
       
   317     SETUP:=GENERATE_JDKBYTECODE,\
       
   318     SRC:=$(JDK_TOPDIR)/src/share/classes \
       
   319         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \
       
   320         $(MACOSX_SRC_DIRS) \
       
   321         $(JDK_OUTPUTDIR)/gensrc \
       
   322         $(JDK_OUTPUTDIR)/gensrc_no_srczip \
       
   323         $(CLOSED_SRC_DIRS),\
       
   324     INCLUDES:=$(JDK_USER_DEFINED_FILTER),\
       
   325     EXCLUDES:=$(EXCLUDES) $(SECURITY_PKGS),\
       
   326     EXCLUDE_FILES:=$(EXFILES),\
       
   327     BIN:=$(JDK_OUTPUTDIR)/classes,\
       
   328     COPY:=$(COPY_PATTERNS),\
       
   329     COPY_FILES:=$(COPY_FILES),\
       
   330     HEADERS:=$(JDK_OUTPUTDIR)/gensrc_headers,\
       
   331     ADD_JAVAC_FLAGS:=$(BUILD_JDK_SOURCEPATH)))
       
   332 
       
   333 ##########################################################################################
       
   334 
       
   335 $(eval $(call SetupJavaCompilation,BUILD_SECURITY, \
   297     SETUP := GENERATE_JDKBYTECODE, \
   336     SETUP := GENERATE_JDKBYTECODE, \
   298     SRC := $(JDK_TOPDIR)/src/share/classes \
   337     SRC := $(JDK_TOPDIR)/src/share/classes \
   299          $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \
   338         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \
   300          $(MACOSX_SRC_DIRS) \
   339         $(MACOSX_SRC_DIRS) \
   301          $(JDK_OUTPUTDIR)/gensrc \
   340         $(CLOSED_SRC_DIRS), \
   302          $(JDK_OUTPUTDIR)/gensrc_no_srczip \
   341     INCLUDES := $(SECURITY_PKGS), \
   303          $(CLOSED_SRC_DIRS), \
       
   304     INCLUDES := $(JDK_USER_DEFINED_FILTER), \
       
   305     EXCLUDES := $(EXCLUDES), \
   342     EXCLUDES := $(EXCLUDES), \
   306     EXCLUDE_FILES := $(EXFILES), \
   343     EXCLUDE_FILES := $(EXFILES), \
   307     BIN := $(JDK_OUTPUTDIR)/classes, \
   344     BIN := $(JDK_OUTPUTDIR)/classes_security, \
   308     COPY := $(COPY_PATTERNS), \
       
   309     COPY_FILES := $(COPY_FILES), \
       
   310     HEADERS := $(JDK_OUTPUTDIR)/gensrc_headers))
   345     HEADERS := $(JDK_OUTPUTDIR)/gensrc_headers))
       
   346 
       
   347 $(BUILD_SECURITY): $(BUILD_JDK)
   311 
   348 
   312 ##########################################################################################
   349 ##########################################################################################
   313 
   350 
   314 $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin:
   351 $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin:
   315 	$(MKDIR) -p $(@D)
   352 	$(MKDIR) -p $(@D)
   391   endif
   428   endif
   392 endif
   429 endif
   393 
   430 
   394 ##########################################################################################
   431 ##########################################################################################
   395 
   432 
   396 all: $(BUILD_JDK) $(BUILD_JOBJC) $(BUILD_JOBJC_HEADERS) $(COPY_EXTRA) \
   433 all: $(BUILD_JDK) $(BUILD_SECURITY) $(BUILD_JOBJC) $(BUILD_JOBJC_HEADERS) $(COPY_EXTRA) \
   397     $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \
   434     $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \
   398     $(BUILD_ACCESSBRIDGE_32) $(BUILD_ACCESSBRIDGE_64) \
   435     $(BUILD_ACCESSBRIDGE_32) $(BUILD_ACCESSBRIDGE_64) \
   399     $(BUILD_ACCESSBRIDGE_LEGACY)
   436     $(BUILD_ACCESSBRIDGE_LEGACY)
   400 
   437 
   401 .PHONY: all
   438 .PHONY: all