e1bea0c068
2007-05-31 Matthias Klose <doko@ubuntu.com> * javax/management/NotificationBroadcasterSupport.java (getNotificationInfo): Add cast. * native/jni/qt-peer/Makefile.am (AM_CXXFLAGS): Add libstdc++ include directories. * native/jni/qt-peer/Makefile.in: Regenerate. libjava/ChangeLog: 2007-06-03 Matthias Klose <doko@ubuntu.com> * java/io/natFileWin32.cc (setFilePermissions): New (stub only). _access: Handle EXEC query, stub only. 2007-06-03 Matthias Klose <doko@ubuntu.com> Merged from classpath: * gnu/java/nio/SelectorProviderImpl.java: Whitespace merge. * java/lang/System.java(inheritedChannel): New. * java/lang/Character.java: Remove stray`;'. * java/net/MulticastSocket.java: Merged. * java/text/DateFormatSymbols.java(getInstance): New, comment updates. * java/text/Collator.java(getInstance): Merged. * java/util/Calendar.java: New attributes ALL_STYLES, SHORT, LONG. getDisplayName, getDisplayNames: New. * java/util/logging/Logger.java: Merged. * Regenerate .class and .h files. 2007-06-03 Matthias Klose <doko@ubuntu.com> * java/io/File.java: Merge with classpath-0.95, new method setFilePermissions, new attribute EXEC. * java/io/natFilePosix.cc (setFilePermissions): New. _access: Handle EXEC query. * classpath/lib/java/io/File.class, java/io/File.h: Regenerate. 2007-06-03 Matthias Klose <doko@ubuntu.com> Imported GNU Classpath 0.95. * classpath/Makefile.in, classpath/native/jni/midi-dssi/Makefile.in, classpath/native/jni/classpath/Makefile.in, classpath/native/jni/Makefile.in, classpath/native/jni/gconf-peer/Makefile.in, classpath/native/jni/java-io/Makefile.in, classpath/native/jni/native-lib/Makefile.in, classpath/native/jni/java-util/Makefile.in, classpath/native/jni/midi-alsa/Makefile.in, classpath/native/jni/java-lang/Makefile.in, classpath/native/jni/java-nio/Makefile.in, classpath/native/jni/java-net/Makefile.in, classpath/native/jni/xmlj/Makefile.in, classpath/native/jni/qt-peer/Makefile.in, classpath/native/jni/gtk-peer/Makefile.in, classpath/native/Makefile.in, classpath/native/jawt/Makefile.in, classpath/native/fdlibm/Makefile.in, classpath/native/plugin/Makefile.in, classpath/resource/Makefile.in, classpath/scripts/Makefile.in, classpath/tools/Makefile.in, classpath/doc/Makefile.in, classpath/doc/api/Makefile.in, classpath/lib/Makefile.in, classpath/external/Makefile.in, classpath/external/jsr166/Makefile.in, classpath/external/sax/Makefile.in, classpath/external/w3c_dom/Makefile.in, classpath/external/relaxngDatatype/Makefile.in, classpath/include/Makefile.in, classpath/examples/Makefile.in: Regenerate. * classpath/config.guess, classpath/config.sub, classpath/ltmain.sh : Update. * classpath/configure, classpath/depcomp, classpath/missing, classpath/aclocal.m4, classpath/install-sh: Regenerate. * gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.95. * sources.am: Regenerate. * Makefile.in: Regenerate. * Update the .class files and generated CNI header files, add new .class and generated CNI header files. * Remove generated files for removed java source files: classpath/gnu/java/net/BASE64.java, classpath/gnu/java/security/util/Base64.java, classpath/gnu/java/awt/peer/gtk/GThreadMutex.java, classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java, classpath/gnu/java/awt/font/autofit/Scaler.java, classpath/gnu/classpath/jdwp/util/Value.java, classpath/gnu/javax/net/ssl/Base64.java. * Remove empty directories. * Makefile.am(nat_source_files): Add natVMOperatingSystemMXBeanImpl.cc. * java/lang/Class.java(setAccessible): Merge from classpath. * java/util/Locale.java: Remove. * gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java, gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc: New. * gcj/javaprims.h: Update class declarations. * scripts/classes.pl: Update usage. * HACKING: Mention to build all peers. From-SVN: r125302
226 lines
9.4 KiB
Plaintext
226 lines
9.4 KiB
Plaintext
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.
|