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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
|
Installing GNU Classpath - Last updated: June 19, 2006
First, this is a development release only! Unless you are interested in
active development and debugging, or just like running random alpha code,
this release is probably not for you. Please see the README file for a
list of VMs that work with GNU Classpath.
Note that if you are building from a non-released (CVS) version of GNU
classpath, installation instructions are found in the doc/hacking.texi
file. Or at http://www.gnu.org/software/classpath/docs/hacking.html
------------------------------------------------------------------
Suggested Software
------------------------------------------------------------------
GNU make ("gmake") is required for building Classpath.
For any build environment involving native libraries, these
new versions of autoconf, automake, and libtool are required
if changes are made that require rebuilding configure, Makefile.in,
aclocal.m4, or config.h.in.
- GNU autoconf 2.59+
- GNU automake 1.9+
- GNU libtool 1.5+
When working from CVS you can run the above tools by executing
./autogen.sh in the source directory.
For building the Java bytecode (.class files), one of these
compilers are required. You can select which compiler using
--with-jikes, --with-gcj, --with-ecj or --with-kjc as argument to
configure; the present default is gcj.
- GCJ 4.0+ (part of the GNU GCC package).
- IBM jikes 1.19+.
- Eclipse Compiler for Java 3.1+
- The kjc compiler is supported with configure but we have
been unable to successfully compile with it.
IMPORTANT: Versions of GCJ which are earlier than 4.0 contain
bugs which make it impossible to compile the class library and
are *not* supported any more. If you are stuck on a system where
GCC 3.x is the system compiler we recommend using Jikes.
For building the gtk+ AWT peer JNI native libraries, the following
are required unless --disable-gtk-peer is used as an argument to
configure.
- GTK+ 2.8.x (or higher)
- gdk-pixbuf
- XTest Extension (libXtst) for GdkRobot support in java.awt.
- There is a bug in earlier versions of at-spi, atk, and gail, which are
used for GNOME accessibility. Prior to version 1.18.0 of these packages,
gtk graphical applications should be run without accessibility (clear the
GTK_MODULES environment variable).
For building gcjwebplugin you'll need the Mozilla plugin
support headers and libraries.
The GConf-based backend for java.util.prefs needs the following
library headers:
- gconf 2.11.2 (or higher)
For building the Qt AWT peer JNI native libraries you have to
specify --enable-qt-peer and need the following library:
- Qt 4.0.1
For building the X AWT peers see information below
(Building and running with the X AWT peers). You will need
the Escher 0.2.3 library:
http://escher.sourceforge.net
Please note that at the moment most operating systems do not
ship Qt4 by default. We recommend using GNU Classpath' Qt4
support only for its developers and bug reporters. See
http://developer.classpath.org/mediation/ClasspathShowcase
for details on how to get it to work.
For building the xmlj JAXP implementation (disabled by default, use
configure --enable-xmlj) you need the following installed:
- The XML C library for Gnome (libxml2)
http://www.xmlsoft.org/
Minimum version of libxml2 required: 2.6.8
- The XSLT C library for Gnome (libxslt)
http://www.xmlsoft.org/XSLT/
Minimum version of libxslt required: 1.1.11
For building the documentation you will need
- texinfo 4.2 or higher.
For building the ALSA midi provider code you will need
ALSA. http://www.alsa-project.org.
For building the DSSI midi synthesizer provider code you will
need DSSI from http://dssi.sourceforge.net. This, in turn,
introduces many dependencies, including:
- liblo: the Lightweight OSC implementation
http://plugin.org.uk/liblo/
- LADSPA: Linux Audio Developer's Simple Plugin API
http://www.ladspa.org
- the JACK Audio Connection Kit: A low latency audio server
http://jackit.sourceforge.net
- libsndfile: an audio file I/O library
http://www.mega-nerd.com/libsndfile/
- fluidsynth: a real-time SoundFont 2 based soft-synth
http://www.fluidsynth.org/
For enabling the com.sun.tools.javac support in tools.zip you
will a need jar file containing the Eclipse Java Compiler.
Otherwise com.sun.tools.javac will not be included in tools.zip.
This package was designed to use the GNU standard for configuration
and makefiles. To build and install do the following:
1). Run the "configure" script to configure the package. There are
various options you might want to pass to configure to control how the
package is built. Consider the following options, "configure --help"
gives a complete list.
--enable-java compile Java source default=yes
--enable-jni compile JNI source default=yes
--enable-gtk-peer compile GTK native peers default=yes
--enable-qt-peer compile Qt4 native peers default=no
--enable-default-toolkit
fully qualified class name of default AWT toolkit
default=no
--enable-xmlj compile native libxml/xslt library default=no
--enable-load-library enable to use JNI native methods default=yes
--enable-local-sockets enable build of local Unix sockets
--with-jikes to compile the class library using jikes
the default is to use gcj
--with-glibj define what to install (zip|flat|both|none)
default=zip
--with-escher=/path/to/escher
enable build of the X/Escher peers, with
the escher library at /path/to/escher, either
in the form of a JAR file, or a directory
containing the .class files of Escher.
--enable-Werror whether to compile C code with -Werror which turns
any compiler warning into a compilation failure
default=no
--with-gjdoc generate documentation using gjdoc default=no
--with-jay Regenerate the parsers with jay must be given the
path to the jay executable
--with-glibj-zip=ABS.PATH
use prebuilt glibj.zip class library
--with-ecj-jar=ABS.PATH specify jar file containing the Eclipse Java
Compiler
For more flags run configure --help.
2). Type "gmake" to build the package. There is no longer a
dependency problem and we aim to keep it that way.
3). Type "gmake install" to install everything. This may require
being the superuser. The default install path is /usr/local/classpath
you may change it by giving configure the --prefix=<path> option.
Report bugs to classpath@gnu.org or much better via Savannah at this
URL: http://savannah.gnu.org/support/?func=addsupport&group=classpath
Happy Hacking!
Once installed, GNU Classpath is ready to be used by any VM that supports
using the official version of GNU Classpath. Simply ensure that
/usr/local/classpath/share/classpath is in your $CLASSPATH environment
variable. You'll also have to set your LD_LIBRARY_PATH
variable (or similar system configuration) to include the Classpath
native libraries in /usr/local/classpath/lib/classpath.
*NOTE* All example paths assume the default prefix is used with configure.
If you don't know what this means then the examples are correct.
LD_LIBRARY_PATH=/usr/local/classpath/lib/classpath
CLASSPATH=/usr/local/classpath/share/classpath/glibj.zip:.
export LD_LIBRARY_PATH CLASSPATH
More information about the VMs that use GNU Classpath can be found in the
README file.
------------------------------------------------------------------
Building and running with the X AWT peers
------------------------------------------------------------------
In order build the X peers you need the Escher library version 0.2.3
from http://escher.sourceforge.net . Unpack (and optionally build) the
Escher library following the instructions in the downloaded
package. Enable the build of the X peers by passing
--with-escher=/path/to/escher to ./configure where /path/to/escher
either points to a directory structure or JAR file containing the
Escher classes. For Unix systems it is preferable to also build local
socket support by passing --enable-local-sockets, which accelerates
the network communication to the X server significantly.
In this release you have to enable the X peers at runtime by
setting the system property awt.toolkit=gnu.java.awt.peer.x.XToolkit
by passing -Dawt.toolkit=gnu.java.awt.peer.x.XToolkit to the java
command when running an application.
------------------------------------------------------------------
Misc. Notes
------------------------------------------------------------------
Compilation is accomplished using a compiler's @file syntax. For our
part, we avoid placing make style dependencies as rules upon the
compilation of a particular class file and leave this up to the Java
compiler instead.
The --enable-maintainer-mode option to configure currently does very
little and shouldn't be used by ordinary developers or users anyway.
On Windows machines, the native libraries do not currently build, but
the Java bytecode library will. Gcj trunk is beginning to work under
Cygwin. The mingw32 version of jikes cannot follow symbolic links, you
must use a cygwin build of jikes to access this limited functionality.
|