Addressing review comments
This commit is contained in:
parent
343e98a7d1
commit
1d284db213
27
Makefile
27
Makefile
@ -245,7 +245,7 @@ unity: unity.cc unity.o
|
||||
clean:
|
||||
-rm -f $(PROGRAMS) $(TESTS) $(LIBRARY) $(SHARED) $(MEMENVLIBRARY) build_config.mk unity.cc
|
||||
-rm -rf ios-x86/* ios-arm/*
|
||||
-find . -name "*.[od]" -exec rm {} \;
|
||||
-find . -name "*.[oda]" -exec rm {} \;
|
||||
-find . -type f -regex ".*\.\(\(gcda\)\|\(gcno\)\)" -exec rm {} \;
|
||||
tags:
|
||||
ctags * -R
|
||||
@ -480,29 +480,30 @@ ROCKSDBJNILIB = librocksdbjni.jnilib
|
||||
JAVA_INCLUDE = -I/System/Library/Frameworks/JavaVM.framework/Headers/
|
||||
endif
|
||||
|
||||
|
||||
rocksdbjavastatic:
|
||||
#build zlib
|
||||
libz.a:
|
||||
-rm -rf zlib-1.2.8
|
||||
curl -O http://zlib.net/zlib-1.2.8.tar.gz
|
||||
tar xvzf zlib-1.2.8.tar.gz
|
||||
cd zlib-1.2.8 && CFLAGS='-fPIC' ./configure --static && make
|
||||
cp zlib-1.2.8/libz.a .
|
||||
rm -rf zlib-1.2.8.tar.gz zlib-1.2.8
|
||||
|
||||
#build bzip
|
||||
curl -O http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
|
||||
cp zlib-1.2.8/libz.a .
|
||||
|
||||
libbz2.a:
|
||||
-rm -rf bzip2-1.0.6
|
||||
curl -O http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
|
||||
tar xvzf bzip2-1.0.6.tar.gz
|
||||
cd bzip2-1.0.6 && make CFLAGS='-fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64'
|
||||
cp bzip2-1.0.6/libbz2.a .
|
||||
rm -rf bzip2-1.0.6.tar.gz bzip2-1.0.6
|
||||
|
||||
#build snappy
|
||||
libsnappy.a:
|
||||
-rm -rf snappy-1.1.1
|
||||
curl -O https://snappy.googlecode.com/files/snappy-1.1.1.tar.gz
|
||||
tar xvzf snappy-1.1.1.tar.gz
|
||||
cd snappy-1.1.1 && ./configure --with-pic --enable-static
|
||||
cd snappy-1.1.1 && ./configure --with-pic --enable-static
|
||||
cd snappy-1.1.1 && make
|
||||
cp snappy-1.1.1/.libs/libsnappy.a .
|
||||
rm -rf snappy-1.1.1 snappy-1.1.1.tar.gz
|
||||
|
||||
|
||||
rocksdbjavastatic: libz.a libbz2.a libsnappy.a
|
||||
OPT="-fPIC -DNDEBUG -O2" $(MAKE) $(LIBRARY) -j
|
||||
cd java;$(MAKE) java;
|
||||
rm -f ./java/$(ROCKSDBJNILIB)
|
||||
|
@ -2,8 +2,7 @@ package org.rocksdb;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class NativeLibraryLoader
|
||||
{
|
||||
public class NativeLibraryLoader {
|
||||
|
||||
private static String sharedLibraryName = "librocksdbjni.so";
|
||||
private static String tempFilePrefix = "librocksdbjni";
|
||||
@ -14,13 +13,14 @@ public class NativeLibraryLoader
|
||||
private NativeLibraryLoader() {
|
||||
}
|
||||
|
||||
public static void loadLibraryFromJar() throws IOException {
|
||||
public static void loadLibraryFromJar()
|
||||
throws IOException {
|
||||
|
||||
File temp = File.createTempFile(tempFilePrefix, tempFileSuffix);
|
||||
temp.deleteOnExit();
|
||||
|
||||
if (!temp.exists()) {
|
||||
throw new FileNotFoundException("File " + temp.getAbsolutePath() + " does not exist.");
|
||||
throw new RuntimeException("File " + temp.getAbsolutePath() + " does not exist.");
|
||||
}
|
||||
|
||||
byte[] buffer = new byte[1024];
|
||||
@ -28,7 +28,7 @@ public class NativeLibraryLoader
|
||||
|
||||
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream(sharedLibraryName);
|
||||
if (is == null) {
|
||||
throw new FileNotFoundException(sharedLibraryName + " was not found inside JAR.");
|
||||
throw new RuntimeException(sharedLibraryName + " was not found inside JAR.");
|
||||
}
|
||||
|
||||
OutputStream os = new FileOutputStream(temp);
|
||||
|
@ -13,7 +13,7 @@ package org.rocksdb;
|
||||
* native resources will be released as part of the process.
|
||||
*/
|
||||
public class Options extends RocksObject {
|
||||
static{
|
||||
static {
|
||||
RocksDB.loadLibrary();
|
||||
}
|
||||
static final long DEFAULT_CACHE_SIZE = 8 << 20;
|
||||
|
@ -19,8 +19,7 @@ import org.rocksdb.NativeLibraryLoader;
|
||||
* All methods of this class could potentially throw RocksDBException, which
|
||||
* indicates sth wrong at the rocksdb library side and the call failed.
|
||||
*/
|
||||
public class RocksDB extends RocksObject
|
||||
{
|
||||
public class RocksDB extends RocksObject {
|
||||
|
||||
public static final int NOT_FOUND = -1;
|
||||
private static final String[] compressionLibs_ = {
|
||||
@ -35,8 +34,7 @@ public class RocksDB extends RocksObject
|
||||
* Loads the necessary library files.
|
||||
* Calling this method twice will have no effect.
|
||||
*/
|
||||
public static synchronized void loadLibrary()
|
||||
{
|
||||
public static synchronized void loadLibrary() {
|
||||
// loading possibly necessary libraries.
|
||||
for (String lib : compressionLibs_) {
|
||||
try {
|
||||
@ -45,14 +43,13 @@ public class RocksDB extends RocksObject
|
||||
// since it may be optional, we ignore its loading failure here.
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
NativeLibraryLoader.loadLibraryFromJar();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException("Unable to load the RocksDB shared library" + e);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user