Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz4j
[yaz4j-moved-to-github.git] / README
diff --git a/README b/README
index b974b3e..c0629ca 100644 (file)
--- a/README
+++ b/README
@@ -1,29 +1,63 @@
-yaz4j is a Java wrapper for the ZOOM API of YAZ. This allows developers
-to write Z39.50 clients in Java.
+COMPILATION
 
-yaz4j is distributed under the revised BSD license.
+Unix
+----
 
-Copyright (C) 2006-2007, Talis Group Ltd.
-Copyright (C) 2008-2009, Index Data.
-See LICENSE for details.
+You will need the JDK, Maven, Swig and YAZ development packages.
+Consult your package manager on how to install those.
 
-In order to built yaz4j the Java JDK, Maven, YAZ and Swig must be installed.
-The exact process varies from platform to platform.
+'yaz-config' is assumed to be on the PATH, if it isn't or if local yaz
+installation is to be used, its location can be forced with:
 
-For example, on Ubuntu/Debian the following installs the components:
-  apt-get install sun-java6-jdk maven2 libyaz3-dev swig
+mvn -Dyaz.config=/path/to/yaz-config install
 
-The compilation is a two-step process. The environment variable JAVA_HOME
-should point to the Java JDK of your preference. For example,
-  export JAVA_HOME=/usr/lib/jvm/java-6-sun
 
-Build the shared libary (.so) with:
-  cd libyaz4j
-  ./build.sh
+Windows
+-------
 
-Rest is built by maven which reads pom.xml:
-  cd ..
-  mvn compile
+Besides the exact same requirements as in the Unix case, you will need
+the Windows SDK installed (which in turn requires .NET Framework 4).
 
-If you network-connected you should be able to run tests with:
-  mvn test
+Sensible default is assumed for 'yaz.path' but the 'swig' binary path has
+hard-coded version number (see yaz4j/pom.xml) which most likely will need to
+be updated to match your Swig version. Both can be overriden through:
+
+mvn -Dyaz.path=/path/to/yaz/installation -Dswig=/path/to/swig/binary install
+
+Use the command prompt provided with the Windows SDK.
+
+
+RUNNING A TEST PROGRAM
+
+A trivial test program is included in the yaz4.jar, you can invoke it to check
+the sanity of your yaz4j compilation/installation. On Windows, the YAZ/bin 
+directory (default "C:\Porgam Files\YAZ\bin", if you are using YAZ installer) 
+MUST be on the PATH, otherwise dependent shared libraries will fail to load. 
+Run:
+
+  java -Djava.library.path=/path/to/yaz4j/dll/or/so/dir -jar any/target/yaz4j.jar
+
+Where "/path/to/yaz4j/dll/or/so/dir" points to the directory containing the
+native yaz4j libary (Windows -> yaz4j/win32/target, Unix -> yaz4j/unix/target).
+You can omit this flag, if your yaz4j.dll/so is already available on the 
+library path.
+
+
+LINKS
+
+The following is most probably already outdated, consult Google.
+
+* JDK 
+  http://www.oracle.com/technetwork/java/javase/downloads/index.html
+
+* Maven
+  http://maven.apache.org/download.cgi
+
+* Swig
+  http://www.swig.org/download.html
+
+* YAZ
+  http://www.indexdata.com/yaz
+
+* Windows SDK
+  http://www.microsoft.com/en-us/download/details.aspx?id=8279