forked from I2P_Developers/i2p.i2p
Dynamic library build ===================== If you have a libgmp.so installed on your system already (check in /usr/lib), you can build a dynamically linked libjbigi.so as follows: cd jbigi build.sh dynamic You do, of course, need the gmp headers installed. On ubuntu, check for libgmp3 and libgmp3-dev packages. This is much easier and faster than building GMP from source. Static library build ===================== Otherwise, the build script build.sh will download the the GMP source, unpack and build it. The GMP version and download location are configured in jbigi/build.sh, please review it to ensure you download and build the desired version. To build the native jbigi and jcpuid libraries for the current host CPU, simply run sh build.sh and the results will be packaged up into jbigi.jar and the libjbigi.so library. To build the native jbigi libraries for all supported CPUs (on the current OS), go into jbigi/ and run build-all.sh (the results will be under jbigi/lib/) Installation and testing ======================== To test, copy jbigi/lib/libjbigi.so and jcpuid/lib/freenet/support/CPUInformation/libjcpuid-*.so to your i2p installation directory ($I2P). You may also copy jbigi.jar to the $I2P/lib/ directory; it will be used only if the router fails to load the native library from the I2P installation directory. The build.sh script runs two speed tests, one with your existing I2P installation and one with the new libjbigi. Alternatively, after copying the files to the i2p/ directory, to run a speed test comparing the native library to the java library, run the shell script below. Adjust the I2P= line as necessary. ----------------- #!/bin/sh export I2P=~/i2p java -cp $I2P/lib/i2p.jar:$I2P/lib/jbigi.jar net.i2p.util.NativeBigInteger