2005-11-16 00:20:01 +01:00
|
|
|
Installing GNU Classpath - Last updated: September 7, 2005
|
2005-07-16 02:30:23 +02:00
|
|
|
|
|
|
|
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
|
2005-09-23 23:31:04 +02:00
|
|
|
--with-jikes, --with-gcj, --with-ecj or --with-kjc as argument to
|
2005-07-16 02:30:23 +02:00
|
|
|
configure; the present default is gcj.
|
|
|
|
|
2005-11-16 00:20:01 +01:00
|
|
|
- GCJ 4.0+ (part of the GNU GCC package).
|
2005-07-16 02:30:23 +02:00
|
|
|
- IBM jikes 1.19+.
|
2005-09-23 23:31:04 +02:00
|
|
|
- Eclipse Compiler for Java 3.1+
|
2005-07-16 02:30:23 +02:00
|
|
|
- The kjc compiler is supported with configure but we have
|
|
|
|
been unable to successfully compile with it.
|
|
|
|
|
2005-11-16 00:20:01 +01:00
|
|
|
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.
|
|
|
|
|
2005-07-16 02:30:23 +02:00
|
|
|
For building the gtk+ AWT peer JNI native libraries, the following
|
|
|
|
are required unless --disable-gtk-peer is used as an argument to
|
|
|
|
configure.
|
|
|
|
|
Imported GNU Classpath 0.92
2006-08-14 Mark Wielaard <mark@klomp.org>
Imported GNU Classpath 0.92
* HACKING: Add more importing hints. Update automake version
requirement.
* configure.ac (gconf-peer): New enable AC argument.
Add --disable-gconf-peer and --enable-default-preferences-peer
to classpath configure when gconf is disabled.
* scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
gnu/java/awt/dnd/peer/gtk to bc. Classify
gnu/java/security/Configuration.java as generated source file.
* gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
gnu/java/lang/management/VMThreadMXBeanImpl.java,
gnu/java/lang/management/VMMemoryMXBeanImpl.java,
gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
classes.
* java/lang/management/VMManagementFactory.java: Likewise.
* java/net/VMURLConnection.java: Likewise.
* gnu/java/nio/VMChannel.java: Likewise.
* java/lang/Thread.java (getState): Add stub implementation.
* java/lang/Class.java (isEnum): Likewise.
* java/lang/Class.h (isEnum): Likewise.
* gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.
* javax/naming/spi/NamingManager.java: New override for StackWalker
functionality.
* configure, sources.am, Makefile.in, gcj/Makefile.in,
include/Makefile.in, testsuite/Makefile.in: Regenerated.
From-SVN: r116139
2006-08-15 01:12:35 +02:00
|
|
|
- GTK+ 2.8.x (or higher)
|
2005-07-16 02:30:23 +02:00
|
|
|
- gdk-pixbuf
|
|
|
|
|
|
|
|
- XTest Extension (libXtst) for GdkRobot support in java.awt.
|
|
|
|
|
Imported GNU Classpath 0.92
2006-08-14 Mark Wielaard <mark@klomp.org>
Imported GNU Classpath 0.92
* HACKING: Add more importing hints. Update automake version
requirement.
* configure.ac (gconf-peer): New enable AC argument.
Add --disable-gconf-peer and --enable-default-preferences-peer
to classpath configure when gconf is disabled.
* scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
gnu/java/awt/dnd/peer/gtk to bc. Classify
gnu/java/security/Configuration.java as generated source file.
* gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
gnu/java/lang/management/VMThreadMXBeanImpl.java,
gnu/java/lang/management/VMMemoryMXBeanImpl.java,
gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
classes.
* java/lang/management/VMManagementFactory.java: Likewise.
* java/net/VMURLConnection.java: Likewise.
* gnu/java/nio/VMChannel.java: Likewise.
* java/lang/Thread.java (getState): Add stub implementation.
* java/lang/Class.java (isEnum): Likewise.
* java/lang/Class.h (isEnum): Likewise.
* gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.
* javax/naming/spi/NamingManager.java: New override for StackWalker
functionality.
* configure, sources.am, Makefile.in, gcj/Makefile.in,
include/Makefile.in, testsuite/Makefile.in: Regenerated.
From-SVN: r116139
2006-08-15 01:12:35 +02:00
|
|
|
For building gcjwebplugin you'll need the Mozilla plugin
|
|
|
|
support headers and libraries.
|
2005-07-16 02:30:23 +02:00
|
|
|
|
2005-09-23 23:31:04 +02:00
|
|
|
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
|
|
|
|
|
Imported GNU Classpath 0.92
2006-08-14 Mark Wielaard <mark@klomp.org>
Imported GNU Classpath 0.92
* HACKING: Add more importing hints. Update automake version
requirement.
* configure.ac (gconf-peer): New enable AC argument.
Add --disable-gconf-peer and --enable-default-preferences-peer
to classpath configure when gconf is disabled.
* scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
gnu/java/awt/dnd/peer/gtk to bc. Classify
gnu/java/security/Configuration.java as generated source file.
* gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
gnu/java/lang/management/VMThreadMXBeanImpl.java,
gnu/java/lang/management/VMMemoryMXBeanImpl.java,
gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
classes.
* java/lang/management/VMManagementFactory.java: Likewise.
* java/net/VMURLConnection.java: Likewise.
* gnu/java/nio/VMChannel.java: Likewise.
* java/lang/Thread.java (getState): Add stub implementation.
* java/lang/Class.java (isEnum): Likewise.
* java/lang/Class.h (isEnum): Likewise.
* gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.
* javax/naming/spi/NamingManager.java: New override for StackWalker
functionality.
* configure, sources.am, Makefile.in, gcj/Makefile.in,
include/Makefile.in, testsuite/Makefile.in: Regenerated.
From-SVN: r116139
2006-08-15 01:12:35 +02:00
|
|
|
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
|
|
|
|
|
2005-09-23 23:31:04 +02:00
|
|
|
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
|
2005-07-16 02:30:23 +02:00
|
|
|
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.
|
|
|
|
|
2005-11-16 00:20:01 +01:00
|
|
|
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/
|
|
|
|
|
|
|
|
|
2005-07-16 02:30:23 +02:00
|
|
|
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
|
2005-09-23 23:31:04 +02:00
|
|
|
--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
|
2005-07-16 02:30:23 +02:00
|
|
|
--enable-load-library enable to use JNI native methods default=yes
|
Imported GNU Classpath 0.92
2006-08-14 Mark Wielaard <mark@klomp.org>
Imported GNU Classpath 0.92
* HACKING: Add more importing hints. Update automake version
requirement.
* configure.ac (gconf-peer): New enable AC argument.
Add --disable-gconf-peer and --enable-default-preferences-peer
to classpath configure when gconf is disabled.
* scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
gnu/java/awt/dnd/peer/gtk to bc. Classify
gnu/java/security/Configuration.java as generated source file.
* gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
gnu/java/lang/management/VMThreadMXBeanImpl.java,
gnu/java/lang/management/VMMemoryMXBeanImpl.java,
gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
classes.
* java/lang/management/VMManagementFactory.java: Likewise.
* java/net/VMURLConnection.java: Likewise.
* gnu/java/nio/VMChannel.java: Likewise.
* java/lang/Thread.java (getState): Add stub implementation.
* java/lang/Class.java (isEnum): Likewise.
* java/lang/Class.h (isEnum): Likewise.
* gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.
* javax/naming/spi/NamingManager.java: New override for StackWalker
functionality.
* configure, sources.am, Makefile.in, gcj/Makefile.in,
include/Makefile.in, testsuite/Makefile.in: Regenerated.
From-SVN: r116139
2006-08-15 01:12:35 +02:00
|
|
|
--enable-local-sockets enable build of local Unix sockets
|
2005-07-16 02:30:23 +02:00
|
|
|
--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
|
Imported GNU Classpath 0.92
2006-08-14 Mark Wielaard <mark@klomp.org>
Imported GNU Classpath 0.92
* HACKING: Add more importing hints. Update automake version
requirement.
* configure.ac (gconf-peer): New enable AC argument.
Add --disable-gconf-peer and --enable-default-preferences-peer
to classpath configure when gconf is disabled.
* scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
gnu/java/awt/dnd/peer/gtk to bc. Classify
gnu/java/security/Configuration.java as generated source file.
* gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
gnu/java/lang/management/VMThreadMXBeanImpl.java,
gnu/java/lang/management/VMMemoryMXBeanImpl.java,
gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
classes.
* java/lang/management/VMManagementFactory.java: Likewise.
* java/net/VMURLConnection.java: Likewise.
* gnu/java/nio/VMChannel.java: Likewise.
* java/lang/Thread.java (getState): Add stub implementation.
* java/lang/Class.java (isEnum): Likewise.
* java/lang/Class.h (isEnum): Likewise.
* gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.
* javax/naming/spi/NamingManager.java: New override for StackWalker
functionality.
* configure, sources.am, Makefile.in, gcj/Makefile.in,
include/Makefile.in, testsuite/Makefile.in: Regenerated.
From-SVN: r116139
2006-08-15 01:12:35 +02:00
|
|
|
--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.
|
2005-07-16 02:30:23 +02:00
|
|
|
--enable-Werror whether to compile C code with -Werror which turns
|
|
|
|
any compiler warning into a compilation failure
|
|
|
|
default=no
|
2005-11-16 00:20:01 +01:00
|
|
|
--with-gjdoc generate documentation using gjdoc default=no
|
2005-07-16 02:30:23 +02:00
|
|
|
--with-jay Regenerate the parsers with jay must be given the
|
|
|
|
path to the jay executable
|
2006-05-18 19:29:21 +02:00
|
|
|
--with-glibj-zip=ABS.PATH
|
|
|
|
use prebuilt glibj.zip class library
|
2005-07-16 02:30:23 +02:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
Imported GNU Classpath 0.92
2006-08-14 Mark Wielaard <mark@klomp.org>
Imported GNU Classpath 0.92
* HACKING: Add more importing hints. Update automake version
requirement.
* configure.ac (gconf-peer): New enable AC argument.
Add --disable-gconf-peer and --enable-default-preferences-peer
to classpath configure when gconf is disabled.
* scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
gnu/java/awt/dnd/peer/gtk to bc. Classify
gnu/java/security/Configuration.java as generated source file.
* gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
gnu/java/lang/management/VMThreadMXBeanImpl.java,
gnu/java/lang/management/VMMemoryMXBeanImpl.java,
gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
classes.
* java/lang/management/VMManagementFactory.java: Likewise.
* java/net/VMURLConnection.java: Likewise.
* gnu/java/nio/VMChannel.java: Likewise.
* java/lang/Thread.java (getState): Add stub implementation.
* java/lang/Class.java (isEnum): Likewise.
* java/lang/Class.h (isEnum): Likewise.
* gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.
* javax/naming/spi/NamingManager.java: New override for StackWalker
functionality.
* configure, sources.am, Makefile.in, gcj/Makefile.in,
include/Makefile.in, testsuite/Makefile.in: Regenerated.
From-SVN: r116139
2006-08-15 01:12:35 +02:00
|
|
|
------------------------------------------------------------------
|
|
|
|
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.
|
|
|
|
|
2005-07-16 02:30:23 +02:00
|
|
|
------------------------------------------------------------------
|
|
|
|
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.
|