makefiles/CompileJavaClasses.gmk
Print this page
*** 43,53 ****
com/sun/tools/example/debug/bdi\
com/sun/tools/example/debug/event\
com/sun/tools/example/debug/gui \
com/oracle/security
! ifeq ($(PLATFORM)-$(ARCH_DATA_MODEL),windows-64)
EXCLUDES += sun/security/pkcs11
endif
ifdef OPENJDK
EXCLUDES+= sun/dc \
--- 43,53 ----
com/sun/tools/example/debug/bdi\
com/sun/tools/example/debug/event\
com/sun/tools/example/debug/gui \
com/oracle/security
! ifeq ($(OPENJDK_TARGET_OS)-$(ARCH_DATA_MODEL),windows-64)
EXCLUDES += sun/security/pkcs11
endif
ifdef OPENJDK
EXCLUDES+= sun/dc \
*** 59,109 ****
ifndef OPENJDK
# There exists two versions of this file...
EXFILES := $(JDK_TOPDIR)/src/share/classes/javax/crypto/JarVerifier.java
endif
! ifneq ($(PLATFORM),solaris)
# Exclude Solaris nio and two security related files in src/share/classes
EXFILES += SolarisAclFileAttributeView.java \
SolarisFileStore.java \
SolarisFileSystem.java \
SolarisFileSystemProvider.java \
SolarisNativeDispatcher.java \
SolarisUserDefinedFileAttributeView.java \
SolarisWatchService.java \
SolarisAclFileAttributeView.java \
- SolarisFileStore.java \
- SolarisFileSystem.java \
- SolarisFileSystemProvider.java \
- SolarisUserDefinedFileAttributeView.java \
- SolarisNativeDispatcher.java \
- SolarisWatchService.java \
SolarisLoginModule.java \
SolarisSystem.java \
sun/tools/attach/SolarisAttachProvider.java \
sun/tools/attach/SolarisVirtualMachine.java
endif
# In the old build, this isn't excluded on macosx, even though it probably
# should be.
! ifneq ($(PLATFORM),macosx)
EXFILES+=WrapperGenerator.java
endif
! ifneq ($(PLATFORM),windows)
# Exclude Window security related files in src/share/classes
EXFILES+=NTLoginModule.java \
NTSystem.java
endif
! ifeq ($(PLATFORM),windows)
# Don't build GTK L&F on Windows
EXCLUDES+= com/sun/java/swing/plaf/gtk
endif
! ifneq ($(PLATFORM),linux)
EXFILES+=sun/tools/attach/LinuxAttachProvider.java \
sun/tools/attach/LinuxVirtualMachine.java \
sun/nio/fs/LinuxDosFileAttributeView.java \
sun/nio/fs/LinuxFileStore.java \
sun/nio/fs/LinuxFileSystem.java \
--- 59,106 ----
ifndef OPENJDK
# There exists two versions of this file...
EXFILES := $(JDK_TOPDIR)/src/share/classes/javax/crypto/JarVerifier.java
endif
! ifneq ($(OPENJDK_TARGET_OS),solaris)
# Exclude Solaris nio and two security related files in src/share/classes
EXFILES += SolarisAclFileAttributeView.java \
SolarisFileStore.java \
SolarisFileSystem.java \
SolarisFileSystemProvider.java \
SolarisNativeDispatcher.java \
SolarisUserDefinedFileAttributeView.java \
SolarisWatchService.java \
SolarisAclFileAttributeView.java \
SolarisLoginModule.java \
SolarisSystem.java \
+ sun/nio/ch/EventPortSelectorImpl.java \
+ sun/nio/ch/EventPortSelectorProvider.java \
+ sun/nio/ch/EventPortWrapper.java \
sun/tools/attach/SolarisAttachProvider.java \
sun/tools/attach/SolarisVirtualMachine.java
endif
# In the old build, this isn't excluded on macosx, even though it probably
# should be.
! ifneq ($(OPENJDK_TARGET_OS),macosx)
EXFILES+=WrapperGenerator.java
endif
! ifneq ($(OPENJDK_TARGET_OS),windows)
# Exclude Window security related files in src/share/classes
EXFILES+=NTLoginModule.java \
NTSystem.java
endif
! ifeq ($(OPENJDK_TARGET_OS),windows)
# Don't build GTK L&F on Windows
EXCLUDES+= com/sun/java/swing/plaf/gtk
endif
! ifneq ($(OPENJDK_TARGET_OS),linux)
EXFILES+=sun/tools/attach/LinuxAttachProvider.java \
sun/tools/attach/LinuxVirtualMachine.java \
sun/nio/fs/LinuxDosFileAttributeView.java \
sun/nio/fs/LinuxFileStore.java \
sun/nio/fs/LinuxFileSystem.java \
*** 111,121 ****
sun/nio/fs/LinuxNativeDispatcher.java \
sun/nio/fs/LinuxUserDefinedFileAttributeView.java \
sun/nio/fs/LinuxWatchService.java
endif
! ifneq ($(PLATFORM),macosx)
EXFILES+=sun/nio/fs/BsdFileStore.java \
sun/nio/fs/BsdFileSystem.java \
sun/nio/fs/BsdFileSystemProvider.java \
sun/nio/fs/BsdNativeDispatcher.java \
sun/tools/attach/BsdAttachProvider.java \
--- 108,118 ----
sun/nio/fs/LinuxNativeDispatcher.java \
sun/nio/fs/LinuxUserDefinedFileAttributeView.java \
sun/nio/fs/LinuxWatchService.java
endif
! ifneq ($(OPENJDK_TARGET_OS),macosx)
EXFILES+=sun/nio/fs/BsdFileStore.java \
sun/nio/fs/BsdFileSystem.java \
sun/nio/fs/BsdFileSystemProvider.java \
sun/nio/fs/BsdNativeDispatcher.java \
sun/tools/attach/BsdAttachProvider.java \
*** 135,149 ****
ifdef OPENJDK
EXCLUDES+=sun/java2d/cmm/kcms
endif
# Used on windows and macosx
! ifeq (,$(filter $(PLATFORM), windows macosx))
EXFILES+=sun/awt/AWTCharset.java
endif
! ifneq ($(PLATFORM), macosx)
#
# Not in rt.jar on solaris and linux...(windows not checked)
# in rt.jar on macosx ??
EXFILES+=sun/awt/X11/ScreenFormat.java \
sun/awt/X11/XArc.java \
--- 132,146 ----
ifdef OPENJDK
EXCLUDES+=sun/java2d/cmm/kcms
endif
# Used on windows and macosx
! ifeq (,$(filter $(OPENJDK_TARGET_OS), windows macosx))
EXFILES+=sun/awt/AWTCharset.java
endif
! ifneq ($(OPENJDK_TARGET_OS), macosx)
#
# Not in rt.jar on solaris and linux...(windows not checked)
# in rt.jar on macosx ??
EXFILES+=sun/awt/X11/ScreenFormat.java \
sun/awt/X11/XArc.java \
*** 190,200 ****
endif
# Exclude another implicitly not included file.
EXFILES+=sun/util/locale/AsciiUtil.java
! ifeq (,$(filter $(PLATFORM), solaris macosx))
#
# only solaris and macosx
#
EXFILES+=sun/nio/fs/PollingWatchService.java
endif
--- 187,197 ----
endif
# Exclude another implicitly not included file.
EXFILES+=sun/util/locale/AsciiUtil.java
! ifeq (,$(filter $(OPENJDK_TARGET_OS), solaris macosx))
#
# only solaris and macosx
#
EXFILES+=sun/nio/fs/PollingWatchService.java
endif
*** 203,213 ****
# Exclude *-linux-arm.java and *-linux-ppc.java from closed.
EXFILES+=-linux-arm.java \
-linux-ppc.java
# TODO: Is this necessary?
! ifeq ($(PLATFORM), windows)
EXFILES+=sun/nio/ch/AbstractPollSelectorImpl.java \
sun/nio/ch/DevPollArrayWrapper.java \
sun/nio/ch/DevPollSelectorImpl.java \
sun/nio/ch/DevPollSelectorProvider.java \
sun/nio/ch/InheritedChannel.java \
--- 200,210 ----
# Exclude *-linux-arm.java and *-linux-ppc.java from closed.
EXFILES+=-linux-arm.java \
-linux-ppc.java
# TODO: Is this necessary?
! ifeq ($(OPENJDK_TARGET_OS), windows)
EXFILES+=sun/nio/ch/AbstractPollSelectorImpl.java \
sun/nio/ch/DevPollArrayWrapper.java \
sun/nio/ch/DevPollSelectorImpl.java \
sun/nio/ch/DevPollSelectorProvider.java \
sun/nio/ch/InheritedChannel.java \
*** 246,267 ****
include CopyIntoClasses.gmk
# Now we have COPY_PATTERNS, COPY_FILES and COPY_EXTRA
ifndef OPENJDK
CLOSED_SRC_DIRS:=$(JDK_TOPDIR)/src/closed/share/classes \
! $(JDK_TOPDIR)/src/closed/$(LEGACY_HOST_OS_API)/classes
endif
MACOSX_SRC_DIRS :=
! ifeq ($(PLATFORM),macosx)
MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes
# this files are duplicated in MACOSX_SRC_DIRS
EXFILES+= $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \
$(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \
$(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \
$(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java
endif
# The exception handling of swing beaninfo
# These resources violates the convention of having code and resources together under
# $(JDK_TOPDIR)/src/.../classes directories
--- 243,270 ----
include CopyIntoClasses.gmk
# Now we have COPY_PATTERNS, COPY_FILES and COPY_EXTRA
ifndef OPENJDK
CLOSED_SRC_DIRS:=$(JDK_TOPDIR)/src/closed/share/classes \
! $(JDK_TOPDIR)/src/closed/$(LEGACY_OPENJDK_TARGET_OS_API)/classes
endif
MACOSX_SRC_DIRS :=
! ifeq ($(OPENJDK_TARGET_OS),macosx)
MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes
# this files are duplicated in MACOSX_SRC_DIRS
EXFILES+= $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \
$(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \
$(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \
$(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java
+
+ # JObjC.jar contains 1.5 byte-code...so skip it here :-(
+ # MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/jobjc/src
+ # EXCLUDES+= tests/java/com/apple/jobjc
+
+ EXCLUDES+= com/apple/jobjc
endif
# The exception handling of swing beaninfo
# These resources violates the convention of having code and resources together under
# $(JDK_TOPDIR)/src/.../classes directories
*** 270,280 ****
$(CP) $< $@
$(eval $(call SetupJavaCompilation,BUILD_JDK,\
SETUP:=GENERATE_JDKBYTECODE,\
SRC:=$(JDK_TOPDIR)/src/share/classes \
! $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes \
$(MACOSX_SRC_DIRS) \
$(JDK_OUTPUTDIR)/gensrc \
$(JDK_OUTPUTDIR)/gensrc_swing/javax/swing/beaninfo \
$(CLOSED_SRC_DIRS),\
EXCLUDES:=$(EXCLUDES),\
--- 273,283 ----
$(CP) $< $@
$(eval $(call SetupJavaCompilation,BUILD_JDK,\
SETUP:=GENERATE_JDKBYTECODE,\
SRC:=$(JDK_TOPDIR)/src/share/classes \
! $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes \
$(MACOSX_SRC_DIRS) \
$(JDK_OUTPUTDIR)/gensrc \
$(JDK_OUTPUTDIR)/gensrc_swing/javax/swing/beaninfo \
$(CLOSED_SRC_DIRS),\
EXCLUDES:=$(EXCLUDES),\
*** 295,305 ****
sun.nio.ch.IOStatus
JDK_BASE_HEADER_JAVA_FILES:=$(patsubst %,$(JDK_TOPDIR)/src/share/classes/%.java,\
$(subst .,/,$(JDK_BASE_HEADER_CLASSES)))
! ifeq ($(PLATFORM),windows)
JDK_BASE_HEADER_CLASSES_WINDOWS:=sun.nio.ch.PollArrayWrapper
JDK_BASE_HEADER_CLASSES+=$(JDK_BASE_HEADER_CLASSES_WINDOWS)
JDK_BASE_HEADER_JAVA_FILES+=$(patsubst %,$(JDK_TOPDIR)/src/windows/classes/%.java,\
$(subst .,/,$(JDK_BASE_HEADER_CLASSES_WINDOWS)))
endif
--- 298,308 ----
sun.nio.ch.IOStatus
JDK_BASE_HEADER_JAVA_FILES:=$(patsubst %,$(JDK_TOPDIR)/src/share/classes/%.java,\
$(subst .,/,$(JDK_BASE_HEADER_CLASSES)))
! ifeq ($(OPENJDK_TARGET_OS),windows)
JDK_BASE_HEADER_CLASSES_WINDOWS:=sun.nio.ch.PollArrayWrapper
JDK_BASE_HEADER_CLASSES+=$(JDK_BASE_HEADER_CLASSES_WINDOWS)
JDK_BASE_HEADER_JAVA_FILES+=$(patsubst %,$(JDK_TOPDIR)/src/windows/classes/%.java,\
$(subst .,/,$(JDK_BASE_HEADER_CLASSES_WINDOWS)))
endif
*** 346,355 ****
--- 349,405 ----
$(MKDIR) -p $(@D)
$(TOUCH) $@
##########################################################################################
+ ifeq ($(OPENJDK_TARGET_OS),macosx)
+ #
+ # JObjC.jar is compiled with BOOT_JAVAC which (may) not support the "-h" flag.
+ # so we first compile classes with BOOT_JAVAC and then with JDK_JAVAC :-(
+ #
+ $(eval $(call SetupJavaCompiler,GENERATE_15BYTECODE,\
+ JAVAC:=$(JAVAC),\
+ FLAGS:=-source 1.5 -target 1.5 -g -bootclasspath $(BOOT_RTJAR) -cp $(JDK_OUTPUTDIR)/../langtools/dist/lib/classes.jar $(DISABLE_WARNINGS),\
+ SERVER_DIR:=$(JAVAC_SERVERS),\
+ SERVER_JVM:=$(SERVER_JAVA),\
+ MODE:=$(JAVAC_USE_MODE),\
+ USE_DEPS:=$(JAVAC_USE_DEPS)))
+
+ $(eval $(call SetupJavaCompilation,BUILD_JOBJC_JAR,\
+ SETUP:=GENERATE_15BYTECODE,\
+ SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \
+ $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/java \
+ $(JDK_OUTPUTDIR)/gensrc, \
+ INCLUDES := com/apple/jobjc,\
+ EXCLUDES := tests/java/com/apple/jobjc,\
+ BIN:=$(JDK_OUTPUTDIR)/jobjc_classes,\
+ JAR:=$(JDK_OUTPUTDIR)/lib/JObjC.jar, \
+ JARINDEX := true))
+
+ $(BUILD_JOBJC_JAR) : $(BUILD_JDK)
+
+ JARS += $(JDK_OUTPUTDIR)/lib/JObjC.jar
+
+ $(eval $(call SetupJavaCompilation,BUILD_JOBJC_HEADERS_JAR,\
+ SETUP:=GENERATE_JDKBYTECODE,\
+ SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \
+ $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/java \
+ $(JDK_OUTPUTDIR)/gensrc, \
+ INCLUDES := com/apple/jobjc,\
+ EXCLUDES := tests/java/com/apple/jobjc,\
+ BIN:=$(JDK_OUTPUTDIR)/jobjc_classes_headers,\
+ JAR:=$(JDK_OUTPUTDIR)/jobjc_classes_headers/dummy.jar, \
+ HEADERS:=$(JDK_OUTPUTDIR)/gensrc_headers))
+
+ $(BUILD_JOBJC_HEADERS_JAR) : $(BUILD_JDK)
+
+ JARS += $(JDK_OUTPUTDIR)/jobjc_classes_headers/dummy.jar
+
+ endif
+
+ ##########################################################################################
+
# copy with -a to preserve timestamps so dependencies down the line aren't messed up
all: $(BUILD_JDK) $(JARS) $(COPY_EXTRA) $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \
$(JDK_OUTPUTDIR)/classes/_the.jdk.base.headers
.PHONY: all