# README
#
# APRON Library / Java Binding
#
# Copyright (C) Antoine Mine' 2010

# This file is part of the APRON Library, released under LGPL license
# with an exception allowing the redistribution of statically linked
# executables.

# Please read the COPYING file packaged in the distribution.

This package provides a Java binding for the Apron library.
This includes Apron API objects (expression, constraints, etc.) as well as 
manager factories for the numerical abstract domains included in the
Apron distribution.
Also included is a Java binding for the GMP and MPFR libraries used by Apron.


STATUS
######

Status: Beta
All functions have been implemented but few have been tested so far.

Requirements: 
Tested on Sun/Oracle's Java 1.6 to 1.8 on x86_64 Linux


INSTALLATION
############

In order to compile, you must set HAS_JAVA to 1 in the global Makefile.config
and type "make" from the Apron main directory.
You must also set-up Java-specific binary names and directories your
Makefile.config.
In particular, you will probably need to set the JNIINC variable to provide
the -I to include jni.h.

"make" builds classfiles and .jar, and .so glue C libraries

"make install" installs the .so, but not classfiles nor .jar

"make doc" builds some Javadoc documentation 

The PPL binding is optional. It is built only if HAS_PPL is 1.
Currently, 

Currently, whether to compile a double, MPQ, or MPFR of boxes and
octagons is hardcoded in the Makefile.


RUNNING
#######

Make sure to update your CLASSPATH to contain the path with the
.class / .jar files
and your LD_LIBRARY_PATH to contain the path with the .so files

To run some tests, type
  java -ea gmp.Test
  java -ea apron.Test

On Eclipse, make sure, in the Project menu, to:
- add the apron.jar and gmp.jar files in the "Add External Jars" dialog
- add the path of the .so files in the "Native Library Location" dialog



DOCUMENTATION
#############

For information on the API, type "make doc" and look in the doc/ subdirectory.

