Merge
This commit is contained in:
commit
3460e113e0
@ -116,8 +116,16 @@ CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9
|
|||||||
LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9
|
LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9
|
||||||
CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9
|
CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9
|
||||||
LDFLAGS_COMMON_sparc += -m32 -mcpu=v9
|
LDFLAGS_COMMON_sparc += -m32 -mcpu=v9
|
||||||
CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH))
|
ifeq ($(ZERO_BUILD), true)
|
||||||
LDFLAGS_COMMON += $(LDFLAGS_COMMON_$(ARCH))
|
CFLAGS_REQUIRED = $(ZERO_ARCHFLAG)
|
||||||
|
ifeq ($(ZERO_ENDIANNESS), little)
|
||||||
|
CFLAGS_REQUIRED += -D_LITTLE_ENDIAN
|
||||||
|
endif
|
||||||
|
LDFLAGS_COMMON += $(ZERO_ARCHFLAG)
|
||||||
|
else
|
||||||
|
CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH))
|
||||||
|
LDFLAGS_COMMON += $(LDFLAGS_COMMON_$(ARCH))
|
||||||
|
endif
|
||||||
|
|
||||||
# If this is a --hash-style=gnu system, use --hash-style=both
|
# If this is a --hash-style=gnu system, use --hash-style=both
|
||||||
# The gnu .hash section won't work on some Linux systems like SuSE 10.
|
# The gnu .hash section won't work on some Linux systems like SuSE 10.
|
||||||
@ -217,7 +225,7 @@ endif
|
|||||||
|
|
||||||
EXTRA_LIBS += -lc
|
EXTRA_LIBS += -lc
|
||||||
|
|
||||||
LDFLAGS_DEFS_OPTION = -z defs
|
LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker defs
|
||||||
LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
|
LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -667,12 +667,7 @@ LDLIBS = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
|
|||||||
LINTFLAGS = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
|
LINTFLAGS = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
|
||||||
$(OTHER_LINTFLAGS)
|
$(OTHER_LINTFLAGS)
|
||||||
|
|
||||||
# this should be moved into Defs-<platform>.gmk.....
|
VERSION_DEFINES = -DRELEASE='"$(RELEASE)"'
|
||||||
ifeq ($(PLATFORM), windows)
|
|
||||||
VERSION_DEFINES = -DRELEASE="\"$(RELEASE)\""
|
|
||||||
else
|
|
||||||
VERSION_DEFINES = -DRELEASE='"$(RELEASE)"'
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Note: As a rule, GNU Make rules should not appear in any of the
|
# Note: As a rule, GNU Make rules should not appear in any of the
|
||||||
# Defs*.gmk files. These were added for Kestrel-Solaris and do address
|
# Defs*.gmk files. These were added for Kestrel-Solaris and do address
|
||||||
|
@ -85,7 +85,7 @@ ifneq (,$(findstring $(PLATFORM), linux solaris)) # UNIX systems
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(PLATFORM), linux)
|
ifeq ($(PLATFORM), linux)
|
||||||
LDFLAGS += -z origin
|
LDFLAGS += -Wl,-z -Wl,origin
|
||||||
LDFLAGS += -Wl,--allow-shlib-undefined
|
LDFLAGS += -Wl,--allow-shlib-undefined
|
||||||
LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli
|
LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli
|
||||||
LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH)/jli
|
LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH)/jli
|
||||||
@ -236,13 +236,13 @@ endif # files
|
|||||||
endif # INCREMENTAL_BUILD
|
endif # INCREMENTAL_BUILD
|
||||||
|
|
||||||
ifdef JAVA_ARGS
|
ifdef JAVA_ARGS
|
||||||
OTHER_CPPFLAGS += -DJAVA_ARGS=$(JAVA_ARGS)
|
OTHER_CPPFLAGS += -DJAVA_ARGS='$(JAVA_ARGS)'
|
||||||
OTHER_CPPFLAGS += -DLAUNCHER_NAME=\"$(LAUNCHER_NAME)\"
|
OTHER_CPPFLAGS += -DLAUNCHER_NAME='"$(LAUNCHER_NAME)"'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(PLATFORM), windows)
|
ifeq ($(PLATFORM), windows)
|
||||||
ifdef RELEASE
|
ifdef RELEASE
|
||||||
OTHER_CPPFLAGS += -DVERSION="$(RELEASE)"
|
OTHER_CPPFLAGS += -DVERSION='"$(RELEASE)"'
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -258,14 +258,8 @@ endif
|
|||||||
OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)/bin -I$(LAUNCHER_PLATFORM_SRC)/bin
|
OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)/bin -I$(LAUNCHER_PLATFORM_SRC)/bin
|
||||||
OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
|
OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
|
||||||
|
|
||||||
# this may not be necessary...
|
|
||||||
ifeq ($(PLATFORM), windows)
|
|
||||||
OTHER_CPPFLAGS += -DPROGNAME="\"$(PROGRAM)\""
|
|
||||||
VERSION_DEFINES += -DFULL_VERSION="\"$(FULL_VERSION)\""
|
|
||||||
else
|
|
||||||
OTHER_CPPFLAGS += -DPROGNAME='"$(PROGRAM)"'
|
OTHER_CPPFLAGS += -DPROGNAME='"$(PROGRAM)"'
|
||||||
VERSION_DEFINES += -DFULL_VERSION='"$(FULL_VERSION)"'
|
VERSION_DEFINES += -DFULL_VERSION='"$(FULL_VERSION)"'
|
||||||
endif
|
|
||||||
|
|
||||||
VERSION_DEFINES += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
|
VERSION_DEFINES += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
|
||||||
-DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"'
|
-DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"'
|
||||||
@ -280,7 +274,13 @@ $(OBJDIR)/main.$(OBJECT_SUFFIX): $(LAUNCHER_SHARE_SRC)/bin/main.c
|
|||||||
#
|
#
|
||||||
# How to install jvm.cfg.
|
# How to install jvm.cfg.
|
||||||
#
|
#
|
||||||
$(JVMCFG): $(LAUNCHER_PLATFORM_SRC)/bin/$(ARCH)/jvm.cfg
|
ifeq ($(ZERO_BUILD), true)
|
||||||
|
JVMCFG_ARCH = zero
|
||||||
|
else
|
||||||
|
JVMCFG_ARCH = $(ARCH)
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(JVMCFG): $(LAUNCHER_PLATFORM_SRC)/bin/$(JVMCFG_ARCH)/jvm.cfg
|
||||||
$(install-file)
|
$(install-file)
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -330,7 +330,7 @@ endif
|
|||||||
#
|
#
|
||||||
# Specific files and directories that will be filtered out from above areas.
|
# Specific files and directories that will be filtered out from above areas.
|
||||||
#
|
#
|
||||||
SOURCE_FILTERs = $(SCM_DIRs) 'X-*' '*-X-*' '*-template.java' ',*'
|
SOURCE_FILTERs = $(SCM_DIRs) ',*'
|
||||||
SOURCE_FILES_filter = $(SOURCE_FILTERs:%=-name % -prune -o)
|
SOURCE_FILES_filter = $(SOURCE_FILTERs:%=-name % -prune -o)
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -63,7 +63,7 @@ endif
|
|||||||
# If AUTO_FILES_PROPERTIES_DIRS used, automatically find properties files
|
# If AUTO_FILES_PROPERTIES_DIRS used, automatically find properties files
|
||||||
#
|
#
|
||||||
ifdef AUTO_FILES_PROPERTIES_DIRS
|
ifdef AUTO_FILES_PROPERTIES_DIRS
|
||||||
AUTO_FILES_PROPERTIES_FILTERS1 = $(SCM_DIRs) 'X-*' '*-X-*' ',*'
|
AUTO_FILES_PROPERTIES_FILTERS1 = $(SCM_DIRs) ',*'
|
||||||
AUTO_FILES_PROPERTIES_FILTERS1 += $(AUTO_PROPERTIES_PRUNE)
|
AUTO_FILES_PROPERTIES_FILTERS1 += $(AUTO_PROPERTIES_PRUNE)
|
||||||
FILES_properties_find_filters1 = $(AUTO_FILES_PROPERTIES_FILTERS1:%=-name % -prune -o)
|
FILES_properties_find_filters1 = $(AUTO_FILES_PROPERTIES_FILTERS1:%=-name % -prune -o)
|
||||||
FILES_properties_auto1 := \
|
FILES_properties_auto1 := \
|
||||||
@ -111,7 +111,7 @@ include $(JDK_TOPDIR)/make/common/internal/Resources.gmk
|
|||||||
|
|
||||||
ifdef AUTO_FILES_JAVA_DIRS
|
ifdef AUTO_FILES_JAVA_DIRS
|
||||||
# Filter out these files or directories
|
# Filter out these files or directories
|
||||||
AUTO_FILES_JAVA_SOURCE_FILTERS1 = $(SCM_DIRs) 'X-*' '*-X-*' '*-template.java' ',*'
|
AUTO_FILES_JAVA_SOURCE_FILTERS1 = $(SCM_DIRs) ',*'
|
||||||
AUTO_FILES_JAVA_SOURCE_FILTERS2 =
|
AUTO_FILES_JAVA_SOURCE_FILTERS2 =
|
||||||
AUTO_FILES_JAVA_SOURCE_FILTERS1 += $(AUTO_JAVA_PRUNE)
|
AUTO_FILES_JAVA_SOURCE_FILTERS1 += $(AUTO_JAVA_PRUNE)
|
||||||
AUTO_FILES_JAVA_SOURCE_FILTERS2 += $(AUTO_JAVA_PRUNE)
|
AUTO_FILES_JAVA_SOURCE_FILTERS2 += $(AUTO_JAVA_PRUNE)
|
||||||
|
@ -109,7 +109,7 @@ else
|
|||||||
LDFLAGS += -R \$$ORIGIN/jli
|
LDFLAGS += -R \$$ORIGIN/jli
|
||||||
endif
|
endif
|
||||||
ifeq ($(PLATFORM), linux)
|
ifeq ($(PLATFORM), linux)
|
||||||
LDFLAGS += -z origin
|
LDFLAGS += -Wl,-z -Wl,origin
|
||||||
LDFLAGS += -Wl,--allow-shlib-undefined
|
LDFLAGS += -Wl,--allow-shlib-undefined
|
||||||
LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/jli
|
LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/jli
|
||||||
endif
|
endif
|
||||||
|
@ -48,11 +48,15 @@ ZIP_SRC = $(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION)
|
|||||||
LAUNCHER_SHARE_SRC = $(SHARE_SRC)/bin
|
LAUNCHER_SHARE_SRC = $(SHARE_SRC)/bin
|
||||||
LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)/bin
|
LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)/bin
|
||||||
|
|
||||||
|
ifeq ($(ZERO_BUILD), true)
|
||||||
|
ERGO_FAMILY=zero
|
||||||
|
else
|
||||||
ifeq ($(ARCH_FAMILY), amd64)
|
ifeq ($(ARCH_FAMILY), amd64)
|
||||||
ERGO_FAMILY=i586
|
ERGO_FAMILY=i586
|
||||||
else
|
else
|
||||||
ERGO_FAMILY=$(ARCH_FAMILY)
|
ERGO_FAMILY=$(ARCH_FAMILY)
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -57,7 +57,7 @@ endif
|
|||||||
#
|
#
|
||||||
include $(BUILDDIR)/common/Program.gmk
|
include $(BUILDDIR)/common/Program.gmk
|
||||||
OTHER_CPPFLAGS += -DEXPAND_CLASSPATH_WILDCARDS
|
OTHER_CPPFLAGS += -DEXPAND_CLASSPATH_WILDCARDS
|
||||||
OTHER_CPPFLAGS += -DLAUNCHER_NAME=\"$(LAUNCHER_NAME)\"
|
OTHER_CPPFLAGS += -DLAUNCHER_NAME='"$(LAUNCHER_NAME)"'
|
||||||
|
|
||||||
ifeq ($(PLATFORM), solaris)
|
ifeq ($(PLATFORM), solaris)
|
||||||
LDFLAGS += -R$(OPENWIN_LIB)
|
LDFLAGS += -R$(OPENWIN_LIB)
|
||||||
|
@ -62,4 +62,5 @@ endif
|
|||||||
#
|
#
|
||||||
include $(BUILDDIR)/common/Program.gmk
|
include $(BUILDDIR)/common/Program.gmk
|
||||||
OTHER_CPPFLAGS += -DEXPAND_CLASSPATH_WILDCARDS
|
OTHER_CPPFLAGS += -DEXPAND_CLASSPATH_WILDCARDS
|
||||||
OTHER_CPPFLAGS += -DLAUNCHER_NAME=\"$(LAUNCHER_NAME)\"
|
OTHER_CPPFLAGS += -DLAUNCHER_NAME='"$(LAUNCHER_NAME)"'
|
||||||
|
|
||||||
|
@ -335,6 +335,15 @@ SCH_SRC=$(SNIO_SRC)/ch
|
|||||||
SCS_SRC=$(SNIO_SRC)/cs
|
SCS_SRC=$(SNIO_SRC)/cs
|
||||||
SFS_SRC=$(SNIO_SRC)/fs
|
SFS_SRC=$(SNIO_SRC)/fs
|
||||||
|
|
||||||
|
# Template files
|
||||||
|
HEAP_X_BUF_TEMPLATE=$(BUF_SRC)/Heap-X-Buffer.java.template
|
||||||
|
BYTE_X_BUF_TEMPLATE=$(BUF_SRC)/ByteBufferAs-X-Buffer.java.template
|
||||||
|
X_BUF_TEMPLATE=$(BUF_SRC)/X-Buffer.java.template
|
||||||
|
X_BUF_BIN_TEMPLATE=$(BUF_SRC)/X-Buffer-bin.java.template
|
||||||
|
DIRECT_X_BUF_TEMPLATE=$(BUF_SRC)/Direct-X-Buffer.java.template
|
||||||
|
DIRECT_X_BUF_BIN_TEMPLATE=$(BUF_SRC)/Direct-X-Buffer-bin.java.template
|
||||||
|
CHARSET_X_CODER_TEMPLATE=$(CS_SRC)/Charset-X-Coder.java.template
|
||||||
|
|
||||||
BUF_GEN=$(NIO_GEN)
|
BUF_GEN=$(NIO_GEN)
|
||||||
CH_GEN=$(NIO_GEN)/channels
|
CH_GEN=$(NIO_GEN)/channels
|
||||||
CS_GEN=$(NIO_GEN)/charset
|
CS_GEN=$(NIO_GEN)/charset
|
||||||
@ -357,39 +366,39 @@ GEN_BUFFER_CMD = SPP="$(SPP_CMD)" NAWK="$(NAWK)" SED="$(SED)" SH="$(SH)" \
|
|||||||
|
|
||||||
# Public abstract buffer classes
|
# Public abstract buffer classes
|
||||||
#
|
#
|
||||||
$(BUF_GEN)/ByteBuffer.java: $(BUF_SRC)/X-Buffer.java \
|
$(BUF_GEN)/ByteBuffer.java: $(X_BUF_TEMPLATE) \
|
||||||
$(BUF_SRC)/X-Buffer-bin.java \
|
$(X_BUF_BIN_TEMPLATE) \
|
||||||
$(GEN_BUFFER_SH)
|
$(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=byte BIN=1 SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=byte BIN=1 SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/CharBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/CharBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=char SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=char SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ShortBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ShortBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=short SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=short SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/IntBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/IntBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=int SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=int SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/LongBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/LongBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=long SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=long SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/FloatBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/FloatBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=float SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=float SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DoubleBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DoubleBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=double SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=double SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
@ -397,72 +406,72 @@ $(BUF_GEN)/DoubleBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
|
|||||||
|
|
||||||
# Buffers whose contents are heap-allocated
|
# Buffers whose contents are heap-allocated
|
||||||
#
|
#
|
||||||
$(BUF_GEN)/HeapByteBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapByteBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=byte SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=byte SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapByteBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapByteBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=byte RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=byte RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapCharBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapCharBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=char SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=char SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapCharBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapCharBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=char RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=char RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapShortBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapShortBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=short SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=short SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapShortBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapShortBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=short RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=short RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapIntBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapIntBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=int SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=int SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapIntBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapIntBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=int RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=int RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapLongBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapLongBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=long SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=long SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapLongBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapLongBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=long RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=long RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapFloatBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapFloatBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=float SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=float SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapFloatBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapFloatBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=float RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=float RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapDoubleBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapDoubleBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=double SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=double SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/HeapDoubleBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/HeapDoubleBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=double RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=double RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
@ -470,15 +479,15 @@ $(BUF_GEN)/HeapDoubleBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH
|
|||||||
|
|
||||||
# Direct byte buffer
|
# Direct byte buffer
|
||||||
#
|
#
|
||||||
$(BUF_GEN)/DirectByteBuffer.java: $(BUF_SRC)/Direct-X-Buffer.java \
|
$(BUF_GEN)/DirectByteBuffer.java: $(DIRECT_X_BUF_TEMPLATE) \
|
||||||
$(BUF_SRC)/Direct-X-Buffer.java \
|
$(DIRECT_X_BUF_TEMPLATE) \
|
||||||
$(GEN_BUFFER_SH)
|
$(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=byte BIN=1 SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=byte BIN=1 SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectByteBuffer%.java: $(BUF_SRC)/Direct-X-Buffer.java \
|
$(BUF_GEN)/DirectByteBuffer%.java: $(DIRECT_X_BUF_TEMPLATE) \
|
||||||
$(BUF_SRC)/Direct-X-Buffer.java \
|
$(DIRECT_X_BUF_TEMPLATE) \
|
||||||
$(GEN_BUFFER_SH)
|
$(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
@ -487,62 +496,62 @@ $(BUF_GEN)/DirectByteBuffer%.java: $(BUF_SRC)/Direct-X-Buffer.java \
|
|||||||
|
|
||||||
# Unswapped views of direct byte buffers
|
# Unswapped views of direct byte buffers
|
||||||
#
|
#
|
||||||
$(BUF_GEN)/DirectCharBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectCharBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=char BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=char BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectCharBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectCharBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=char RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=char RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectShortBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectShortBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=short BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=short BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectShortBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectShortBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=short RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=short RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectIntBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectIntBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=int BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=int BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectIntBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectIntBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=int RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=int RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectLongBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectLongBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=long BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=long BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectLongBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectLongBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=long RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=long RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectFloatBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectFloatBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=float BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=float BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectFloatBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectFloatBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=float RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=float RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectDoubleBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectDoubleBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=double BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=double BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectDoubleBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectDoubleBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=double RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=double RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
@ -550,62 +559,62 @@ $(BUF_GEN)/DirectDoubleBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFF
|
|||||||
|
|
||||||
# Swapped views of direct byte buffers
|
# Swapped views of direct byte buffers
|
||||||
#
|
#
|
||||||
$(BUF_GEN)/DirectCharBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectCharBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=char BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=char BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectCharBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectCharBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=char RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=char RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectShortBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectShortBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=short BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=short BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectShortBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectShortBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=short RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=short RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectIntBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectIntBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=int BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=int BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectIntBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectIntBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=int RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=int RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectLongBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectLongBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=long BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=long BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectLongBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectLongBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=long RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=long RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectFloatBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectFloatBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=float BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=float BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectFloatBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectFloatBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=float RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=float RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectDoubleBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectDoubleBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=double BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=double BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/DirectDoubleBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/DirectDoubleBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=double RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=double RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
@ -613,62 +622,62 @@ $(BUF_GEN)/DirectDoubleBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFF
|
|||||||
|
|
||||||
# Big-endian views of byte buffers
|
# Big-endian views of byte buffers
|
||||||
#
|
#
|
||||||
$(BUF_GEN)/ByteBufferAsCharBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsCharBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=char BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=char BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsCharBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsCharBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=char RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=char RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsShortBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsShortBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=short BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=short BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsShortBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsShortBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=short RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=short RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsIntBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsIntBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=int BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=int BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsIntBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsIntBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=int RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=int RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsLongBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsLongBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=long BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=long BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsLongBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsLongBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=long RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=long RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsFloatBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsFloatBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=float BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=float BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsFloatBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsFloatBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=float RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=float RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsDoubleBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsDoubleBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=double BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=double BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsDoubleBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsDoubleBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=double RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=double RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
@ -676,62 +685,62 @@ $(BUF_GEN)/ByteBufferAsDoubleBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.jav
|
|||||||
|
|
||||||
# Little-endian views of byte buffers
|
# Little-endian views of byte buffers
|
||||||
#
|
#
|
||||||
$(BUF_GEN)/ByteBufferAsCharBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsCharBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=char BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=char BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsCharBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsCharBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=char RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=char RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsShortBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsShortBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=short BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=short BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsShortBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsShortBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=short RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=short RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsIntBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsIntBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=int BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=int BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsIntBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsIntBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=int RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=int RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsLongBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsLongBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=long BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=long BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsLongBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsLongBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=long RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=long RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsFloatBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsFloatBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=float BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=float BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsFloatBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsFloatBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=float RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=float RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsDoubleBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsDoubleBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=double BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=double BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
$(BUF_GEN)/ByteBufferAsDoubleBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
|
$(BUF_GEN)/ByteBufferAsDoubleBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
TYPE=double RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
TYPE=double RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
|
||||||
@ -745,13 +754,13 @@ GEN_CODER_SH = genCoder.sh
|
|||||||
|
|
||||||
GEN_CODER_CMD = SPP="$(SPP_CMD)" SED="$(SED)" NAWK="$(NAWK)" SH="$(SH)" $(SH) $(GEN_CODER_SH)
|
GEN_CODER_CMD = SPP="$(SPP_CMD)" SED="$(SED)" NAWK="$(NAWK)" SH="$(SH)" $(SH) $(GEN_CODER_SH)
|
||||||
|
|
||||||
$(CS_GEN)/CharsetDecoder.java: $(CS_SRC)/Charset-X-Coder.java $(GEN_CODER_SH)
|
$(CS_GEN)/CharsetDecoder.java: $(CHARSET_X_CODER_TEMPLATE) $(GEN_CODER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
$(GEN_CODER_CMD) decoder $< $@.temp
|
$(GEN_CODER_CMD) decoder $< $@.temp
|
||||||
$(MV) $@.temp $@
|
$(MV) $@.temp $@
|
||||||
|
|
||||||
$(CS_GEN)/CharsetEncoder.java: $(CS_SRC)/Charset-X-Coder.java $(GEN_CODER_SH)
|
$(CS_GEN)/CharsetEncoder.java: $(CHARSET_X_CODER_TEMPLATE) $(GEN_CODER_SH)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
@$(RM) $@.temp
|
@$(RM) $@.temp
|
||||||
$(GEN_CODER_CMD) encoder $< $@.temp
|
$(GEN_CODER_CMD) encoder $< $@.temp
|
||||||
|
@ -154,7 +154,7 @@ if [ $BIN ]; then
|
|||||||
mv $DST $DST.tmp
|
mv $DST $DST.tmp
|
||||||
sed -e '/#BIN/,$d' <$DST.tmp >$DST
|
sed -e '/#BIN/,$d' <$DST.tmp >$DST
|
||||||
rm -f $DST.tmp
|
rm -f $DST.tmp
|
||||||
binops=`dirname $SRC`/`basename $SRC .java`-bin.java
|
binops=`dirname $SRC`/`basename $SRC .java.template`-bin.java.template
|
||||||
genBinOps char character 1 two one $binops >>$DST
|
genBinOps char character 1 two one $binops >>$DST
|
||||||
genBinOps short short 1 two one $binops >>$DST
|
genBinOps short short 1 two one $binops >>$DST
|
||||||
genBinOps int integer 2 four three $binops >>$DST
|
genBinOps int integer 2 four three $binops >>$DST
|
||||||
|
@ -94,11 +94,13 @@ ifeq ($(INCLUDE_SA), true)
|
|||||||
endif
|
endif
|
||||||
endif # INCLUDE_SA
|
endif # INCLUDE_SA
|
||||||
|
|
||||||
# Hotspot client is only available on 32-bit builds
|
# Hotspot client is only available on 32-bit non-Zero builds
|
||||||
|
ifneq ($(ZERO_BUILD), true)
|
||||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||||
IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME) \
|
IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME) \
|
||||||
$(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt
|
$(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(PLATFORM), windows)
|
ifeq ($(PLATFORM), windows)
|
||||||
# Windows vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv Windows
|
# Windows vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv Windows
|
||||||
@ -171,6 +173,7 @@ ifeq ($(PLATFORM), solaris)
|
|||||||
IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME)
|
IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(ZERO_BUILD), true)
|
||||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||||
|
|
||||||
IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME)
|
IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME)
|
||||||
@ -201,6 +204,8 @@ endif # 32bit solaris
|
|||||||
|
|
||||||
endif # 32bit
|
endif # 32bit
|
||||||
|
|
||||||
|
endif # ZERO_BUILD
|
||||||
|
|
||||||
# NOT Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ NOT Windows
|
# NOT Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ NOT Windows
|
||||||
|
|
||||||
endif # PLATFORM
|
endif # PLATFORM
|
||||||
|
@ -33,7 +33,7 @@ include $(BUILDDIR)/common/Defs.gmk
|
|||||||
all build: $(GENSRCDIR)/sun/misc/Version.java
|
all build: $(GENSRCDIR)/sun/misc/Version.java
|
||||||
|
|
||||||
$(GENSRCDIR)/sun/misc/Version.java: \
|
$(GENSRCDIR)/sun/misc/Version.java: \
|
||||||
$(SHARE_SRC)/classes/sun/misc/Version-template.java
|
$(SHARE_SRC)/classes/sun/misc/Version.java.template
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
$(RM) $@.temp
|
$(RM) $@.temp
|
||||||
$(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \
|
$(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \
|
||||||
|
@ -128,7 +128,7 @@ endif # PLATFORM solaris
|
|||||||
|
|
||||||
# for dynamic inclusion of extra sound libs: these
|
# for dynamic inclusion of extra sound libs: these
|
||||||
# JNI libs will be loaded from Platform.java
|
# JNI libs will be loaded from Platform.java
|
||||||
CPPFLAGS += -DEXTRA_SOUND_JNI_LIBS="\"$(EXTRA_SOUND_JNI_LIBS)\""
|
CPPFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
|
||||||
|
|
||||||
# integrate MIDI i/o in jsound lib
|
# integrate MIDI i/o in jsound lib
|
||||||
ifeq ($(INCLUDE_MIDI),TRUE)
|
ifeq ($(INCLUDE_MIDI),TRUE)
|
||||||
|
@ -55,21 +55,25 @@ ifeq ($(PLATFORM), solaris)
|
|||||||
|
|
||||||
endif # PLATFORM solaris
|
endif # PLATFORM solaris
|
||||||
|
|
||||||
ifeq ($(ARCH), i586)
|
ifeq ($(ZERO_BUILD), true)
|
||||||
CPPFLAGS += -DX_ARCH=X_I586
|
CPPFLAGS += -DX_ARCH=X_ZERO
|
||||||
endif # ARCH i586
|
else
|
||||||
|
ifeq ($(ARCH), i586)
|
||||||
|
CPPFLAGS += -DX_ARCH=X_I586
|
||||||
|
endif # ARCH i586
|
||||||
|
|
||||||
ifeq ($(ARCH), sparc)
|
ifeq ($(ARCH), sparc)
|
||||||
CPPFLAGS += -DX_ARCH=X_SPARC
|
CPPFLAGS += -DX_ARCH=X_SPARC
|
||||||
endif # ARCH sparc
|
endif # ARCH sparc
|
||||||
|
|
||||||
ifeq ($(ARCH), sparcv9)
|
ifeq ($(ARCH), sparcv9)
|
||||||
CPPFLAGS += -DX_ARCH=X_SPARCV9
|
CPPFLAGS += -DX_ARCH=X_SPARCV9
|
||||||
endif # ARCH sparcv9
|
endif # ARCH sparcv9
|
||||||
|
|
||||||
ifeq ($(ARCH), amd64)
|
ifeq ($(ARCH), amd64)
|
||||||
CPPFLAGS += -DX_ARCH=X_AMD64
|
CPPFLAGS += -DX_ARCH=X_AMD64
|
||||||
endif # ARCH amd64
|
endif # ARCH amd64
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
# files needed for MIDI i/o
|
# files needed for MIDI i/o
|
||||||
|
@ -339,3 +339,82 @@ fi
|
|||||||
PATH="${path4sdk}"
|
PATH="${path4sdk}"
|
||||||
export PATH
|
export PATH
|
||||||
|
|
||||||
|
# Export variables required for Zero
|
||||||
|
if [ "${ZERO_BUILD}" = true ] ; then
|
||||||
|
# ZERO_LIBARCH is the name of the architecture-specific
|
||||||
|
# subdirectory under $JAVA_HOME/jre/lib
|
||||||
|
arch=$(uname -m)
|
||||||
|
case "${arch}" in
|
||||||
|
x86_64) ZERO_LIBARCH=amd64 ;;
|
||||||
|
i?86) ZERO_LIBARCH=i386 ;;
|
||||||
|
sparc64) ZERO_LIBARCH=sparcv9 ;;
|
||||||
|
arm*) ZERO_LIBARCH=arm ;;
|
||||||
|
*) ZERO_LIBARCH="$(arch)"
|
||||||
|
esac
|
||||||
|
export ZERO_LIBARCH
|
||||||
|
|
||||||
|
# ARCH_DATA_MODEL is the number of bits in a pointer
|
||||||
|
case "${ZERO_LIBARCH}" in
|
||||||
|
i386|ppc|s390|sparc|arm)
|
||||||
|
ARCH_DATA_MODEL=32
|
||||||
|
;;
|
||||||
|
amd64|ppc64|s390x|sparcv9|ia64|alpha)
|
||||||
|
ARCH_DATA_MODEL=64
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "ERROR: Unable to determine ARCH_DATA_MODEL for ${ZERO_LIBARCH}"
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
export ARCH_DATA_MODEL
|
||||||
|
|
||||||
|
# ZERO_ENDIANNESS is the endianness of the processor
|
||||||
|
case "${ZERO_LIBARCH}" in
|
||||||
|
i386|amd64|ia64)
|
||||||
|
ZERO_ENDIANNESS=little
|
||||||
|
;;
|
||||||
|
ppc*|s390*|sparc*|alpha)
|
||||||
|
ZERO_ENDIANNESS=big
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "ERROR: Unable to determine ZERO_ENDIANNESS for ${ZERO_LIBARCH}"
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
export ZERO_ENDIANNESS
|
||||||
|
|
||||||
|
# ZERO_ARCHDEF is used to enable architecture-specific code
|
||||||
|
case "${ZERO_LIBARCH}" in
|
||||||
|
i386) ZERO_ARCHDEF=IA32 ;;
|
||||||
|
ppc*) ZERO_ARCHDEF=PPC ;;
|
||||||
|
s390*) ZERO_ARCHDEF=S390 ;;
|
||||||
|
sparc*) ZERO_ARCHDEF=SPARC ;;
|
||||||
|
*) ZERO_ARCHDEF=$(echo "${ZERO_LIBARCH}" | tr a-z A-Z)
|
||||||
|
esac
|
||||||
|
export ZERO_ARCHDEF
|
||||||
|
|
||||||
|
# ZERO_ARCHFLAG tells the compiler which mode to build for
|
||||||
|
case "${ZERO_LIBARCH}" in
|
||||||
|
s390)
|
||||||
|
ZERO_ARCHFLAG="-m31"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
ZERO_ARCHFLAG="-m${ARCH_DATA_MODEL}"
|
||||||
|
esac
|
||||||
|
export ZERO_ARCHFLAG
|
||||||
|
|
||||||
|
# LIBFFI_CFLAGS and LIBFFI_LIBS tell the compiler how to compile and
|
||||||
|
# link against libffi
|
||||||
|
pkgconfig=$(which pkg-config 2>/dev/null)
|
||||||
|
if [ -x "${pkgconfig}" ] ; then
|
||||||
|
if [ "${LIBFFI_CFLAGS}" = "" ] ; then
|
||||||
|
LIBFFI_CFLAGS=$("${pkgconfig}" --cflags libffi)
|
||||||
|
fi
|
||||||
|
if [ "${LIBFFI_LIBS}" = "" ] ; then
|
||||||
|
LIBFFI_LIBS=$("${pkgconfig}" --libs libffi)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ "${LIBFFI_LIBS}" = "" ] ; then
|
||||||
|
LIBFFI_LIBS="-lffi"
|
||||||
|
fi
|
||||||
|
export LIBFFI_CFLAGS
|
||||||
|
export LIBFFI_LIBS
|
||||||
|
fi
|
||||||
|
@ -137,15 +137,15 @@ ifeq ($(PROGRAM),jdb)
|
|||||||
# PROGRAM, JAVA_ARGS, and APP_CLASSPATH are used in src/share/bin/java.c
|
# PROGRAM, JAVA_ARGS, and APP_CLASSPATH are used in src/share/bin/java.c
|
||||||
# SA is currently not available on windows (for any ARCH), or linux-ia64:
|
# SA is currently not available on windows (for any ARCH), or linux-ia64:
|
||||||
ifneq ($(ARCH), ia64)
|
ifneq ($(ARCH), ia64)
|
||||||
JDB_CLASSPATH = "{ \"/lib/tools.jar\", \"/lib/sa-jdi.jar\", \"/classes\" }"
|
JDB_CLASSPATH = { "/lib/tools.jar", "/lib/sa-jdi.jar", "/classes" }
|
||||||
OTHER_CPPFLAGS += -DAPP_CLASSPATH=$(JDB_CLASSPATH)
|
OTHER_CPPFLAGS += -DAPP_CLASSPATH='$(JDB_CLASSPATH)'
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# jconsole only
|
# jconsole only
|
||||||
ifeq ($(PROGRAM),jconsole)
|
ifeq ($(PROGRAM),jconsole)
|
||||||
JCONSOLE_CLASSPATH = "{ \"/lib/jconsole.jar\", \"/lib/tools.jar\", \"/classes\" }"
|
JCONSOLE_CLASSPATH = { "/lib/jconsole.jar", "/lib/tools.jar", "/classes" }
|
||||||
OTHER_CPPFLAGS += -DAPP_CLASSPATH=$(JCONSOLE_CLASSPATH)
|
OTHER_CPPFLAGS += -DAPP_CLASSPATH='$(JCONSOLE_CLASSPATH)'
|
||||||
ifeq ($(PLATFORM), windows)
|
ifeq ($(PLATFORM), windows)
|
||||||
OTHER_CPPFLAGS += -DJAVAW
|
OTHER_CPPFLAGS += -DJAVAW
|
||||||
LDLIBS_COMMON += user32.lib
|
LDLIBS_COMMON += user32.lib
|
||||||
@ -163,8 +163,8 @@ endif
|
|||||||
|
|
||||||
# SA tools need special app classpath
|
# SA tools need special app classpath
|
||||||
ifeq ($(SA_TOOL),true)
|
ifeq ($(SA_TOOL),true)
|
||||||
SA_CLASSPATH = "{ \"/lib/tools.jar\", \"/lib/sa-jdi.jar\", \"/classes\"}"
|
SA_CLASSPATH = { "/lib/tools.jar", "/lib/sa-jdi.jar", "/classes" }
|
||||||
OTHER_CPPFLAGS += -DAPP_CLASSPATH=$(SA_CLASSPATH)
|
OTHER_CPPFLAGS += -DAPP_CLASSPATH='$(SA_CLASSPATH)'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Wildcards
|
# Wildcards
|
||||||
@ -173,11 +173,11 @@ ifeq ($(WILDCARDS),true)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Always tell native code what the main class is
|
# Always tell native code what the main class is
|
||||||
OTHER_CPPFLAGS += -DMAIN_CLASS=\"$(MAIN_CLASS)\"
|
OTHER_CPPFLAGS += -DMAIN_CLASS='"$(MAIN_CLASS)"'
|
||||||
|
|
||||||
# Construct initializer for initial arguments to java
|
# Construct initializer for initial arguments to java
|
||||||
ALL_ARGS = -J-ms8m $(MAIN_JAVA_ARGS) $(MAIN_CLASS) $(MAIN_ARGS)
|
ALL_ARGS = -J-ms8m $(MAIN_JAVA_ARGS) $(MAIN_CLASS) $(MAIN_ARGS)
|
||||||
JAVA_ARGS = "{ $(ALL_ARGS:%=\"%\",) }"
|
JAVA_ARGS = { $(ALL_ARGS:%="%",) }
|
||||||
|
|
||||||
# Always report launcher info
|
# Always report launcher info
|
||||||
build: launcher_info
|
build: launcher_info
|
||||||
|
@ -33,7 +33,7 @@ includes=\
|
|||||||
com/sun/tools/jconsole/ \
|
com/sun/tools/jconsole/ \
|
||||||
sun/tools/jconsole/
|
sun/tools/jconsole/
|
||||||
excludes=\
|
excludes=\
|
||||||
sun/tools/jconsole/Version-template.java
|
sun/tools/jconsole/Version.java.template
|
||||||
jtreg.tests=\
|
jtreg.tests=\
|
||||||
sun/tools/jconsole/
|
sun/tools/jconsole/
|
||||||
javadoc.packagenames=\
|
javadoc.packagenames=\
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
<target name="-pre-compile">
|
<target name="-pre-compile">
|
||||||
<copy
|
<copy
|
||||||
file="${root}/src/share/classes/sun/tools/jconsole/Version-template.java"
|
file="${root}/src/share/classes/sun/tools/jconsole/Version.java.template"
|
||||||
tofile="${gensrc.dir}/sun/tools/jconsole/Version.java"/>
|
tofile="${gensrc.dir}/sun/tools/jconsole/Version.java"/>
|
||||||
<replace
|
<replace
|
||||||
file="${gensrc.dir}/sun/tools/jconsole/Version.java"
|
file="${gensrc.dir}/sun/tools/jconsole/Version.java"
|
||||||
|
@ -70,7 +70,7 @@ include $(BUILDDIR)/common/Classes.gmk
|
|||||||
build: $(FILES_png) $(FILES_gif) $(TEMPDIR)/manifest $(JARFILE)
|
build: $(FILES_png) $(FILES_gif) $(TEMPDIR)/manifest $(JARFILE)
|
||||||
|
|
||||||
$(GENSRCDIR)/sun/tools/jconsole/Version.java: \
|
$(GENSRCDIR)/sun/tools/jconsole/Version.java: \
|
||||||
$(SHARE_SRC)/classes/sun/tools/jconsole/Version-template.java
|
$(SHARE_SRC)/classes/sun/tools/jconsole/Version.java.template
|
||||||
$(MKDIR) -p $(@D)
|
$(MKDIR) -p $(@D)
|
||||||
$(SED) -e 's/@@jconsole_version@@/$(FULL_VERSION)/g' $< > $@
|
$(SED) -e 's/@@jconsole_version@@/$(FULL_VERSION)/g' $< > $@
|
||||||
|
|
||||||
|
@ -44,14 +44,6 @@ include $(BUILDDIR)/common/Defs.gmk
|
|||||||
include FILES_java.gmk
|
include FILES_java.gmk
|
||||||
AUTO_FILES_JAVA_DIRS = sun/nio/cs/ext
|
AUTO_FILES_JAVA_DIRS = sun/nio/cs/ext
|
||||||
|
|
||||||
# Exclude a few sources on windows
|
|
||||||
ifeq ($(PLATFORM), windows)
|
|
||||||
AUTO_JAVA_PRUNE = sun/nio/cs/ext/COMPOUND_TEXT.java \
|
|
||||||
sun/nio/cs/ext/COMPOUND_TEXT_Decoder.java \
|
|
||||||
sun/nio/cs/ext/COMPOUND_TEXT_Encoder.java \
|
|
||||||
sun/nio/cs/ext/CompoundTextSupport.java
|
|
||||||
endif # PLATFORM
|
|
||||||
|
|
||||||
# For Cygwin, command line arguments that are paths must be converted to
|
# For Cygwin, command line arguments that are paths must be converted to
|
||||||
# windows style paths. These paths cannot be used as targets, however, because
|
# windows style paths. These paths cannot be used as targets, however, because
|
||||||
# the ":" in them will interfere with GNU Make rules, generating "multiple
|
# the ":" in them will interfere with GNU Make rules, generating "multiple
|
||||||
|
@ -38,7 +38,6 @@ SUBDIRS = \
|
|||||||
compile_properties \
|
compile_properties \
|
||||||
dir_diff \
|
dir_diff \
|
||||||
dtdbuilder \
|
dtdbuilder \
|
||||||
fontchecker \
|
|
||||||
freetypecheck \
|
freetypecheck \
|
||||||
generate_break_iterator \
|
generate_break_iterator \
|
||||||
GenerateCharacter \
|
GenerateCharacter \
|
||||||
|
@ -1,175 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2002-2004 Sun Microsystems, Inc. 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. Sun designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
|
||||||
* CA 95054 USA or visit www.sun.com if you need additional information or
|
|
||||||
* have any questions.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package build.tools.fontchecker;
|
|
||||||
|
|
||||||
import java.awt.*;
|
|
||||||
import java.awt.image.*;
|
|
||||||
import java.io.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FontCheckDummy (not unlike Crash Test Dummy).
|
|
||||||
*
|
|
||||||
* <PRE>
|
|
||||||
* FontCheckDummy is the "child" process. Its task is to verify
|
|
||||||
* integrity of system fonts. Since unexpected crashes are known
|
|
||||||
* to occur when certain fonts are manipulated, the process is
|
|
||||||
* "monitored" by the parent process, which might have to restart
|
|
||||||
* the "child" if it crashes.
|
|
||||||
* </PRE>
|
|
||||||
*
|
|
||||||
* @author Ilya Bagrak
|
|
||||||
*/
|
|
||||||
public class FontCheckDummy implements FontCheckerConstants {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Input stream from parent process.
|
|
||||||
*/
|
|
||||||
private BufferedReader is;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Output stream to parent process.
|
|
||||||
*/
|
|
||||||
private BufferedOutputStream os;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Image on which font characters will be drawn.
|
|
||||||
*/
|
|
||||||
private BufferedImage bi;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* graphics object on which characters will be drawn.
|
|
||||||
*/
|
|
||||||
private Graphics graphics;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This constructor wraps the process's standard output and input streams
|
|
||||||
* to enable easier communication with parent process. It also initializes
|
|
||||||
* the graphics object used for drawing font characters.
|
|
||||||
* <BR><BR>
|
|
||||||
* @see FontCheckerConstants
|
|
||||||
*/
|
|
||||||
public FontCheckDummy() {
|
|
||||||
is = new BufferedReader(new InputStreamReader(System.in));
|
|
||||||
os = new BufferedOutputStream(System.out);
|
|
||||||
/* make suffficient space for 12 point font */
|
|
||||||
bi = new BufferedImage(40, 40, BufferedImage.TYPE_INT_RGB);
|
|
||||||
graphics = bi.getGraphics();
|
|
||||||
try {
|
|
||||||
os.write(CHILD_STARTED_OK);
|
|
||||||
os.flush();
|
|
||||||
} catch (IOException e) {
|
|
||||||
System.exit(-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initializes an instance of Font from given font path.
|
|
||||||
* <BR>
|
|
||||||
* This methods attempts to create an instance of font from
|
|
||||||
* a string that represents path to the font file.
|
|
||||||
* <BR><BR>
|
|
||||||
* @param fontPath string representing path to font file
|
|
||||||
* @param flag indicating whether or not checking of non-TrueType fonts
|
|
||||||
* is necessary
|
|
||||||
*/
|
|
||||||
private void testFont(String fontPath, boolean checkNonTTF) {
|
|
||||||
|
|
||||||
FontFileFilter fff = new FontFileFilter(checkNonTTF);
|
|
||||||
File fontFile = new File(fontPath);
|
|
||||||
if (!fontFile.canRead()) {
|
|
||||||
try {
|
|
||||||
os.write(ERR_FONT_NOT_FOUND);
|
|
||||||
os.flush();
|
|
||||||
} catch (IOException e) {
|
|
||||||
System.exit(-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Font font = null;
|
|
||||||
try {
|
|
||||||
File file = new File(fontPath);
|
|
||||||
font = Font.createFont(fff.getFontType(fontPath), file);
|
|
||||||
} catch (FontFormatException e1) {
|
|
||||||
} catch (IOException e2) {
|
|
||||||
}
|
|
||||||
if (font == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
font = font.deriveFont(Font.PLAIN, 12);
|
|
||||||
String name = font.getFontName();
|
|
||||||
String family = font.getFamily();
|
|
||||||
|
|
||||||
char[] testChars = { '0' };
|
|
||||||
if (font.canDisplay(testChars[0])) {
|
|
||||||
graphics.setFont(font);
|
|
||||||
graphics.drawChars(testChars, 0, 1, 20, 20);
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
os.write(ERR_FONT_OK);
|
|
||||||
os.flush();
|
|
||||||
} catch (IOException e) {
|
|
||||||
System.exit(-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Begins synchronous communication betweeen parent and child processes.
|
|
||||||
* <BR>
|
|
||||||
* This method begins communication between parent and child processes.
|
|
||||||
* FontCheckDummy reads a line of text from input stream (@see #is).
|
|
||||||
*/
|
|
||||||
public void run() {
|
|
||||||
String command = null;
|
|
||||||
while (true) {
|
|
||||||
try {
|
|
||||||
command = is.readLine();
|
|
||||||
} catch (IOException e) {
|
|
||||||
System.exit(-1);
|
|
||||||
}
|
|
||||||
if (command != null && command.length() >= 1) {
|
|
||||||
int cmd = Integer.parseInt(command.substring(0,1));
|
|
||||||
if (cmd == EXITCOMMAND) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
boolean checkNonTTF = ((cmd == 1) ? true : false);
|
|
||||||
String fontPath = command.substring(1);
|
|
||||||
testFont(fontPath, checkNonTTF);
|
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
try {
|
|
||||||
/* Background app. */
|
|
||||||
System.setProperty("java.awt.headless", "true");
|
|
||||||
System.setProperty("sun.java2d.noddraw", "true");
|
|
||||||
new FontCheckDummy().run();
|
|
||||||
} catch (Throwable t) {
|
|
||||||
}
|
|
||||||
System.exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,452 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2002-2004 Sun Microsystems, Inc. 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. Sun designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
|
||||||
* CA 95054 USA or visit www.sun.com if you need additional information or
|
|
||||||
* have any questions.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package build.tools.fontchecker;
|
|
||||||
|
|
||||||
import java.io.*;
|
|
||||||
import java.util.*;
|
|
||||||
import java.awt.event.*;
|
|
||||||
import sun.font.FontManager;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FontChecker.
|
|
||||||
*
|
|
||||||
* <PRE>
|
|
||||||
* This is a FontChecker program. This class is a "parent" process
|
|
||||||
* which invokes a "child" process. The child process will test
|
|
||||||
* series of fonts and may crash as it encounters invalid fonts.
|
|
||||||
* The "parent" process must then interpret error codes passed to it
|
|
||||||
* by the "child" process and restart the "child" process if necessary.
|
|
||||||
*
|
|
||||||
* usage: java FontChecker [-v] -o outputfile
|
|
||||||
*
|
|
||||||
* -o is the name of the file to contains canonical path names of
|
|
||||||
* bad fonts that are identified. This file is not created if
|
|
||||||
* no bad fonts are found.
|
|
||||||
* -v verbose: prints progress messages.
|
|
||||||
*
|
|
||||||
* </PRE>
|
|
||||||
*
|
|
||||||
* @author Ilya Bagrak
|
|
||||||
*/
|
|
||||||
public class FontChecker implements ActionListener, FontCheckerConstants {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Output stream to subprocess.
|
|
||||||
* Corresponds to the subprocess's System.in".
|
|
||||||
*/
|
|
||||||
private PrintWriter procPipeOut;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Input stream from subprocess.
|
|
||||||
* Corresponds to the subprocess's System.out".
|
|
||||||
*/
|
|
||||||
private BufferedInputStream procPipeIn;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Child process.
|
|
||||||
*/
|
|
||||||
private Process childProc;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Name of output file to write file names of bad fonts
|
|
||||||
*/
|
|
||||||
private String outputFile;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reference to currently executing thread.
|
|
||||||
*/
|
|
||||||
private Thread currThread;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Timeout timer for a single font check
|
|
||||||
*/
|
|
||||||
private javax.swing.Timer timeOne;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Timeout timer for all font checks
|
|
||||||
*/
|
|
||||||
private javax.swing.Timer timeAll;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* max time (in milliseconds) allowed for checking a single font.
|
|
||||||
*/
|
|
||||||
private static int timeoutOne = 10000;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* max time (in milliseconds) allowed for checking all fonts.
|
|
||||||
*/
|
|
||||||
private static int timeoutAll = 120000;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Boolean flag indicating whether FontChecker is required to
|
|
||||||
* check non-TrueType fonts.
|
|
||||||
*/
|
|
||||||
private boolean checkNonTTF = false;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* List of bad fonts found in the system.
|
|
||||||
*/
|
|
||||||
private Vector badFonts = new Vector();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* whether to print warnings messges etc to stdout/err
|
|
||||||
* default is false
|
|
||||||
*/
|
|
||||||
private static boolean verbose = false;
|
|
||||||
|
|
||||||
/* Command to use to exec sub-process. */
|
|
||||||
private static String javaCmd = "java";
|
|
||||||
|
|
||||||
static void printlnMessage(String s) {
|
|
||||||
if (verbose) {
|
|
||||||
System.out.println(s);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Event handler for timer event.
|
|
||||||
* <BR>
|
|
||||||
* Stops the timer and interrupts the current thread which is
|
|
||||||
* still waiting on I/O from the child process.
|
|
||||||
* <BR><BR>
|
|
||||||
* @param evt timer event
|
|
||||||
*/
|
|
||||||
public void actionPerformed(ActionEvent evt) {
|
|
||||||
if (evt.getSource() == timeOne) {
|
|
||||||
timeOne.stop();
|
|
||||||
printlnMessage("Child timed out: killing");
|
|
||||||
childProc.destroy();
|
|
||||||
} else {
|
|
||||||
doExit(); // went on too long (ie timeAll timed out).
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initializes a FontChecker.
|
|
||||||
* <BR>
|
|
||||||
* This method is usually called after an unrecoverable error has
|
|
||||||
* been detected and a child process has either crashed or is in bad
|
|
||||||
* state. The method creates a new child process from
|
|
||||||
* scratch and initializes it's input/output streams.
|
|
||||||
*/
|
|
||||||
public void initialize() {
|
|
||||||
try {
|
|
||||||
if (childProc != null) {
|
|
||||||
childProc.destroy();
|
|
||||||
}
|
|
||||||
String fileSeparator = System.getProperty("file.separator");
|
|
||||||
String javaHome = System.getProperty("java.home");
|
|
||||||
String classPath = System.getProperty("java.class.path");
|
|
||||||
classPath = "\"" + classPath + "\"";
|
|
||||||
String opt = "-cp " + classPath + " -Dsun.java2d.fontpath=\"" +
|
|
||||||
javaHome + fileSeparator + "lib" + fileSeparator + "fonts\"";
|
|
||||||
|
|
||||||
/* command to exec the child process with the same JRE */
|
|
||||||
String cmd =
|
|
||||||
new String(javaHome + fileSeparator + "bin" +
|
|
||||||
fileSeparator + javaCmd +
|
|
||||||
" -XXsuppressExitMessage " + opt +
|
|
||||||
" com.sun.java2d.fontchecker.FontCheckDummy");
|
|
||||||
printlnMessage("cmd="+cmd);
|
|
||||||
childProc = Runtime.getRuntime().exec(cmd);
|
|
||||||
|
|
||||||
} catch (IOException e) {
|
|
||||||
printlnMessage("can't execute child process");
|
|
||||||
System.exit(0);
|
|
||||||
} catch (SecurityException e) {
|
|
||||||
printlnMessage("Error: access denied");
|
|
||||||
System.exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* initialize input/output streams to/from child process */
|
|
||||||
procPipeOut = new PrintWriter(childProc.getOutputStream());
|
|
||||||
procPipeIn = new BufferedInputStream(childProc.getInputStream());
|
|
||||||
|
|
||||||
try {
|
|
||||||
int code = procPipeIn.read();
|
|
||||||
if (code != CHILD_STARTED_OK) {
|
|
||||||
printlnMessage("bad child process start status="+code);
|
|
||||||
doExit();
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
printlnMessage("can't read child process start status unknown");
|
|
||||||
doExit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void doExit() {
|
|
||||||
try {
|
|
||||||
if (procPipeOut != null) {
|
|
||||||
/* Tell the child to exit */
|
|
||||||
procPipeOut.write(EXITCOMMAND+System.getProperty("line.separator"));
|
|
||||||
procPipeOut.flush();
|
|
||||||
procPipeOut.close();
|
|
||||||
}
|
|
||||||
} catch (Throwable t) {
|
|
||||||
}
|
|
||||||
System.exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tries to verify integrity of a font specified by a path.
|
|
||||||
* <BR>
|
|
||||||
* This method is used to test whether a font specified by the given
|
|
||||||
* path is valid and does not crash the system.
|
|
||||||
* <BR><BR>
|
|
||||||
* @param fontPath a string representation of font path
|
|
||||||
* to standard out during while this font is tried
|
|
||||||
* @return returns <code>true</code> if font is OK, and
|
|
||||||
* <code>false</code> otherwise.
|
|
||||||
*/
|
|
||||||
public boolean tryFont(File fontFile) {
|
|
||||||
int bytesRead = 0;
|
|
||||||
String fontPath = fontFile.getAbsolutePath();
|
|
||||||
|
|
||||||
printlnMessage("Checking font "+fontPath);
|
|
||||||
|
|
||||||
/* store reference to the current thread, so that when the timer
|
|
||||||
* fires it can be interrupted
|
|
||||||
*/
|
|
||||||
currThread = Thread.currentThread();
|
|
||||||
timeOne.restart();
|
|
||||||
|
|
||||||
/* write a string command out to child process
|
|
||||||
* The command is formed by appending whether to test non-TT fonts
|
|
||||||
* and font path to be tested
|
|
||||||
*/
|
|
||||||
String command = Integer.toString(checkNonTTF ? 1 : 0) +
|
|
||||||
fontPath +
|
|
||||||
System.getProperty("line.separator");
|
|
||||||
procPipeOut.write(command);
|
|
||||||
procPipeOut.flush();
|
|
||||||
|
|
||||||
/* check if underlying stream has encountered an error after
|
|
||||||
* command has been issued
|
|
||||||
*/
|
|
||||||
if (procPipeOut.checkError()){
|
|
||||||
printlnMessage("Error: font crashed");
|
|
||||||
initialize();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* trying reading error code back from child process */
|
|
||||||
try {
|
|
||||||
bytesRead = procPipeIn.read();
|
|
||||||
} catch(InterruptedIOException e) {
|
|
||||||
/* A timeout timer fired before the operation completed */
|
|
||||||
printlnMessage("Error: timeout occured");
|
|
||||||
initialize();
|
|
||||||
return false;
|
|
||||||
} catch(IOException e) {
|
|
||||||
/* there was an error reading from the stream */
|
|
||||||
timeOne.stop();
|
|
||||||
printlnMessage("Error: font crashed");
|
|
||||||
initialize();
|
|
||||||
return false;
|
|
||||||
} catch (Throwable t) {
|
|
||||||
bytesRead = ERR_FONT_READ_EXCPT;
|
|
||||||
} finally {
|
|
||||||
timeOne.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bytesRead == ERR_FONT_OK) {
|
|
||||||
printlnMessage("Font integrity verified");
|
|
||||||
return true;
|
|
||||||
} else if (bytesRead > 0) {
|
|
||||||
|
|
||||||
switch(bytesRead){
|
|
||||||
case ERR_FONT_NOT_FOUND:
|
|
||||||
printlnMessage("Error: font not found!");
|
|
||||||
break;
|
|
||||||
case ERR_FONT_BAD_FORMAT:
|
|
||||||
printlnMessage("Error: incorrect font format");
|
|
||||||
break;
|
|
||||||
case ERR_FONT_READ_EXCPT:
|
|
||||||
printlnMessage("Error: exception reading font");
|
|
||||||
break;
|
|
||||||
case ERR_FONT_DISPLAY:
|
|
||||||
printlnMessage("Error: can't display characters");
|
|
||||||
break;
|
|
||||||
case ERR_FONT_CRASH:
|
|
||||||
printlnMessage("Error: font crashed");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
printlnMessage("Error: invalid error code:"+bytesRead);
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
} else if (bytesRead == ERR_FONT_EOS) {
|
|
||||||
printlnMessage("Error: end of stream marker encountered");
|
|
||||||
} else {
|
|
||||||
printlnMessage("Error: invalid error code:"+bytesRead);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* if we still haven't returned from this method, some error
|
|
||||||
* condition has occured and it is safer to re-initialize
|
|
||||||
*/
|
|
||||||
initialize();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks the integrity of all system fonts.
|
|
||||||
* <BR>
|
|
||||||
* This method goes through every font in system's font path and verifies
|
|
||||||
* its integrity via the tryFont method.
|
|
||||||
* <BR><BR>
|
|
||||||
* @param restart <code>true</code> if checking of fonts should continue
|
|
||||||
* after the first bad font is found, and <code>false</code> otherwise
|
|
||||||
* @return returns <code>true</code> if all fonts are valid,
|
|
||||||
* <code>false</code> otherwise
|
|
||||||
* @see #tryFont(String, boolean, boolean)
|
|
||||||
*/
|
|
||||||
public boolean checkFonts(boolean restart) {
|
|
||||||
|
|
||||||
/* file filter to filter out none-truetype font files */
|
|
||||||
FontFileFilter fff = new FontFileFilter(checkNonTTF);
|
|
||||||
boolean checkOk = true;
|
|
||||||
|
|
||||||
/* get platform-independent font path. Note that this bypasses
|
|
||||||
* the normal GraphicsEnvironment initialisation. In conjunction with
|
|
||||||
* the headless setting above, so we want to add
|
|
||||||
* java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();
|
|
||||||
* to trigger a more normal initialisation.
|
|
||||||
*/
|
|
||||||
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();
|
|
||||||
String fontPath = FontManager.getFontPath(true);
|
|
||||||
StringTokenizer st =
|
|
||||||
new StringTokenizer(fontPath,
|
|
||||||
System.getProperty("path.separator"));
|
|
||||||
|
|
||||||
/* some systems may have multiple font paths separated by
|
|
||||||
* platform-dependent characters, so fontPath string needs to be
|
|
||||||
* parsed
|
|
||||||
*/
|
|
||||||
timeOne = new javax.swing.Timer(timeoutOne, this);
|
|
||||||
timeAll = new javax.swing.Timer(timeoutAll, this);
|
|
||||||
timeAll.restart();
|
|
||||||
while (st.hasMoreTokens()) {
|
|
||||||
File fontRoot = new File(st.nextToken());
|
|
||||||
File[] fontFiles = fontRoot.listFiles(fff);
|
|
||||||
|
|
||||||
for (int i = 0; i < fontFiles.length; i++) {
|
|
||||||
/* for each font file that is not a directory and passes
|
|
||||||
* through the font filter run the test
|
|
||||||
*/
|
|
||||||
if (!fontFiles[i].isDirectory() &&
|
|
||||||
!tryFont(fontFiles[i])) {
|
|
||||||
|
|
||||||
checkOk = false;
|
|
||||||
badFonts.add(fontFiles[i].getAbsolutePath());
|
|
||||||
if (!restart) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Tell the child to exit */
|
|
||||||
procPipeOut.write(EXITCOMMAND+System.getProperty("line.separator"));
|
|
||||||
procPipeOut.flush();
|
|
||||||
procPipeOut.close();
|
|
||||||
|
|
||||||
return checkOk;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String args[]){
|
|
||||||
try {
|
|
||||||
/* Background app. */
|
|
||||||
System.setProperty("java.awt.headless", "true");
|
|
||||||
System.setProperty("sun.java2d.noddraw", "true");
|
|
||||||
|
|
||||||
boolean restart = true;
|
|
||||||
boolean errorFlag = false;
|
|
||||||
|
|
||||||
FontChecker fc = new FontChecker();
|
|
||||||
int arg = 0;
|
|
||||||
|
|
||||||
while (arg < args.length && errorFlag == false) {
|
|
||||||
if (args[arg].equals("-v")) {
|
|
||||||
verbose = true;
|
|
||||||
}
|
|
||||||
else if (args[arg].equals("-w") &&
|
|
||||||
System.getProperty("os.name", "unknown").
|
|
||||||
startsWith("Windows")) {
|
|
||||||
javaCmd = "javaw";
|
|
||||||
}
|
|
||||||
else if (args[arg].equals("-o")) {
|
|
||||||
/* set output file */
|
|
||||||
if (++arg < args.length)
|
|
||||||
fc.outputFile = args[arg];
|
|
||||||
else {
|
|
||||||
/* invalid argument format */
|
|
||||||
printlnMessage("Error: invalid argument format");
|
|
||||||
errorFlag = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
/* invalid command line argument */
|
|
||||||
printlnMessage("Error: invalid argument value");
|
|
||||||
errorFlag = true;
|
|
||||||
}
|
|
||||||
arg++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (errorFlag || fc.outputFile == null) {
|
|
||||||
System.exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
File outfile = new File(fc.outputFile);
|
|
||||||
if (outfile.exists()) {
|
|
||||||
outfile.delete();
|
|
||||||
}
|
|
||||||
|
|
||||||
fc.initialize();
|
|
||||||
|
|
||||||
if (!fc.checkFonts(restart)) {
|
|
||||||
String[] badFonts = (String[])fc.badFonts.toArray(new String[0]);
|
|
||||||
if (badFonts.length > 0) {
|
|
||||||
printlnMessage("Bad Fonts:");
|
|
||||||
try {
|
|
||||||
FileOutputStream fos =
|
|
||||||
new FileOutputStream(fc.outputFile);
|
|
||||||
PrintStream ps = new PrintStream(fos);
|
|
||||||
for (int i = 0; i < badFonts.length; i++) {
|
|
||||||
ps.println(badFonts[i]);
|
|
||||||
printlnMessage(badFonts[i]);
|
|
||||||
}
|
|
||||||
fos.close();
|
|
||||||
} catch (IOException e) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
printlnMessage("No bad fonts found.");
|
|
||||||
}
|
|
||||||
} catch (Throwable t) {
|
|
||||||
}
|
|
||||||
System.exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,45 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2002-2004 Sun Microsystems, Inc. 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. Sun designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
|
||||||
* CA 95054 USA or visit www.sun.com if you need additional information or
|
|
||||||
* have any questions.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package build.tools.fontchecker;
|
|
||||||
|
|
||||||
public interface FontCheckerConstants {
|
|
||||||
|
|
||||||
/* code sent to indicate child process started OK */
|
|
||||||
public static final int CHILD_STARTED_OK = 100;
|
|
||||||
|
|
||||||
/* error codes returned from child process */
|
|
||||||
public static final int ERR_FONT_OK = 65;
|
|
||||||
public static final int ERR_FONT_NOT_FOUND = 60;
|
|
||||||
public static final int ERR_FONT_BAD_FORMAT = 61;
|
|
||||||
public static final int ERR_FONT_READ_EXCPT = 62;
|
|
||||||
public static final int ERR_FONT_DISPLAY = 64;
|
|
||||||
public static final int ERR_FONT_EOS = -1;
|
|
||||||
/* nl char sent after child crashes */
|
|
||||||
public static final int ERR_FONT_CRASH = 10;
|
|
||||||
|
|
||||||
/* 0 and 1 are reserved, and commands can only be a single digit integer */
|
|
||||||
public static final int EXITCOMMAND = 2;
|
|
||||||
}
|
|
@ -1,97 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2002-2003 Sun Microsystems, Inc. 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. Sun designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
|
||||||
* CA 95054 USA or visit www.sun.com if you need additional information or
|
|
||||||
* have any questions.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <PRE>
|
|
||||||
* This class filters TrueType font files from other file
|
|
||||||
* found in the font path.
|
|
||||||
*
|
|
||||||
* </PRE>
|
|
||||||
*
|
|
||||||
* @author Ilya Bagrak
|
|
||||||
*/
|
|
||||||
|
|
||||||
package build.tools.fontchecker;
|
|
||||||
|
|
||||||
import java.awt.*;
|
|
||||||
import java.io.*;
|
|
||||||
|
|
||||||
public class FontFileFilter implements java.io.FileFilter, FontCheckerConstants {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Boolean flag indicating whether this filter filters out
|
|
||||||
* non-TrueType fonts.
|
|
||||||
*/
|
|
||||||
private boolean checkNonTTF;
|
|
||||||
|
|
||||||
public FontFileFilter() {
|
|
||||||
this(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public FontFileFilter(boolean checkNonTTF) {
|
|
||||||
super();
|
|
||||||
this.checkNonTTF = checkNonTTF;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks whether a file is accepted by this filter.
|
|
||||||
* <BR>
|
|
||||||
* This method checks whehter a file is accepted by this filter.
|
|
||||||
* This filter is made to accept all the file whose extension is
|
|
||||||
* either .ttf or .TTF. These files are assumed to be TrueType fonts.
|
|
||||||
* <BR><BR>
|
|
||||||
* @return returns a boolean value indicating whether or not a file is
|
|
||||||
* accepted
|
|
||||||
*/
|
|
||||||
public boolean accept(File pathname) {
|
|
||||||
|
|
||||||
String name = pathname.getName();
|
|
||||||
return (name.endsWith(".ttf") ||
|
|
||||||
name.endsWith(".TTF") ||
|
|
||||||
name.endsWith(".ttc") ||
|
|
||||||
name.endsWith(".TTC")) ||
|
|
||||||
(name.endsWith(".pfb") ||
|
|
||||||
name.endsWith(".PFB") ||
|
|
||||||
name.endsWith(".pfa") ||
|
|
||||||
name.endsWith(".PFA") &&
|
|
||||||
checkNonTTF == true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getFontType(String filename) {
|
|
||||||
if (filename.endsWith(".ttf") ||
|
|
||||||
filename.endsWith(".TTF") ||
|
|
||||||
filename.endsWith(".ttc") ||
|
|
||||||
filename.endsWith(".TTC"))
|
|
||||||
return Font.TRUETYPE_FONT;
|
|
||||||
else if (filename.endsWith(".pfb") ||
|
|
||||||
filename.endsWith(".PFB") ||
|
|
||||||
filename.endsWith(".pfa") ||
|
|
||||||
filename.endsWith(".PFA"))
|
|
||||||
return Font.TYPE1_FONT;
|
|
||||||
else
|
|
||||||
return 999;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,91 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2002-2003 Sun Microsystems, Inc. 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. Sun designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
|
||||||
* CA 95054 USA or visit www.sun.com if you need additional information or
|
|
||||||
* have any questions.
|
|
||||||
*/
|
|
||||||
Instructions for running FontChecker
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
FontChecker is a program designed to identify fonts that may cause JRE
|
|
||||||
crashes. Such fonts may be corrupted files, or badly constructed fonts.
|
|
||||||
Some crashes may also be due to bugs in the JRE's font code.
|
|
||||||
This test is designed to run quickly and silently as part of the JRE
|
|
||||||
installation process. It will only benefit users who install the JRE
|
|
||||||
via that mechanism. It cannot guarantee to identify all "bad fonts" because
|
|
||||||
the tests are minimal. Nor can it prevent problems due to fonts installed
|
|
||||||
subsequently to the JRE's installation. However it does ensure that the
|
|
||||||
vast majority of problem fonts are identified. This is important
|
|
||||||
"RAS" functionality. It is targeted at the consumer/plugin market where
|
|
||||||
there is substantial likelihood of end-users having installed software
|
|
||||||
packages which may be delivered with fonts that are not up to commercial
|
|
||||||
standards.
|
|
||||||
|
|
||||||
The test is designed to be "fail safe". If the program fails to run
|
|
||||||
properly it has no impact on the installer or on JRE execution.
|
|
||||||
Thus there is no need to monitor successful execution of the test.
|
|
||||||
|
|
||||||
The test is not a new "tool" in the sense of "javah" etc.
|
|
||||||
The test is not designed to be user executable or visible, and should
|
|
||||||
be unpacked by the installer into a temporary location, and executed
|
|
||||||
once the rest of the JRE is installed (ie as a postinstall step), and
|
|
||||||
can then be deleted from the temporary location once installation is
|
|
||||||
complete. Not deleting the jar file before execution is complete is
|
|
||||||
probably the sole reason that the installer may want to wait for
|
|
||||||
the program to complete.
|
|
||||||
|
|
||||||
The FontChecker application can be run directly from the jar
|
|
||||||
file with this command:
|
|
||||||
%java -jar fontchecker.jar -o <file>
|
|
||||||
|
|
||||||
The output file is a required parameter in this version of the application.
|
|
||||||
The JRE installer should use the above form, and use it to create an
|
|
||||||
output file which must be named "badfonts.txt" and be placed into
|
|
||||||
the JRE's lib\fonts directory eg:-
|
|
||||||
|
|
||||||
java -jar fontchecker.jar -o "C:\Program Files\jre\lib\fonts\badfonts.txt"
|
|
||||||
|
|
||||||
Note the lower case "badfonts.txt", and the string quotes because of the spaces
|
|
||||||
in the path name.
|
|
||||||
The location given here is an example and needs to be calculated at install
|
|
||||||
time as $JREHOME\lib\fonts\badfonts.txt
|
|
||||||
The location and name are important, because the JRE at runtime will
|
|
||||||
look for this exactly located name and file.
|
|
||||||
This location is private to that JRE instance. It will not affect
|
|
||||||
any other JRE installed on the system.
|
|
||||||
|
|
||||||
If running from a different directory than that containing the jar file,
|
|
||||||
use the form containing the full path to the jar file, eg :
|
|
||||||
|
|
||||||
java -jar C:\fc\fontchecker.jar -o "C:\Program Files\jre\lib\fonts\badfonts.txt"
|
|
||||||
|
|
||||||
FontChecker application accepts following command line flags.
|
|
||||||
usage: java -jar fontchecker.jar -o outputfile
|
|
||||||
-v
|
|
||||||
|
|
||||||
-o is the name of the file to contains canonical path names of
|
|
||||||
bad fonts that are identified. This file is not created if
|
|
||||||
no bad fonts are found.
|
|
||||||
|
|
||||||
-v verbose mode: print progress/warning messages. Not recommended
|
|
||||||
for installer use.
|
|
||||||
|
|
||||||
-w if running on Windows, use "javaw" to exec the sub-process.
|
|
@ -38,6 +38,7 @@
|
|||||||
#define X_SPARCV9 3
|
#define X_SPARCV9 3
|
||||||
#define X_IA64 4
|
#define X_IA64 4
|
||||||
#define X_AMD64 5
|
#define X_AMD64 5
|
||||||
|
#define X_ZERO 6
|
||||||
|
|
||||||
// **********************************
|
// **********************************
|
||||||
// Make sure you set X_PLATFORM and X_ARCH defines correctly.
|
// Make sure you set X_PLATFORM and X_ARCH defines correctly.
|
||||||
|
58
jdk/src/solaris/bin/ergo_zero.c
Normal file
58
jdk/src/solaris/bin/ergo_zero.c
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 1998-2007 Sun Microsystems, Inc. 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. Sun designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||||
|
* CA 95054 USA or visit www.sun.com if you need additional information or
|
||||||
|
* have any questions.
|
||||||
|
*/
|
||||||
|
#include "ergo.h"
|
||||||
|
|
||||||
|
|
||||||
|
/* Methods for solaris-sparc and linux-sparc: these are easy. */
|
||||||
|
|
||||||
|
/* Ask the OS how many processors there are. */
|
||||||
|
static unsigned long
|
||||||
|
physical_processors(void) {
|
||||||
|
const unsigned long sys_processors = sysconf(_SC_NPROCESSORS_CONF);
|
||||||
|
|
||||||
|
JLI_TraceLauncher("sysconf(_SC_NPROCESSORS_CONF): %lu\n", sys_processors);
|
||||||
|
return sys_processors;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The sparc version of the "server-class" predicate. */
|
||||||
|
jboolean
|
||||||
|
ServerClassMachineImpl(void) {
|
||||||
|
jboolean result = JNI_FALSE;
|
||||||
|
/* How big is a server class machine? */
|
||||||
|
const unsigned long server_processors = 2UL;
|
||||||
|
const uint64_t server_memory = 2UL * GB;
|
||||||
|
const uint64_t actual_memory = physical_memory();
|
||||||
|
|
||||||
|
/* Is this a server class machine? */
|
||||||
|
if (actual_memory >= server_memory) {
|
||||||
|
const unsigned long actual_processors = physical_processors();
|
||||||
|
if (actual_processors >= server_processors) {
|
||||||
|
result = JNI_TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JLI_TraceLauncher("unix_" LIBARCHNAME "_ServerClassMachine: %s\n",
|
||||||
|
(result == JNI_TRUE ? "JNI_TRUE" : "JNI_FALSE"));
|
||||||
|
return result;
|
||||||
|
}
|
@ -1,5 +1,4 @@
|
|||||||
#
|
# Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||||
# Copyright 1998-2005 Sun Microsystems, Inc. All Rights Reserved.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -22,22 +21,19 @@
|
|||||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||||
# have any questions.
|
# have any questions.
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# Makefile for building the fontchecker tool
|
# List of JVMs that can be used as an option to java, javac, etc.
|
||||||
|
# Order is important -- first in this list is the default JVM.
|
||||||
|
# NOTE that this both this file and its format are UNSUPPORTED and
|
||||||
|
# WILL GO AWAY in a future release.
|
||||||
#
|
#
|
||||||
|
# You may also select a JVM in an arbitrary location with the
|
||||||
BUILDDIR = ../..
|
# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
|
||||||
PACKAGE = build.tools.fontchecker
|
# and may not be available in a future release.
|
||||||
PRODUCT = tools
|
|
||||||
PROGRAM = fontchecker
|
|
||||||
include $(BUILDDIR)/common/Defs.gmk
|
|
||||||
|
|
||||||
BUILDTOOL_SOURCE_ROOT = $(BUILDDIR)/tools/src
|
|
||||||
BUILDTOOL_MAIN = $(PKGDIR)/FontChecker.java
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Build tool jar rules.
|
-server KNOWN
|
||||||
#
|
-client IGNORE
|
||||||
include $(BUILDDIR)/common/BuildToolJar.gmk
|
-hotspot ERROR
|
||||||
|
-classic WARN
|
||||||
|
-native ERROR
|
||||||
|
-green ERROR
|
@ -26,7 +26,7 @@
|
|||||||
javac -d . ../../../../make/tools/src/build/tools/spp/Spp.java
|
javac -d . ../../../../make/tools/src/build/tools/spp/Spp.java
|
||||||
|
|
||||||
gen() {
|
gen() {
|
||||||
java build.tools.spp.Spp -K$1 -Dtype=$1 -DType=$2 -DFulltype=$3 <Basic-X.java >Basic$2.java
|
java build.tools.spp.Spp -K$1 -Dtype=$1 -DType=$2 -DFulltype=$3 <Basic-X.java.template >Basic$2.java
|
||||||
}
|
}
|
||||||
|
|
||||||
gen byte Byte Byte
|
gen byte Byte Byte
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
javac -d . ../../../../make/tools/src/build/tools/spp/Spp.java > Spp.java
|
javac -d . ../../../../make/tools/src/build/tools/spp/Spp.java > Spp.java
|
||||||
|
|
||||||
gen() {
|
gen() {
|
||||||
java build.tools.spp.Spp -K$1 -Dtype=$1 -DType=$2 -DFulltype=$3<CopyDirect-X-Memory.java >CopyDirect$2Memory.java
|
java build.tools.spp.Spp -K$1 -Dtype=$1 -DType=$2 -DFulltype=$3<CopyDirect-X-Memory.java.template >CopyDirect$2Memory.java
|
||||||
}
|
}
|
||||||
|
|
||||||
gen byte Byte Byte
|
gen byte Byte Byte
|
||||||
|
Loading…
x
Reference in New Issue
Block a user