8000839: Integrate the Java Access Bridge with Java Runtime
Reviewed-by: ptbrunet, erikj
--- a/jdk/make/Makefile Fri Jan 18 18:34:46 2013 +0400
+++ b/jdk/make/Makefile Fri Jan 18 11:33:31 2013 -0800
@@ -237,6 +237,9 @@
ifeq ($(PLATFORM), macosx)
SUBDIRS += apple
endif
+ifeq ($(PLATFORM), windows)
+ SUBDIRS += bridge
+endif
SUBDIRS_tools = launchers
SUBDIRS_misc = org jpda
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/bridge/AccessBridgeJava/Makefile Fri Jan 18 11:33:31 2013 -0800
@@ -0,0 +1,93 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+#
+# Makefile for building AccessBridge
+#
+BUILDDIR = ../..
+PRODUCT = java
+PACKAGE = com.sun.java.accessibility
+
+include $(BUILDDIR)/common/Defs.gmk
+JARFILE = $(EXTDIR)/access-bridge$(ABSUFFIX).jar
+
+ifeq ($(ARCH_DATA_MODEL), 64)
+ ABPLATFORM = 64bit
+ ABSUFFIX = -64
+else
+ifeq ($(ARCH_DATA_MODEL), 32)
+ifdef ABLEGACY
+ ABSUFFIX =
+ ABPLATFORM = legacy
+else
+ ABPLATFORM = 32bit
+ ABSUFFIX = -32
+endif
+endif
+endif
+
+#
+# Java files to compile.
+#
+FILES_java = com/sun/java/accessibility/AccessBridge.java
+
+#
+# Location for the newly built classfiles.
+#
+CLASSDESTDIR = $(TEMPDIR)/classes
+
+#
+# Rules
+#
+CLASSDESTDIR = $(TEMPDIR)/classes
+
+FILES_class = $(FILES_java:%.java=$(CLASSDESTDIR)/%.class)
+
+build: prebuild
+
+prebuild:
+ $(CP) $(CLOSED_PLATFORM_SRC)/classes/com/sun/java/accessibility/$(ABPLATFORM)/AccessBridge.java \
+ $(CLOSED_PLATFORM_SRC)/classes/com/sun/java/accessibility
+
+all : build $(JARFILE)
+
+#
+# JAR file
+#
+$(JARFILE): \
+ $(FILES_class)
+ $(BOOT_JAR_CMD) -cf $(JARFILE) \
+ -C $(CLASSDESTDIR) com \
+ $(BOOT_JAR_JFLAGS)
+ @$(java-vm-cleanup)
+
+#
+# Rules
+#
+include $(BUILDDIR)/common/Classes.gmk
+
+clean clobber::
+ $(RM) -r $(CLASSDESTDIR) \
+ $(EXTDIR)/$(JARFILE)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/bridge/JAWTAccessBridge/Files_cpp.gmk Fri Jan 18 11:33:31 2013 -0800
@@ -0,0 +1,29 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+#
+# Native files to compile.
+FILES_cpp = \
+ JAWTAccessBridge.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/bridge/JAWTAccessBridge/Makefile Fri Jan 18 11:33:31 2013 -0800
@@ -0,0 +1,69 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+#
+# Makefile for building JAWTAccessBridge
+#
+
+BUILDDIR = ../..
+LIBRARY = JAWTAccessBridge$(ABSUFFIX)
+include $(BUILDDIR)/common/Defs.gmk
+
+# Indicate we want the C++ compiler to do the linking.
+CPLUSPLUSLIBRARY=true
+
+ifeq ($(ARCH_DATA_MODEL), 64)
+ ABSUFFIX = -64
+ ACCESSBRIDGE_ARCH = ACCESSBRIDGE_ARCH_64
+ ABRIDGE_MACHINE=X64
+else
+ifeq ($(ARCH_DATA_MODEL), 32)
+ ABRIDGE_MACHINE=I386
+ifdef ABLEGACY
+ ABSUFFIX =
+ ACCESSBRIDGE_ARCH = ACCESSBRIDGE_ARCH_LEGACY
+else
+ ABSUFFIX = -32
+ ACCESSBRIDGE_ARCH = ACCESSBRIDGE_ARCH_32
+endif
+endif
+endif
+
+include FILES_cpp.gmk
+
+VERSIONINFO_RESOURCE = $(CLOSED_PLATFORM_SRC)/native/sun/bridge/AccessBridgeStatusWindow.rc
+
+OTHER_CPPFLAGS += -D$(ACCESSBRIDGE_ARCH) -I "$(INCLUDEDIR)" -I "$(PLATFORM_INCLUDE)"
+LDLIBS += kernel32.lib user32.lib gdi32.lib winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \
+ uuid.lib odbc32.lib odbccp32.lib /subsystem:windows /dll /incremental:no /machine:$(ABRIDGE_MACHINE) \
+ /def:$(CLOSED_PLATFORM_SRC)/native/sun/bridge/JAWTAccessBridge.DEF /libpath:"$(LIBDIR)"
+
+#
+# Rules
+#
+include $(BUILDDIR)/common/Library.gmk
+
+vpath %.cpp $(CLOSED_PLATFORM_SRC)/native/sun/bridge
+vpath %.RC $(CLOSED_PLATFORM_SRC)/native/sun/bridge
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/bridge/Jabswitch/Makefile Fri Jan 18 11:33:31 2013 -0800
@@ -0,0 +1,63 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+#
+# Makefile for building jabswitch.exe
+#
+
+BUILDDIR = ../..
+PROGRAM = jabswitch
+include $(BUILDDIR)/common/Defs.gmk
+
+# Indicate we want the C++ compiler to do the linking.
+CPLUSPLUSLIBRARY=true
+
+VERSIONINFO_RESOURCE = $(CLOSED_PLATFORM_SRC)/native/sun/bridge/AccessBridgeStatusWindow.rc
+VERSIONRES = $(TEMPDIR)/AccessBridgeStatusWindow.res
+
+JAB_EXE= $(TEMPDIR)/jabswitch.exe
+
+JAB_SRC = $(CLOSED_PLATFORM_SRC)/native/sun/bridge/jabswitch.cpp
+
+JAB_MANIFEST_INP = $(CLOSED_PLATFORM_SRC)/native/sun/bridge/jabswitch.manifest
+JAB_MANIFEST_OUT = $(TEMPDIR)/jabswitch.exe.intermediate.manifest
+
+RC_FLAGS += /fo "$(VERSIONRES)"
+OTHER_CPPFLAGS += /MD /Fo"$(TEMPDIR)/" /Fd"$(TEMPDIR)/" /analyze- /Od /Gd /nologo /D "WIN32" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /RTC1 /W3 /ZI /Zc:wchar_t /EHsc
+LDDFLAGS += Advapi32.lib Version.lib User32.lib
+
+all: buildexe copyfilejab
+
+buildexe :
+ $(CD) $(TEMPDIR)
+ $(RC) $(RC_FLAGS) $(VERSIONINFO_RESOURCE)
+ $(CC) $(CPPFLAGS) $(JAB_SRC) $(LDDFLAGS) $(VERSIONRES) -o $(JAB_EXE)
+ $(MT) /nologo /verbose /manifest $(JAB_MANIFEST_INP) /outputresource:$(JAB_EXE)
+
+copyfilejab :
+ $(CP) $(JAB_EXE) $(BINDIR)
+
+vpath %.cpp $(CLOSED_PLATFORM_SRC)/native/sun/bridge
+vpath %.rc $(CLOSED_PLATFORM_SRC)/native/sun/bridge
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/bridge/Jaccess/Makefile Fri Jan 18 11:33:31 2013 -0800
@@ -0,0 +1,85 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+#
+# Makefile for building jaccess
+#
+BUILDDIR = ../..
+PRODUCT = java
+PACKAGE = com.sun.java.accessibility.jaccess
+
+include $(BUILDDIR)/common/Defs.gmk
+JARFILE = $(EXTDIR)/jaccess.jar
+
+#
+# Java files to compile.
+#
+#AUTO_FILES_JAVA_DIRS = $(CLOSED_PLATFORM_SRC)/bridge
+FILES_java = \
+ com/sun/java/accessibility/util/AccessibilityEventMonitor.java \
+ com/sun/java/accessibility/util/AccessibilityListenerList.java \
+ com/sun/java/accessibility/util/AWTEventMonitor.java \
+ com/sun/java/accessibility/util/EventID.java \
+ com/sun/java/accessibility/util/EventQueueMonitor.java \
+ com/sun/java/accessibility/util/GUIInitializedListener.java \
+ com/sun/java/accessibility/util/GUIInitializedMulticaster.java \
+ com/sun/java/accessibility/util/SwingEventMonitor.java \
+ com/sun/java/accessibility/util/TopLevelWindowListener.java \
+ com/sun/java/accessibility/util/TopLevelWindowMulticaster.java \
+ com/sun/java/accessibility/util/Translator.java \
+ com/sun/java/accessibility/util/java/awt/ButtonTranslator.java \
+ com/sun/java/accessibility/util/java/awt/CheckboxTranslator.java \
+ com/sun/java/accessibility/util/java/awt/LabelTranslator.java \
+ com/sun/java/accessibility/util/java/awt/ListTranslator.java \
+ com/sun/java/accessibility/util/java/awt/TextComponentTranslator.java
+
+#
+# Rules
+#
+CLASSDESTDIR = $(TEMPDIR)/classes
+
+FILES_class = $(FILES_java:%.java=$(CLASSDESTDIR)/%.class)
+
+all : build $(JARFILE)
+
+#
+# JAR file
+#
+$(JARFILE): \
+ $(FILES_class)
+ $(BOOT_JAR_CMD) -cf $(JARFILE) \
+ -C $(CLASSDESTDIR) com \
+ $(BOOT_JAR_JFLAGS)
+ @$(java-vm-cleanup)
+
+
+#
+# Rules
+#
+include $(BUILDDIR)/common/Classes.gmk
+
+clean clobber::
+ $(RM) -r $(CLASSDESTDIR) \
+ $(EXTDIR)/$(JARFILE)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/bridge/JavaAccessBridge/Files_cpp.gmk Fri Jan 18 11:33:31 2013 -0800
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+#
+# Native files to compile.
+FILES_cpp = \
+ AccessBridgeATInstance.cpp \
+ AccessBridgeDebug.cpp \
+ AccessBridgeJavaEntryPoints.cpp \
+ AccessBridgeMessages.cpp \
+ JavaAccessBridge.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/bridge/JavaAccessBridge/Makefile Fri Jan 18 11:33:31 2013 -0800
@@ -0,0 +1,90 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+#
+# Makefile for building JavaAccessBridge.DLL
+#
+
+BUILDDIR = ../..
+LIBRARY = JavaAccessBridge$(ABSUFFIX)
+include $(BUILDDIR)/common/Defs.gmk
+
+# Indicate we want the C++ compiler to do the linking.
+CPLUSPLUSLIBRARY=true
+
+ifeq ($(ARCH_DATA_MODEL), 64)
+ ABSUFFIX = -64
+ ACCESSBRIDGE_ARCH = ACCESSBRIDGE_ARCH_64
+ ABRIDGE_MACHINE=X64
+else
+ifeq ($(ARCH_DATA_MODEL), 32)
+ ABRIDGE_MACHINE=I386
+ifdef ABLEGACY
+ ABSUFFIX =
+ ACCESSBRIDGE_ARCH = ACCESSBRIDGE_ARCH_LEGACY
+else
+ ABSUFFIX = -32
+ ACCESSBRIDGE_ARCH = ACCESSBRIDGE_ARCH_32
+endif
+endif
+endif
+
+include FILES_cpp.gmk
+
+PLATFORM_INCLUDE_BRIDGE = $(PLATFORM_INCLUDE)/bridge
+
+VERSIONINFO_RESOURCE = $(CLOSED_PLATFORM_SRC)/native/sun/bridge/AccessBridgeStatusWindow.rc
+
+OTHER_CPPFLAGS += -D$(ACCESSBRIDGE_ARCH) -I "$(INCLUDEDIR)" -I "$(PLATFORM_INCLUDE)"
+LDLIBS += kernel32.lib user32.lib gdi32.lib winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
+ odbc32.lib odbccp32.lib /subsystem:windows /dll /incremental:no /machine:$(ABRIDGE_MACHINE) \
+ /def:$(CLOSED_PLATFORM_SRC)/native/sun/bridge/JavaAccessBridge.DEF /libpath:"$(LIBDIR)"
+
+all : build postbuild
+
+postbuild :
+ $(MKDIR) -p $(PLATFORM_INCLUDE_BRIDGE)
+ $(CP) $(CLOSED_PLATFORM_SRC)/native/sun/bridge/accessibility.properties $(LIBDIR)
+ $(CP) $(CLOSED_PLATFORM_SRC)/native/sun/bridge/AccessBridgeCallbacks.h $(PLATFORM_INCLUDE_BRIDGE)
+ $(CP) $(CLOSED_PLATFORM_SRC)/native/sun/bridge/AccessBridgeCalls.h $(PLATFORM_INCLUDE_BRIDGE)
+ $(CP) $(CLOSED_PLATFORM_SRC)/native/sun/bridge/AccessBridgePackages.h $(PLATFORM_INCLUDE_BRIDGE)
+ $(CP) $(CLOSED_PLATFORM_SRC)/native/sun/bridge/AccessBridgeCalls.c $(PLATFORM_INCLUDE_BRIDGE)
+
+#
+# Rules
+#
+include $(BUILDDIR)/common/Library.gmk
+
+vpath %.cpp $(CLOSED_PLATFORM_SRC)/native/sun/bridge
+vpath %.DEF $(CLOSED_PLATFORM_SRC)/native/sun/bridge
+vpath %.rc $(CLOSED_PLATFORM_SRC)/native/sun/bridge
+vpath %.c $(CLOSED_PLATFORM_SRC)/native/sun/bridge
+vpath %.h $(CLOSED_PLATFORM_SRC)/native/sun/bridge
+
+#
+# Extra clean rule.
+#
+clean clobber::
+ $(RM) $(FILES_h)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/bridge/Makefile Fri Jan 18 11:33:31 2013 -0800
@@ -0,0 +1,65 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+#
+# Makefile for building Java Access Bridge
+#
+
+BUILDDIR = ..
+include $(BUILDDIR)/common/Defs.gmk
+
+#
+#
+ifndef OPENJDK
+ifeq ($(PLATFORM), windows)
+include $(BUILDDIR)/common/Subdirs.gmk
+
+#
+# build for 32 and 64 bit (new api)
+#
+SUBDIRS = Jaccess JavaAccessBridge WindowsAccessBridge JAWTAccessBridge AccessBridgeJava Jabswitch
+#
+# build for legacy
+#
+ifeq ($(ARCH_DATA_MODEL), 32)
+OTHERSUBDIRS_MAKEFLAGS += ABLEGACY=true
+OTHERSUBDIRS = JavaAccessBridge WindowsAccessBridge JAWTAccessBridge AccessBridgeJava
+endif
+
+ifeq ($(ARCH_DATA_MODEL), 32)
+all build clean clobber ::
+ $(SUBDIRS-loop)
+ $(OTHERSUBDIRS-loop)
+else
+all build clean clobber ::
+ $(SUBDIRS-loop)
+endif
+
+clean::
+ $(RM) -r $(CLASSBINDIR) $(CLASSBINDIR)
+
+endif # PLATFORM
+endif #OPENJDK
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/bridge/WindowsAccessBridge/Files_cpp.gmk Fri Jan 18 11:33:31 2013 -0800
@@ -0,0 +1,35 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+#
+# Native files to compile.
+FILES_cpp = \
+ AccessBridgeJavaVMInstance.cpp \
+ AccessBridgeMessageQueue.cpp \
+ AccessBridgeMessages.cpp \
+ AccessBridgeWindowsEntryPoints.cpp \
+ WinAccessBridge.cpp \
+ AccessBridgeDebug.cpp \
+ AccessBridgeEventHandler.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/bridge/WindowsAccessBridge/Makefile Fri Jan 18 11:33:31 2013 -0800
@@ -0,0 +1,71 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+#
+# Makefile for building WindowsAccessBridge.dll
+#
+
+BUILDDIR = ../..
+LIBRARY = WindowsAccessBridge$(ABSUFFIX)
+include $(BUILDDIR)/common/Defs.gmk
+
+# Indicate we want the C++ compiler to do the linking.
+CPLUSPLUSLIBRARY=true
+
+ifeq ($(ARCH_DATA_MODEL), 64)
+ ABSUFFIX = -64
+ ACCESSBRIDGE_ARCH = ACCESSBRIDGE_ARCH_64
+ ABRIDGE_MACHINE=X64
+else
+ifeq ($(ARCH_DATA_MODEL), 32)
+ ABRIDGE_MACHINE=I386
+ifdef ABLEGACY
+ ABSUFFIX =
+ ACCESSBRIDGE_ARCH = ACCESSBRIDGE_ARCH_LEGACY
+else
+ ABSUFFIX = -32
+ ACCESSBRIDGE_ARCH = ACCESSBRIDGE_ARCH_32
+endif
+endif
+endif
+
+include FILES_cpp.gmk
+
+VERSIONINFO_RESOURCE = $(CLOSED_PLATFORM_SRC)/native/sun/bridge/AccessBridgeStatusWindow.rc
+
+OTHER_CPPFLAGS += -MT -D$(ACCESSBRIDGE_ARCH) -I "$(INCLUDEDIR)" -I "$(PLATFORM_INCLUDE)"
+LDLIBS += kernel32.lib user32.lib gdi32.lib winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
+ ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /subsystem:windows /dll /incremental:no /machine:$(ABRIDGE_MACHINE) \
+ /def:$(CLOSED_PLATFORM_SRC)/native/sun/bridge/WinAccessBridge.DEF /libpath:"$(LIBDIR)"
+
+
+#
+# Rules
+#
+include $(BUILDDIR)/common/Library.gmk
+
+vpath %.cpp $(CLOSED_PLATFORM_SRC)/native/sun/bridge
+vpath %.DEF $(CLOSED_PLATFORM_SRC)/native/sun/bridge
+vpath %.rc $(CLOSED_PLATFORM_SRC)/native/sun/bridge
--- a/jdk/makefiles/CompileJavaClasses.gmk Fri Jan 18 18:34:46 2013 +0400
+++ b/jdk/makefiles/CompileJavaClasses.gmk Fri Jan 18 11:33:31 2013 -0800
@@ -60,6 +60,12 @@
# This gets built on unix platforms implicitly in the old build even though
# it's excluded in the closed build.
EXCLUDES+=sun/java2d/pisces
+
+ # AccessBridge is compiled separately below.
+ EXFILES += AccessBridge.java \
+ com/sun/java/accessibility/util/java/awt/ChoiceTranslator.java
+ # This seems to never be built
+ EXCLUDES += com/sun/java/accessibility/extensions
endif
endif
@@ -121,7 +127,6 @@
sun/nio/fs/LinuxFileStore.java \
sun/nio/fs/LinuxFileSystem.java \
sun/nio/fs/LinuxFileSystemProvider.java \
- sun/nio/fs/MagicFileTypeDetector.java \
sun/nio/fs/LinuxNativeDispatcher.java \
sun/nio/fs/LinuxUserDefinedFileAttributeView.java \
sun/nio/fs/LinuxWatchService.java
@@ -221,10 +226,24 @@
EXFILES+=-linux-arm.java \
-linux-ppc.java
+# TODO: Is this necessary?
ifeq ($(OPENJDK_TARGET_OS), windows)
EXFILES+=sun/nio/ch/AbstractPollSelectorImpl.java \
+ sun/nio/ch/DevPollArrayWrapper.java \
+ sun/nio/ch/DevPollSelectorImpl.java \
+ sun/nio/ch/DevPollSelectorProvider.java \
+ sun/nio/ch/InheritedChannel.java \
sun/nio/ch/PollSelectorProvider.java \
- sun/nio/ch/SimpleAsynchronousFileChannelImpl.java
+ sun/nio/ch/PollSelectorImpl.java \
+ sun/nio/ch/Port.java \
+ sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
+ sun/nio/ch/SolarisAsynchronousChannelProvider.java \
+ sun/nio/ch/SolarisEventPort.java \
+ sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java \
+ sun/nio/ch/UnixAsynchronousSocketChannelImpl.java
+ EXFILES+=sun/net/sdp/SdpProvider.java
+else
+ EXFILES+=sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java
endif
# Exclude nimbus files from rt.jar
@@ -241,10 +260,8 @@
# Now we have COPY_PATTERNS, COPY_FILES and COPY_EXTRA
ifndef OPENJDK
- CLOSED_SRC_DIRS:=$(JDK_TOPDIR)/src/closed/share/classes
- ifneq ($(OPENJDK_TARGET_OS_API_DIR),windows)
- CLOSED_SRC_DIRS += $(JDK_TOPDIR)/src/closed/$(OPENJDK_TARGET_OS_API_DIR)/classes
- endif
+ CLOSED_SRC_DIRS:=$(JDK_TOPDIR)/src/closed/share/classes \
+ $(JDK_TOPDIR)/src/closed/$(OPENJDK_TARGET_OS_API_DIR)/classes
endif
MACOSX_SRC_DIRS :=
@@ -325,14 +342,29 @@
##########################################################################################
+#
+# This is an empty jar (only contains manifest) and fits poorly into framework...
+# create simple rule instead
+#
+MANAGEMENT_AGENT_JAR_DEPS := $(JDK_TOPDIR)/src/share/classes/sun/management/manifest
+
+$(JDK_OUTPUTDIR)/lib/management-agent.jar : $(JDK_TOPDIR)/src/share/classes/sun/management/manifest
+ $(JAR) cfm $@ $(JDK_TOPDIR)/src/share/classes/sun/management/manifest
+
+JARS += $(JDK_OUTPUTDIR)/lib/management-agent.jar
+
+##########################################################################################
+
ifndef OPENJDK
- $(eval $(call SetupJavaCompilation,BUILD_ALTCLASSES,\
+$(eval $(call SetupJavaCompilation,BUILD_ALTCLASSES_JAR,\
SETUP:=GENERATE_JDKBYTECODE,\
SRC:=$(JDK_TOPDIR)/src/closed/share/altclasses, \
- BIN:=$(JDK_OUTPUTDIR)/altclasses_classes))
+ BIN:=$(JDK_OUTPUTDIR)/altclasses_classes,\
+ JAR:=$(JDK_OUTPUTDIR)/lib/alt-rt.jar))
- $(BUILD_ALTCLASSES): $(BUILD_JDK)
+$(BUILD_ALTCLASSES_JAR): $(BUILD_JDK)
+JARS += $(JDK_OUTPUTDIR)/lib/alt-rt.jar
endif
@@ -355,7 +387,7 @@
SERVER_DIR:=$(SJAVAC_SERVER_DIR),\
SERVER_JVM:=$(SJAVAC_SERVER_JAVA)))
-$(eval $(call SetupJavaCompilation,BUILD_JOBJC,\
+$(eval $(call SetupJavaCompilation,BUILD_JOBJC_JAR,\
SETUP:=GENERATE_15BYTECODE,\
DISABLE_SJAVAC:=true,\
SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \
@@ -367,9 +399,11 @@
JAR:=$(JDK_OUTPUTDIR)/lib/JObjC.jar, \
JARINDEX := true))
-$(BUILD_JOBJC) : $(BUILD_JDK)
+$(BUILD_JOBJC_JAR) : $(BUILD_JDK)
-$(eval $(call SetupJavaCompilation,BUILD_JOBJC_HEADERS,\
+JARS += $(JDK_OUTPUTDIR)/lib/JObjC.jar
+
+$(eval $(call SetupJavaCompilation,BUILD_JOBJC_HEADERS_JAR,\
SETUP:=GENERATE_JDKBYTECODE,\
SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \
$(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/java \
@@ -379,15 +413,53 @@
BIN:=$(JDK_OUTPUTDIR)/jobjc_classes_headers,\
HEADERS:=$(JDK_OUTPUTDIR)/gensrc_headers_jobjc))
-$(BUILD_JOBJC_HEADERS) : $(BUILD_JDK)
+$(BUILD_JOBJC_HEADERS_JAR) : $(BUILD_JDK)
+
+JARS += $(BUILD_JOBJC_HEADERS_JAR)
endif
##########################################################################################
+ifndef OPENJDK
+ifeq ($(OPENJDK_TARGET_OS), windows)
+ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
+ $(eval $(call SetupJavaCompilation,BUILD_ACCESSBRIDGE_32,\
+ SETUP:=GENERATE_JDKBYTECODE,\
+ JAVAC_FLAGS:=-cp $(JDK_OUTPUTDIR)/classes,\
+ SRC:=$(JDK_OUTPUTDIR)/gensrc_ab/32bit,\
+ BIN:=$(JDK_OUTPUTDIR)/classes_ab/32bit))
+
+ $(BUILD_ACCESSBRIDGE_32): $(BUILD_JDK)
+
+ $(eval $(call SetupJavaCompilation,BUILD_ACCESSBRIDGE_LEGACY,\
+ SETUP:=GENERATE_JDKBYTECODE,\
+ JAVAC_FLAGS:=-cp $(JDK_OUTPUTDIR)/classes,\
+ SRC:=$(JDK_OUTPUTDIR)/gensrc_ab/legacy,\
+ BIN:=$(JDK_OUTPUTDIR)/classes_ab/legacy))
+
+ $(BUILD_ACCESSBRIDGE_LEGACY): $(BUILD_JDK)
+
+else
+
+ $(eval $(call SetupJavaCompilation,BUILD_ACCESSBRIDGE_64,\
+ SETUP:=GENERATE_JDKBYTECODE,\
+ JAVAC_FLAGS:=-cp $(JDK_OUTPUTDIR)/classes,\
+ SRC:=$(JDK_OUTPUTDIR)/gensrc_ab/64bit,\
+ BIN:=$(JDK_OUTPUTDIR)/classes_ab/64bit))
+
+ $(BUILD_ACCESSBRIDGE_64): $(BUILD_JDK)
+
+endif
+endif
+endif
+
+##########################################################################################
+
# copy with -a to preserve timestamps so dependencies down the line aren't messed up
-all: $(BUILD_JDK) $(BUILD_ALTCLASSES) $(BUILD_JOBJC) $(BUILD_JOBJC_HEADERS) $(COPY_EXTRA) \
- $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \
- $(JDK_OUTPUTDIR)/gensrc_headers/_the.jdk.base.headers
+all: $(BUILD_JDK) $(JARS) $(COPY_EXTRA) $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \
+ $(JDK_OUTPUTDIR)/gensrc_headers/_the.jdk.base.headers \
+ $(BUILD_ACCESSBRIDGE_32) $(BUILD_ACCESSBRIDGE_64) \
+ $(BUILD_ACCESSBRIDGE_LEGACY)
.PHONY: all
--- a/jdk/makefiles/CompileLaunchers.gmk Fri Jan 18 18:34:46 2013 +0400
+++ b/jdk/makefiles/CompileLaunchers.gmk Fri Jan 18 11:33:31 2013 -0800
@@ -588,6 +588,34 @@
endif
##########################################################################################
+# jabswitch
+
+ifndef OPENJDK
+ifeq ($(OPENJDK_TARGET_OS),windows)
+
+ $(eval $(call SetupNativeCompilation,BUILD_JABSWITCH,\
+ SRC:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge,\
+ INCLUDE_FILES:=jabswitch.cpp,\
+ LANG:=C++,\
+ CFLAGS:=$(filter-out -Zc:wchar_t-,$(CFLAGS_JDKEXE)) -Zc:wchar_t \
+ -analyze- -Od -Gd -D_WINDOWS \
+ -D_UNICODE -DUNICODE -RTC1 -EHsc,\
+ LDFLAGS:=$(LDFLAGS_JDKEXE) \
+ Advapi32.lib Version.lib User32.lib,\
+ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/jabswitch,\
+ OUTPUT_DIR:=$(JDK_OUTPUTDIR)/bin,\
+ PROGRAM:=jabswitch,\
+ DEBUG_SYMBOLS:=true,\
+ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge/AccessBridgeStatusWindow.rc,\
+ RC_FLAGS:=$(RC_FLAGS),\
+ MANIFEST:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge/jabswitch.manifest))
+
+ BUILD_LAUNCHERS += $(BUILD_JABSWITCH)
+
+endif
+endif
+
+##########################################################################################
$(BUILD_LAUNCHERS) : $(JDK_TOPDIR)/makefiles/CompileLaunchers.gmk
--- a/jdk/makefiles/CompileNativeLibraries.gmk Fri Jan 18 18:34:46 2013 +0400
+++ b/jdk/makefiles/CompileNativeLibraries.gmk Fri Jan 18 11:33:31 2013 -0800
@@ -3294,6 +3294,97 @@
##########################################################################################
+ifndef OPENJDK
+ifeq ($(OPENJDK_TARGET_OS), windows)
+
+ ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
+
+ define SetupAccessBridge
+ # Parameter 1 Suffix
+ # Parameter 2 Machine
+ # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
+
+ $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\
+ LIBRARY=JAWTAccessBridge$1,\
+ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+ SRC:=$(ACCESSBRIDGE_SRCDIR),\
+ INCLUDE_FILES:=JAWTAccessBridge.cpp,\
+ LANG:=C++,\
+ OPTIMIZATION:=LOW,\
+ CFLAGS:=$(CFLAGS_JDKLIB) \
+ -DACCESSBRIDGE_ARCH_$3,\
+ LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
+ winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
+ ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
+ -subsystem:windows -machine:$2 \
+ -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\
+ VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
+ RC_FLAGS:=$(RC_FLAGS),\
+ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\
+ DEBUG_SYMBOLS:=true)
+
+ $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
+
+ $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\
+ LIBRARY=JavaAccessBridge$1,\
+ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+ SRC:=$(ACCESSBRIDGE_SRCDIR),\
+ INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
+ AccessBridgeJavaEntryPoints.cpp \
+ AccessBridgeMessages.cpp JavaAccessBridge.cpp,\
+ LANG:=C++,\
+ OPTIMIZATION:=LOW,\
+ CFLAGS:=$(CFLAGS_JDKLIB) \
+ -DACCESSBRIDGE_ARCH_$3,\
+ LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
+ winspool.lib comdlg32.lib advapi32.lib shell32.lib \
+ ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
+ -subsystem:windows -machine:$2 \
+ -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\
+ VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
+ RC_FLAGS:=$(RC_FLAGS),\
+ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\
+ DEBUG_SYMBOLS:=true)
+
+ $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\
+ LIBRARY=WindowsAccessBridge$1,\
+ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+ SRC:=$(ACCESSBRIDGE_SRCDIR),\
+ INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
+ AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
+ WinAccessBridge.cpp AccessBridgeDebug.cpp \
+ AccessBridgeEventHandler.cpp,\
+ LANG:=C++,\
+ OPTIMIZATION:=LOW,\
+ CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \
+ -DACCESSBRIDGE_ARCH_$3,\
+ LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
+ winspool.lib comdlg32.lib advapi32.lib shell32.lib \
+ ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
+ -subsystem:windows -machine:$2 \
+ -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\
+ VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
+ RC_FLAGS:=$(RC_FLAGS),\
+ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\
+ DEBUG_SYMBOLS:=true)
+
+ BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
+ $$(BUILD_WINDOWSACCESSBRIDGE$1)
+
+ endef
+
+ ifeq ($(OPENJDK_TARGET_CPU_BITS),32)
+ $(eval $(call SetupAccessBridge,-32,I386,32))
+ $(eval $(call SetupAccessBridge,,I386,LEGACY))
+ else
+ $(eval $(call SetupAccessBridge,-64,X64,64))
+ endif
+endif
+endif
+
+
+##########################################################################################
+
all: $(COPY_FILES) $(BUILD_LIBRARIES)
.PHONY: all
--- a/jdk/makefiles/CopyFiles.gmk Fri Jan 18 18:34:46 2013 +0400
+++ b/jdk/makefiles/CopyFiles.gmk Fri Jan 18 11:33:31 2013 -0800
@@ -42,7 +42,7 @@
$(INCLUDEDIR)/jvmticmlr.h \
$(INCLUDEDIR)/classfile_constants.h \
$(INCLUDEDIR)/jawt.h \
- $(OPENJDK_TARGET_OS_INCLUDE)/jni_md.h \
+ $(OPENJDK_TARGET_OS_INCLUDE)/jni_md.h \
$(OPENJDK_TARGET_OS_INCLUDE)/jawt_md.h
$(INCLUDEDIR)/%.h: $(JDK_TOPDIR)/src/share/javavm/export/%.h
@@ -59,6 +59,27 @@
##########################################################################################
+ifndef OPENJDK
+ifeq ($(OPENJDK_TARGET_OS), windows)
+ COPY_FILES += $(OPENJDK_TARGET_OS_INCLUDE)/bridge/AccessBridgeCallbacks.h \
+ $(OPENJDK_TARGET_OS_INCLUDE)/bridge/AccessBridgeCalls.h \
+ $(OPENJDK_TARGET_OS_INCLUDE)/bridge/AccessBridgePackages.h \
+ $(OPENJDK_TARGET_OS_INCLUDE)/bridge/AccessBridgeCalls.c \
+ $(JDK_OUTPUTDIR)/lib/accessibility.properties
+
+ $(OPENJDK_TARGET_OS_INCLUDE)/bridge/%: \
+ $(JDK_TOPDIR)/src/closed/windows/native/sun/bridge/%
+ $(install-file)
+
+ $(JDK_OUTPUTDIR)/lib/accessibility.properties: \
+ $(JDK_TOPDIR)/src/closed/windows/native/sun/bridge/accessibility.properties
+ $(install-file)
+
+endif
+endif
+
+##########################################################################################
+
LIBDIR = $(JDK_OUTPUTDIR)/lib
SERVICETAG_LIBDIR = $(LIBDIR)/servicetag
--- a/jdk/makefiles/CreateJars.gmk Fri Jan 18 18:34:46 2013 +0400
+++ b/jdk/makefiles/CreateJars.gmk Fri Jan 18 11:33:31 2013 -0800
@@ -126,6 +126,7 @@
# Exclude list for rt.jar and resources.jar
RT_JAR_EXCLUDES := \
+ com/sun/java/accessibility \
com/sun/javadoc \
com/sun/jdi \
com/sun/jarsigner \
@@ -918,6 +919,47 @@
##########################################################################################
+ifndef OPENJDK
+ifeq ($(OPENJDK_TARGET_OS), windows)
+
+ $(eval $(call SetupArchive,BUILD_JACCESS_JAR,,\
+ SRCS:=$(JDK_OUTPUTDIR)/classes,\
+ INCLUDES:=com/sun/java/accessibility/util,\
+ JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/jaccess.jar,\
+ SKIP_METAINF:=true))
+
+ JARS += $(IMAGES_OUTPUTDIR)/lib/ext/jaccess.jar
+
+ ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
+ $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_32_JAR,,\
+ SRCS:=$(JDK_OUTPUTDIR)/classes_ab/32bit $(JDK_OUTPUTDIR)/classes,\
+ INCLUDES:=com/sun/java/accessibility,\
+ JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-32.jar,\
+ SKIP_METAINF:=true))
+
+ $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_LEGACY_JAR,,\
+ SRCS:=$(JDK_OUTPUTDIR)/classes_ab/legacy $(JDK_OUTPUTDIR)/classes,\
+ INCLUDES:=com/sun/java/accessibility,\
+ JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge.jar,\
+ SKIP_METAINF:=true))
+
+ JARS += $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-32.jar \
+ $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge.jar
+ else
+ $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_64_JAR,,\
+ SRCS:=$(JDK_OUTPUTDIR)/classes_ab/64bit $(JDK_OUTPUTDIR)/classes,\
+ INCLUDES:=com/sun/java/accessibility,\
+ EXCLUDES:=com/sun/java/accessibility/util/java,\
+ JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-64.jar,\
+ SKIP_METAINF:=true))
+
+ JARS += $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-64.jar
+ endif
+endif
+endif
+
+##########################################################################################
+
#
# This is an empty jar (only contains manifest) and fits poorly into framework...
# create simple rule instead
--- a/jdk/makefiles/GensrcMisc.gmk Fri Jan 18 18:34:46 2013 +0400
+++ b/jdk/makefiles/GensrcMisc.gmk Fri Jan 18 11:33:31 2013 -0800
@@ -190,3 +190,36 @@
endif
+
+##########################################################################################
+
+ifndef OPENJDK
+ifeq ($(OPENJDK_TARGET_OS), windows)
+
+ AB_GENSRC_DIR := $(JDK_OUTPUTDIR)/gensrc_ab
+ AB_SRC_DIR := $(JDK_TOPDIR)/src/closed/windows/classes/com/sun/java/accessibility
+
+ ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
+ $(AB_GENSRC_DIR)/32bit/com/sun/java/accessibility/AccessBridge.java: \
+ $(AB_SRC_DIR)/32bit/AccessBridge.java
+ $(install-file)
+
+ $(AB_GENSRC_DIR)/legacy/com/sun/java/accessibility/AccessBridge.java: \
+ $(AB_SRC_DIR)/legacy/AccessBridge.java
+ $(install-file)
+
+ GENSRC_MISC += $(AB_GENSRC_DIR)/32bit/com/sun/java/accessibility/AccessBridge.java \
+ $(AB_GENSRC_DIR)/legacy/com/sun/java/accessibility/AccessBridge.java
+
+ else
+ $(AB_GENSRC_DIR)/64bit/com/sun/java/accessibility/AccessBridge.java: \
+ $(AB_SRC_DIR)/64bit/AccessBridge.java
+ $(install-file)
+
+ GENSRC_MISC += $(AB_GENSRC_DIR)/64bit/com/sun/java/accessibility/AccessBridge.java
+
+ endif
+endif
+endif
+
+##########################################################################################
\ No newline at end of file