make/CompileJavaClasses.gmk

Print this page




 250 # be picked up by implicit compilation. On a rebuild, they are picked up
 251 # and compiled. Exclude them here to produce the same rt.jar as the old
 252 # build does when building just once.
 253 EXFILES += javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
 254     javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
 255     javax/swing/plaf/nimbus/ScrollBarPainter.java \
 256     javax/swing/plaf/nimbus/SliderPainter.java \
 257     javax/swing/plaf/nimbus/SpinnerPainter.java \
 258     javax/swing/plaf/nimbus/SplitPanePainter.java \
 259     javax/swing/plaf/nimbus/TabbedPanePainter.java
 260 
 261 # Acquire a list of files that should be copied straight over to the classes.
 262 include CopyIntoClasses.gmk
 263 # Now we have COPY_PATTERNS, COPY_FILES and COPY_EXTRA
 264 
 265 ifndef OPENJDK
 266   CLOSED_SRC_DIRS := $(JDK_TOPDIR)/src/closed/share/classes \
 267       $(JDK_TOPDIR)/src/closed/$(OPENJDK_TARGET_OS_API_DIR)/classes
 268 endif
 269 














 270 MACOSX_SRC_DIRS :=
 271 ifeq ($(OPENJDK_TARGET_OS), macosx)
 272   MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes
 273 
 274   # this files are duplicated in MACOSX_SRC_DIRS
 275   EXFILES += $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \
 276       $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \
 277       $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \
 278       $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java \
 279       $(JDK_TOPDIR)/src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java \
 280       $(JDK_TOPDIR)/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java \
 281       $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java \
 282       $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \
 283       $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
 284 
 285 endif
 286 
 287 # The security classes should not end up in the classes directory as that will prevent them
 288 # from working when running the exploded jdk image. Compile them separately to a different
 289 # directory from where the jars can be created.
 290 SECURITY_PKGS := \
 291     com/oracle/security/ucrypto \
 292     com/sun/crypto/provider \
 293     javax/crypto \
 294     sun/security/ec \
 295     sun/security/internal \
 296     sun/security/mscapi \
 297     sun/security/pkcs11 \
 298     #
 299 
 300 AIX_SRC_DIRS :=
 301 ifeq ($(OPENJDK_TARGET_OS),aix)
 302      AIX_SRC_DIRS += $(JDK_TOPDIR)/src/aix/classes
 303 
 304   # these files are duplicated in AIX_SRC_DIRS
 305   EXFILES += $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java \
 306       $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \
 307       $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
 308 endif
 309 
 310 # The JDK_USER_DEFINED_FILTER is a poor man's incremental build: by specifying
 311 # JDK_FILTER at the make command line, only a subset of the JDK java files will
 312 # be recompiled. If multiple paths are separated by comma, convert that into a
 313 # space separated list.
 314 JDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER)))
 315 
 316 ifeq ($(ENABLE_SJAVAC),yes)
 317   # With sjavac enabled, excluded sources are not even considered for linking. 
 318   # Explicitly add the security sources to sourcepath for linking.
 319   BUILD_JDK_SOURCEPATH:=$(patsubst %,-i$(SPACE)%.*,$(subst /,.,$(SECURITY_PKGS))) \
 320       -sourcepath $(JDK_TOPDIR)/src/share/classes
 321 endif
 322 
 323 $(eval $(call SetupJavaCompilation,BUILD_JDK,\
 324     SETUP:=GENERATE_JDKBYTECODE,\
 325     SRC:=$(JDK_TOPDIR)/src/share/classes \
 326         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \
 327         $(MACOSX_SRC_DIRS) \




 250 # be picked up by implicit compilation. On a rebuild, they are picked up
 251 # and compiled. Exclude them here to produce the same rt.jar as the old
 252 # build does when building just once.
 253 EXFILES += javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
 254     javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
 255     javax/swing/plaf/nimbus/ScrollBarPainter.java \
 256     javax/swing/plaf/nimbus/SliderPainter.java \
 257     javax/swing/plaf/nimbus/SpinnerPainter.java \
 258     javax/swing/plaf/nimbus/SplitPanePainter.java \
 259     javax/swing/plaf/nimbus/TabbedPanePainter.java
 260 
 261 # Acquire a list of files that should be copied straight over to the classes.
 262 include CopyIntoClasses.gmk
 263 # Now we have COPY_PATTERNS, COPY_FILES and COPY_EXTRA
 264 
 265 ifndef OPENJDK
 266   CLOSED_SRC_DIRS := $(JDK_TOPDIR)/src/closed/share/classes \
 267       $(JDK_TOPDIR)/src/closed/$(OPENJDK_TARGET_OS_API_DIR)/classes
 268 endif
 269 
 270 # No SCTP implementation on Mac OS X or AIX. These classes should be excluded.
 271 SCTP_IMPL_CLASSES = \
 272     $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/AssociationChange.java\
 273     $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/AssociationImpl.java \
 274     $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/PeerAddrChange.java \
 275     $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/ResultContainer.java \
 276     $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java \
 277     $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \
 278     $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpNet.java \
 279     $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpNotification.java \
 280     $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java \
 281     $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SendFailed.java \
 282     $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/Shutdown.java
 283 
 284 MACOSX_SRC_DIRS :=
 285 ifeq ($(OPENJDK_TARGET_OS), macosx)
 286   MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes
 287 
 288   # this files are duplicated in MACOSX_SRC_DIRS
 289   EXFILES += $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \
 290       $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \
 291       $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \
 292       $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java \
 293       $(JDK_TOPDIR)/src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java \
 294       $(JDK_TOPDIR)/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java \
 295   EXFILES += $(SCTP_IMPL_CLASSES)


 296 
 297 endif
 298 
 299 # The security classes should not end up in the classes directory as that will prevent them
 300 # from working when running the exploded jdk image. Compile them separately to a different
 301 # directory from where the jars can be created.
 302 SECURITY_PKGS := \
 303     com/oracle/security/ucrypto \
 304     com/sun/crypto/provider \
 305     javax/crypto \
 306     sun/security/ec \
 307     sun/security/internal \
 308     sun/security/mscapi \
 309     sun/security/pkcs11 \
 310     #
 311 
 312 AIX_SRC_DIRS :=
 313 ifeq ($(OPENJDK_TARGET_OS),aix)
 314      AIX_SRC_DIRS += $(JDK_TOPDIR)/src/aix/classes
 315 
 316   # these files are duplicated in AIX_SRC_DIRS
 317   EXFILES += $(SCTP_IMPL_CLASSES)


 318 endif
 319 
 320 # The JDK_USER_DEFINED_FILTER is a poor man's incremental build: by specifying
 321 # JDK_FILTER at the make command line, only a subset of the JDK java files will
 322 # be recompiled. If multiple paths are separated by comma, convert that into a
 323 # space separated list.
 324 JDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER)))
 325 
 326 ifeq ($(ENABLE_SJAVAC),yes)
 327   # With sjavac enabled, excluded sources are not even considered for linking. 
 328   # Explicitly add the security sources to sourcepath for linking.
 329   BUILD_JDK_SOURCEPATH:=$(patsubst %,-i$(SPACE)%.*,$(subst /,.,$(SECURITY_PKGS))) \
 330       -sourcepath $(JDK_TOPDIR)/src/share/classes
 331 endif
 332 
 333 $(eval $(call SetupJavaCompilation,BUILD_JDK,\
 334     SETUP:=GENERATE_JDKBYTECODE,\
 335     SRC:=$(JDK_TOPDIR)/src/share/classes \
 336         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \
 337         $(MACOSX_SRC_DIRS) \