Merge pull request #6180 from sfc-gh-anoyes/anoyes/java-native-headers
Build native headers for jni
This commit is contained in:
commit
ab76312b42
|
@ -137,6 +137,7 @@ if(OPEN_FOR_IDE)
|
|||
else()
|
||||
add_library(fdb_java SHARED fdbJNI.cpp)
|
||||
add_library(java_workloads SHARED JavaWorkload.cpp)
|
||||
target_link_libraries(java_workloads PRIVATE fdb_java_native)
|
||||
endif()
|
||||
|
||||
if (NOT WIN32 AND NOT APPLE AND NOT OPEN_FOR_IDE)
|
||||
|
@ -146,6 +147,7 @@ endif()
|
|||
target_include_directories(fdb_java PRIVATE ${JNI_INCLUDE_DIRS})
|
||||
# libfdb_java.so is loaded by fdb-java.jar and doesn't need to depened on jvm shared libraries.
|
||||
target_link_libraries(fdb_java PRIVATE fdb_c)
|
||||
target_link_libraries(fdb_java PRIVATE fdb_java_native)
|
||||
if(APPLE)
|
||||
set_target_properties(fdb_java PROPERTIES SUFFIX ".jnilib")
|
||||
endif()
|
||||
|
@ -182,8 +184,8 @@ set(MANIFEST_FILE ${CMAKE_CURRENT_BINARY_DIR}/resources/META-INF/MANIFEST.MF)
|
|||
file(WRITE ${MANIFEST_FILE} ${MANIFEST_TEXT})
|
||||
|
||||
add_jar(fdb-java ${JAVA_BINDING_SRCS} ${GENERATED_JAVA_FILES} ${CMAKE_SOURCE_DIR}/LICENSE
|
||||
OUTPUT_DIR ${PROJECT_BINARY_DIR}/lib VERSION ${FDB_VERSION} MANIFEST ${MANIFEST_FILE})
|
||||
add_dependencies(fdb-java fdb_java_options fdb_java)
|
||||
OUTPUT_DIR ${PROJECT_BINARY_DIR}/lib VERSION ${FDB_VERSION} MANIFEST ${MANIFEST_FILE} GENERATE_NATIVE_HEADERS fdb_java_native)
|
||||
add_dependencies(fdb-java fdb_java_options)
|
||||
|
||||
if(NOT OPEN_FOR_IDE)
|
||||
set(FAT_JAR_BINARIES "NOTFOUND" CACHE STRING
|
||||
|
@ -238,6 +240,7 @@ if(NOT OPEN_FOR_IDE)
|
|||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:fdb_java> ${lib_destination} &&
|
||||
${CMAKE_COMMAND} -E copy $<TARGET_FILE:fdb_java> ${jni_package} &&
|
||||
${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/lib_copied
|
||||
DEPENDS fdb_java
|
||||
COMMENT "Copy jni library for fat jar")
|
||||
add_custom_target(copy_lib DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/lib_copied)
|
||||
add_dependencies(copy_lib unpack_jar)
|
||||
|
@ -264,6 +267,7 @@ if(NOT OPEN_FOR_IDE)
|
|||
add_dependencies(fdb-java-tests foundationdb-tests)
|
||||
add_custom_target(fat-jar ALL DEPENDS ${target_jar})
|
||||
add_dependencies(fat-jar fdb-java)
|
||||
add_dependencies(fat-jar fdb_java)
|
||||
add_dependencies(fat-jar copy_lib)
|
||||
add_dependencies(packages fat-jar)
|
||||
|
||||
|
|
|
@ -22,6 +22,10 @@
|
|||
#define FDB_API_VERSION 710
|
||||
#include <foundationdb/fdb_c.h>
|
||||
|
||||
#include "com_apple_foundationdb_testing_AbstractWorkload.h"
|
||||
#include "com_apple_foundationdb_testing_Promise.h"
|
||||
#include "com_apple_foundationdb_testing_WorkloadContext.h"
|
||||
|
||||
#include <jni.h>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
|
|
|
@ -21,6 +21,17 @@
|
|||
#include <jni.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "com_apple_foundationdb_FDB.h"
|
||||
#include "com_apple_foundationdb_FDBDatabase.h"
|
||||
#include "com_apple_foundationdb_FDBTransaction.h"
|
||||
#include "com_apple_foundationdb_FutureInt64.h"
|
||||
#include "com_apple_foundationdb_FutureKey.h"
|
||||
#include "com_apple_foundationdb_FutureKeyArray.h"
|
||||
#include "com_apple_foundationdb_FutureResult.h"
|
||||
#include "com_apple_foundationdb_FutureResults.h"
|
||||
#include "com_apple_foundationdb_FutureStrings.h"
|
||||
#include "com_apple_foundationdb_NativeFuture.h"
|
||||
|
||||
#define FDB_API_VERSION 710
|
||||
|
||||
#include <foundationdb/fdb_c.h>
|
||||
|
@ -279,9 +290,9 @@ JNIEXPORT jlong JNICALL Java_com_apple_foundationdb_FutureInt64_FutureInt64_1get
|
|||
return (jlong)value;
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL Java_com_apple_foundationdb_FutureStrings_FutureStrings_1get(JNIEnv* jenv,
|
||||
jobject,
|
||||
jlong future) {
|
||||
JNIEXPORT jobjectArray JNICALL Java_com_apple_foundationdb_FutureStrings_FutureStrings_1get(JNIEnv* jenv,
|
||||
jobject,
|
||||
jlong future) {
|
||||
if (!future) {
|
||||
throwParamNotNull(jenv);
|
||||
return JNI_NULL;
|
||||
|
@ -500,7 +511,7 @@ JNIEXPORT jbyteArray JNICALL Java_com_apple_foundationdb_FutureResult_FutureResu
|
|||
return result;
|
||||
}
|
||||
|
||||
JNIEXPORT jbyteArray JNICALL Java_com_apple_foundationdb_FutureKey_FutureKey_1get(JNIEnv* jenv, jclass, jlong future) {
|
||||
JNIEXPORT jbyteArray JNICALL Java_com_apple_foundationdb_FutureKey_FutureKey_1get(JNIEnv* jenv, jobject, jlong future) {
|
||||
if (!future) {
|
||||
throwParamNotNull(jenv);
|
||||
return JNI_NULL;
|
||||
|
|
|
@ -81,6 +81,6 @@ class FutureResults extends NativeFuture<RangeResultInfo> {
|
|||
private boolean enableDirectBufferQueries = false;
|
||||
|
||||
private native RangeResult FutureResults_get(long cPtr) throws FDBException;
|
||||
private native boolean FutureResults_getDirect(long cPtr, ByteBuffer buffer, int capacity)
|
||||
private native void FutureResults_getDirect(long cPtr, ByteBuffer buffer, int capacity)
|
||||
throws FDBException;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue