Web-4-All
Build Instructions
Table of Contents
- Prerequisites
- Building
- Location of Binaries
Prerequisites
Most of the Web-4-All source code is Java. The list below describes the third-party components and Java tools you'll need to build Web-4-All. These are recommendations based on our setup at the Adaptive Technology Resource Centre (ATRC); since Web-4-All is built on open source, standards-based tools, there are numerous other possibilities and setups.
- J2SE 1.4.2 or later.
- Note: Java 1.5 is needed for running the French version on Windows due to a locale bug in javaw.exe (bug #4891531).
- Apache Ant 1.6 or later (Java make-like tool)
- Apache XML libraries
-- Xalan 2.4.1.
Note that the following jars are shipped with the Web-4-All source code download. - xalan.jar
- xercesImpl.jar
- xml-apis.jar
- xmlParserAPIs.jar
- regexp.jar
- SysTray4Java 2.4.1 Note that the jar is shipped with the Web-4-All source code distribution. The runtime Windows dll is not.
- systray4j.jar
- Open Card Framework (OCF 1.2) for
- base-core.jar
- base-opt.jar
- reference-services.jar
- reference-terminals-windows.jar
Building
The files in the source code download are organized according to the directory structure used at the ATRC to build the core. Roughly this is as follows:
- src
- java
- build.xml - ant build script for the core.
- lib - contains all the third party jars.
- ca - root of ca.utoronto.atrc.web4all
- 3rd_party - root for the java plug-in source code.
- build.xml - ant build script for the plug-ins.
- ca - root of ca.utoronto.atrc.weball.thirdparty
- C
- Winexecs
- StartWeb4All
- FontColourSetup
- KeyboardSetup
- MouseKeysSetup
- RegistryConsole
- MOSK_Controller
- W4AWinSpeak
Building the Java Core
There is an ant build script that can be used to build the core of Web-4-All. It is named "build.xml", and is found in the ".../src/java" directory.
There are a number of targets in this ant script that are briefly described immediately following. The default target is "run".
- run
- compiles all the java source.
- creates the jar "AtrcWeb4All.jar" in the "dist" subdirectory.
- launches Web-4-All
- Note: no plug-ins are installed in this run.
- compile
- compiles all the java source code.
- the compiled code is placed in the "build" subdirectory.
- dist
- compiles all the java source code.
- creates the jar "AtrcWeb4All.jar" in the "dist" subdirectory.
- clean
- deletes the "dist" subdirectory.
- deletes the "build" subdirectory (deletes all compiled java classes).
- prepare
- deletes the "dist" subdirectory.
- deletes the "build" subdirectory.
- creates empty "dist" and "build" subdirectories.
- runPlugins
- compiles all the java source.
- creates the jar "AtrcWeb4All.jar" in the "dist" subdirectory.
- launches Web-4-All.
- installs any plug-ins in the "3rd_party" subdirectory
Building Plug-ins
An ant build script is provided to build the plug-ins that the ATRC wrote for the binary distribution, as well as some protoype plug-ins recently implemented. The script is named "build.xml", and is found in the ".../src/java/3rd_party" directory.
NOTE: One cannot compile the plug-ins without access to the some of the class definitions in the core code. This plug-ins build script is set to access the AtrcWeb4All.jar that is output when building the core. Compiling will fail if this jar has not been built.
The targets defined in the plug-ins build script are briefly described below. The default target is "dist".
- dist
- compiles the java source code for the distributed plug-ins.
- creates the jars named HPR3.jar, EReader.jar, Kensington.jar, Opera.jar, Vdk.jar, WinKeys.jar, and MouseKeys.jar, placing them into the "dist" subdirectory.
- compile
- compiles all the java source code.
- the compiled code is placed in the "build" subdirectory.
- prepare
- creates the "build" and "dist" subdirectories.
- clean
- deletes the "dist" subdirectory.
- deletes the "build" subdirectory (deletes all compiled java classes).
- clean.all
- deletes all the jars.
- runPlugins
- creates a distribution of the jars.
- runs Web-4-All installation all of the plug-ins.
- Note: assumes that Web-4-All core code is already built. This will fail is that is not the case.
- prototypes
- compiles the java code for the experimental prototype plug-ins.
- creates jars named Dragon.jar, JAWS.jar, MOSK.jar, and ZoomText.jar.
Building WinExecs
Inside the "../src/C/" directory are a number of Windows based command line utilities and a dll. The following section describes how to build these parts of Web-4-All.
StartWeb4All
The source to the executable that launches Web-4-All,
Web-4-All.exe, is located in the ".../src/C/WinExecs/StartWeb4All"
directory of the source tree. The file is called "start_web4all.c". It
is written in the C programming language and uses the MinGW --
Minimalist GNU for Windows -- library. In order to compile
Web-4-All.exe complete the following steps on your Windows system:
- Download and install MinGW (http://www.mingw.org).
- Add MinGW's "bin" directory to the system's command path.
- Run the "makeWeb4AllExec.bat" BAT file located in the ".../src/C/WinExecs/StartWeb4All" directory.
FontColourSetup
FontColourSetup was created using Microsoft Visual C++. The FontColourSetup folder includes the workspace and project files: "FontColourSetup.dsw" and "FontColourSetup.dsp" respectively.
To build the utility, open the workspace file ("FontColourSetup.dsw") in Visual C++ and choose 'build' from the Build menu.
KeyboardSetup
KeyboardSetup was created using Microsoft Visual C++. The KeyboardSetup folder includes the workspace and project files: "KeyboardSetup.dsw" and "KeyboardSetup.dsp" respectively.
To build the utility, open the workspace file ("KeyboardSetup.dsw") in Visual C++ and choose 'build' from the Build menu.
MouseKeysSetup
MouseKeysSetup was created using Microsoft Visual C++. The MouseKeysSetup folder includes the workspace and project files: "MouseKeysSetup.dsw" and "MouseKeysSetup.dsp" respectively.
To build the utility, open the workspace file ("MouseKeysSetup.dsw") in Visual C++ and choose 'build' from the Build menu.
RegistryConsole
The RegistryConsole was created using Microsoft Visual C++. The RegistryConsole folder includes the workspace and project files: "RegistryConsole.dsw" and "RegistryConsole.dsp" respectively.
To build the utility, open the workspace file ("RegistryConsole.dsw") in Visual C++ and choose 'build' from the Build menu.
MOSK_Controller
The MOSK_Controller was created using Microsoft Visual C++. The MOSK_Controller folder includes the workspace and project files: "MOSK_Controller.dsw" and "MOSK_Controller.dsp" respectively.
To build the utility, open the workspace file ("MOSK_Controller.dsw") in Visual C++ and choose 'build' from the Build menu.
W4AWinSpeak
This is a Windows native speech DLL that connects parts of Web-4-All to the voice sysnthesizer. This project was created using Microsoft Visual C++ v6.0.
- Locate the file "W4AWinSpeak.dsp" and launch it
- Press F7 (or select menu "Tools" and "Build NativeSpeech.dll").
- Confirm NativeSpeech.dll exists in a relative directory "../../../java/NativeSpeech.dll".
Notes:
- you may need to change project settings to match your build platform.
- Step 1 requires a compatible IDE (e.g. MS Visual C++ v6.0).
Location of Binaries
The above instructions describe how to build the various parts of Web-4-All, but the various build systems do not place their results in the locations they need to be to run Web-4-All. The following describes the location of each part of the application, with links back to the build instructions for that part.
The ATRC deploys Web-4-All in a directory structure whose root is "Atrc":
- Atrc
- NativeSpeech.dll
- lib
- 3rd_party
- HPR3.jar
- EReader.jar
- Kensington.jar
- Opera.jar
- Vdk.jar,
- WinKeys.jar
- MouseKeys.jar
- FontSetup
- MouseKeys
- RegistryConsole
- WinKeys