[Installation note of snappy-java]

= Required libraries for building snappy-java =

[For all platforms]

* Java 6 (JDK1.6) http://java.sun.com/
 - set JAVA_HOME environment variable to the Java installation folder (e.g. JAVA_HOME=C:/Program Files/Java/jdk1.6.0_24 in Windows)
* Maven 3.x http://maven.apache.org/
 - Check mvn command can be run from your command line.

[Windows (32-bit)]
* GNU make 
* And also tar, curl, cp, rm, grep commands are needed. (I use Cygwin for building snappy-java in Windows)

[Windows (64-bit)]
* Download MinGW-w64 http://sourceforge.net/projects/mingw-w64/ 
* Set PATH to the following commands in the downloaded archive: 
 - x86_64-w64-mingw32-g++
 - x86_64-w64-mingw32-strip

NOTICE: Do not use the Cygwin version of MinGW-w64. It fails to build assemblies for 64bit environment.
 
[Windows (32-bit)]
* Install MinGW http://www.mingw.org/
* Set PATH to the following command in MinGW package
 - mingw32-g++
 - strip

To build x86 (32bit) dll using 64-bit Windows, use "make win32" target.

[Linux (32/64-bit)]
* gcc-4.5.x or higher is necessary because snappy-java uses -static-libstdc++ option. 


[Mac]
* Install gcc, make, etc. included in Mac OS X install disk. (X Code)
* Install mercurial using Mac Porsts http://www.macports.org/


= Building snappy-java =

To build jar file of snappy-java, type:
$ make 

A native library for your machine environment and a jar package target/snappy-java-(version).jar are produced in the target folder.

= Building native library = 
$ make native

= Rebuild native library =
$ make clean-native native

