 @version $Revision: 2748 $ ($Author: skarzhevskyy $) $Date: 2009-02-13 18:57:31 -0500 (Fri, 13 Feb 2009) $

* Build maven2

   The project is a module for bluecove project.

   We are using maven2 to download main bluecove.jar and build this project.

   To create Eclipse projects run:
     mvn eclipse:clean eclipse:eclipse -DdownloadSources=true

   To run build without tests:
     mvn -Dmaven.test.skip=true

   To run build without building native code:
     mvn -Dnative.build.skip=true

* Build using ant

    For your convenience you may use ant to create the librayr binary and jar. You will need Optional ant taks installed (ant-nodeps.jar) to run the build.

    For this main bluecove.jar should be download or compiled, expected location is: ../bluecove/target/bluecove-${version}.jar

    To build native library libbluecove-${os.arch}.so and bluecove-gpl-${version}.jar:
        ant all

* Native Library Compilation Requirements

    - GCC compiler (4.1 or newer)
    - Java SE Development Kit 1.4 or newer
    - Linux Bluetooth protocol stack (BlueZ)
    - Development librararies for Bluetooth applications (package bluez-libs-devel 3.9 or newer)
    - When building on 64-bit platform make sure JAVA_HOME during build is pointing to 64-bit java

    The native library are build during maven or ant build.

* Build Native Library using make or shell script

    For your convenience we createated Makefile and build.sh shell script so you may build the libbluecove.so even when ant or maven is not available

    1. Make sure you have main bluecove library ../bluecove/target/bluecove-${version}.jar

    2. Run:  make all  or  build.sh in bluecove-gpl directory

* JVM specific notes

    *  sablevm on debian (in particular for NSLU2)
        build dependencies:
            apt-get install gcc
            apt-get install sablevm
            apt-get install libsablevm1-dev
            // apt-get install ant-optional
            // TODO manualy build and install sablevm-sdk-1.13 cp-tools
        build:
            //for now create .h on another computer
            ant -Dbuild.compiler=jikes -Djni_headers_skip=true all

* Build server Hack for BlueZ 3 and BlueZ 4 compatibility.

    On build server:
       We are binary editing libbluetooth.so to remove version information:

    This way: ldd libbluecove.so
         linux-gate.so.1 =>  (0xb7f12000)
         libbluetooth.so => /usr/lib/libbluetooth.so (0xb7ee0000)
         libc.so.6 => /lib/libc.so.6 (0xb7d6c000)
         /lib/ld-linux.so.2 (0x007b9000)

    And will run on BlueZ v3 and BlueZ v4.