1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
IcedTea-Web
===========
The IcedTea-Web project provides a Free Software web browser plugin
for running applets written in the Java programming language and an
implementation of Java Web Start, originally based on the NetX
project.
Homepage (wiki):
http://icedtea.classpath.org/
Bugs (bugzilla):
http://icedtea.classpath.org/bugzilla
Mailing List:
distro-pkg-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev
FAQ:
http://icedtea.classpath.org/wiki/FrequentlyAskedQuestions
Anonymous Mercurial checkout:
hg clone http://icedtea.classpath.org/hg/icedtea-web
NetX
====
NetX provides a drop-in replacement for javaws (Java Web Start). Since
upstream NetX is dormant, we will be hosting and modifying the sources
in the IcedTea-Web repository, particularly in the netx/net/sourceforge/jnlp
directory.
IcedTea's NetX currently supports verification of signed jars, trusted
certificate storing, system certificate store checking, and provides
the services specified by the jnlp API.
The Browser Plugin
==================
IcedTea-Web contains a Free Software browser plugin based on NPRuntime
called NPPlugin. By default, this will be built, and it can be turned
off using the -disable-plugin option.
Building IcedTea-Web
====================
IcedTea-Web is built using the standard:
$ ./autogen.sh (if building from Mercurial rather than a tarball)
$ ./configure
$ gmake
$ gmake install
incantation. The build requirements are as follows:
* A bootstrap JDK. At present, only IcedTea6 is supported.
* A C compiler (for the launchers).
* libX11
* zlib-devel
Additionally, the plugin requires:
* A C++ compiler
* firefox-devel
* xulrunner-devel
The plugin can be disabled by passing --disable-plugin.
See ./configure --help if you need to override the defaults.
The following locations are checked for a JDK:
* /usr/lib/jvm/java-openjdk
* /usr/lib/jvm/icedtea6
* /usr/lib/jvm/java-6-openjdk
* /usr/lib/jvm/openjdk
* /usr/lib/jvm/java-icedtea
* /usr/lib/jvm/java-gcj
* /usr/lib/jvm/gcj-jdk
* /usr/lib/jvm/cacao
in the order given above.
At present, some of these options fail due to sun.* classes required
by IcedTea-Web. Upstream OpenJDK will only be able to compile
IcedTea-Web if the patch applet_hole.patch from IcedTea has been
applied.
Most targets in IcedTea-Web create stamp files in the stamps directory
to determine what and when dependencies were compiled. Each target
has a corresponding clean-x target which removes the output and the
stamp file, allowing it to be rebuilt.
Build Modification Options
==========================
The build process may be modified by passing the following options
to configure:
* --disable-docs: Don't build the Javadoc documentation.
* --with-gcj: Compile ecj to native code with gcj prior to building.
* --with-ecj: Specify the location of a 'ecj' binary. By default, the path
is checked for ecj, ecj-3.1, ecj-3.2 and ecj-3.3.
* --with-javac: Specify the location of a 'javac' binary. By default, the path
is checked for javac.
* --with-jar: Specify the location of a 'jar' binary. By default, the path
is checked for gjar and jar.
* --with-ecj-jar: Specify the location of an ecj JAR file. By default, the
following paths are checked:
- /usr/share/java/eclipse-ecj.jar
- /usr/share/java/ecj.jar
- /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar
Other options may be supplied which enable or disable new features.
These are documented fully in the relevant section below.
* --disable-plugin: Don't build the browser plugin.
Testing
=======
A test suite is supplied for the browser plugin. It can be built
using 'make plugin-tests' and run by loading the HTML page specified
into a browser with the plugin installed.
For debugging, the environment variable ICEDTEAPLUGIN_DEBUG should be
set to 'true'. This will produce output on the console from the C++
side, and output from the Java side in $HOME/.icedteaplugin/java.stdout
and $HOME/.icedteaplugin/java.stderr. It also starts the debug server
on port 8787.
|