source: trunk/icedtea-web/README@ 433

Last change on this file since 433 was 348, checked in by dmik, 13 years ago

vendor: Add icedtea-web v1.1.2 to current.

File size: 5.6 KB
Line 
1IcedTea-Web
2===========
3
4The IcedTea-Web project provides a Free Software web browser plugin
5for running applets written in the Java programming language and an
6implementation of Java Web Start, originally based on the NetX
7project.
8
9Homepage (wiki):
10 http://icedtea.classpath.org/
11
12Bugs (bugzilla):
13 http://icedtea.classpath.org/bugzilla
14
15Mailing List:
16 distro-pkg-dev@openjdk.java.net
17 http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev
18
19FAQ:
20 http://icedtea.classpath.org/wiki/FrequentlyAskedQuestions
21
22Anonymous Mercurial checkout:
23 hg clone http://icedtea.classpath.org/hg/icedtea-web
24
25NetX
26====
27
28NetX provides a drop-in replacement for javaws (Java Web Start). Since
29upstream NetX is dormant, we will be hosting and modifying the sources
30in the IcedTea-Web repository, particularly in the netx/net/sourceforge/jnlp
31directory.
32
33IcedTea's NetX currently supports verification of signed jars, trusted
34certificate storing, system certificate store checking, and provides
35the services specified by the jnlp API.
36
37The Browser Plugin
38==================
39
40IcedTea-Web contains a Free Software browser plugin based on NPRuntime
41called NPPlugin. By default, this will be built, and it can be turned
42off using the -disable-plugin option.
43
44Building IcedTea-Web
45====================
46
47IcedTea-Web is built using the standard:
48
49$ ./autogen.sh (if building from Mercurial rather than a tarball)
50$ ./configure
51$ gmake
52$ gmake install
53
54incantation. The build requirements are as follows:
55
56* A bootstrap JDK. At present, only IcedTea6 is supported.
57* A C compiler (for the launchers).
58* libX11
59* zlib-devel
60
61Additionally, the plugin requires:
62
63* A C++ compiler
64* firefox-devel
65* xulrunner-devel
66
67The plugin can be disabled by passing --disable-plugin.
68
69The following optional dependencies enable additional features
70
71* rhino (enables support for using proxy auto config files)
72* junit4 (enables unit tests)
73
74See ./configure --help if you need to override the defaults.
75
76The following locations are checked for a JDK:
77 * /usr/lib/jvm/java-openjdk
78 * /usr/lib/jvm/icedtea6
79 * /usr/lib/jvm/java-6-openjdk
80 * /usr/lib/jvm/openjdk
81 * /usr/lib/jvm/java-icedtea
82 * /usr/lib/jvm/java-gcj
83 * /usr/lib/jvm/gcj-jdk
84 * /usr/lib/jvm/cacao
85in the order given above.
86
87At present, some of these options fail due to sun.* classes required
88by IcedTea-Web. Upstream OpenJDK will only be able to compile
89IcedTea-Web if the patch applet_hole.patch from IcedTea has been
90applied.
91
92Most targets in IcedTea-Web create stamp files in the stamps directory
93to determine what and when dependencies were compiled. Each target
94has a corresponding clean-x target which removes the output and the
95stamp file, allowing it to be rebuilt.
96
97Build Modification Options
98==========================
99
100The build process may be modified by passing the following options
101to configure:
102
103* --disable-docs: Don't build the Javadoc documentation.
104* --with-gcj: Compile ecj to native code with gcj prior to building.
105* --with-ecj: Specify the location of a 'ecj' binary. By default, the path
106 is checked for ecj, ecj-3.1, ecj-3.2 and ecj-3.3.
107* --with-javac: Specify the location of a 'javac' binary. By default, the path
108 is checked for javac.
109* --with-jar: Specify the location of a 'jar' binary. By default, the path
110 is checked for gjar and jar.
111* --with-ecj-jar: Specify the location of an ecj JAR file. By default, the
112 following paths are checked:
113 - /usr/share/java/eclipse-ecj.jar
114 - /usr/share/java/ecj.jar
115 - /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar
116
117Other options may be supplied which enable or disable new features.
118These are documented fully in the relevant section below.
119
120* --disable-plugin: Don't build the browser plugin.
121* --with-rhino: Specify the location of rhino jar
122* --with-junit: Specify the location of the junit 4 jar
123
124Rhino Support
125=============
126
127IcedTea-Web needs rhino for using Proxy Auto Config (PAC) files. If rhino is
128not found, or explicitly disabled, then support for PAC files will be disabled.
129
130By default, the following paths are checked for rhino:
131 - /usr/share/java/js.jar
132 - /usr/share/rhino-1.6/lib/js.jar
133 - /usr/share/java/rhino.jar
134
135If a rhino jar is not found, rhino support is disabled. The --with-rhino build
136option can be used to specify the location of the jar file. To explicitly
137disable rhino use --with-rhino=no.
138
139JUnit Support
140=============
141
142JUnit is needed for running some tests. It has no run-time impact.
143
144By default, the following paths are checked:
145 - /usr/share/java/junit4.jar
146
147If JUnit is not found, JUnit support is disabled. The --with-junit option can
148be used to specify the location of the JUnit 4 jar. To disable JUnit support
149explicitly, use --with-junit=no.
150
151A custom JUnit ouput formatter is supplied. This makes the output of JUnit
152tests match the output of other tests. A simple 'Passed:' or 'FAILED:' is
153printed out, followed by <TestClass>.<testMethod>. This is also the format used
154by JTreg.
155
156Testing
157=======
158
159A set of automated tests is supplied for IcedTea-Web. They can be run by using
160'make check'. Currently, this only tests a few parts of IcedTea-Web.
161
162The number and type of tests run by 'make check' may be affected by the build
163options, including JUnit support and rhino support.
164
165A test suite is supplied for the browser plugin. It can be built
166using 'make plugin-tests' and run by loading the HTML page specified
167into a browser with the plugin installed.
168
169For debugging, the environment variable ICEDTEAPLUGIN_DEBUG should be
170set to 'true'. This will produce output on the console from the C++
171side, and output from the Java side in $HOME/.icedteaplugin/java.stdout
172and $HOME/.icedteaplugin/java.stderr. It also starts the debug server
173on port 8787.
Note: See TracBrowser for help on using the repository browser.