Generate JNI header file from java source file
This commit is contained in:
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
build
|
||||||
|
bin
|
||||||
|
.settings
|
||||||
|
.maven
|
||||||
|
.classpath
|
||||||
|
.project
|
||||||
|
.gradle
|
||||||
37
build.gradle
37
build.gradle
@@ -1,15 +1,28 @@
|
|||||||
apply plugin: 'cpp'
|
apply plugin: 'cpp'
|
||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'maven'
|
apply plugin: 'maven'
|
||||||
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
task wrapper(type: Wrapper) {
|
repositories {
|
||||||
gradleVersion = '1.12'
|
maven {
|
||||||
|
url 'https://github.com/Boukefalos/jlibloader/raw/mvn-repo/'
|
||||||
|
}
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compile 'java3d:j3d-core:1.3.1'
|
||||||
|
compile 'com.github.boukefalos:jlibloader:0.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
group = 'com.github.boukefalos'
|
group = 'com.github.boukefalos'
|
||||||
project.archivesBaseName = 'jlibxinput'
|
project.archivesBaseName = 'jlibxinput'
|
||||||
version = '1.0'
|
version = '1.0'
|
||||||
|
|
||||||
|
task wrapper(type: Wrapper) {
|
||||||
|
gradleVersion = '1.12'
|
||||||
|
}
|
||||||
|
|
||||||
model {
|
model {
|
||||||
platforms {
|
platforms {
|
||||||
windows_i386 {
|
windows_i386 {
|
||||||
@@ -45,6 +58,20 @@ model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def jniHeadersDir = file("$buildDir/headers")
|
||||||
|
|
||||||
|
task jniHeaders(dependsOn: compileJava) {
|
||||||
|
def outputFile = file("$jniHeadersDir/de_hardcode_jxinput_directinput_DirectInputDriver.h")
|
||||||
|
inputs.files sourceSets.main.output
|
||||||
|
outputs.file outputFile
|
||||||
|
exec {
|
||||||
|
executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah')
|
||||||
|
args '-o', outputFile
|
||||||
|
args '-classpath', sourceSets.main.output.classesDir
|
||||||
|
args '-classpath', file("$buildDir/../bin")
|
||||||
|
args 'de.hardcode.jxinput.directinput.DirectInputDriver'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
libraries {
|
libraries {
|
||||||
main {
|
main {
|
||||||
@@ -53,7 +80,8 @@ libraries {
|
|||||||
all {
|
all {
|
||||||
binaries.withType(SharedLibraryBinary) { binary ->
|
binaries.withType(SharedLibraryBinary) { binary ->
|
||||||
cppCompiler.define 'JXINPUT_EXPORTS'
|
cppCompiler.define 'JXINPUT_EXPORTS'
|
||||||
cppCompiler.args '-Wall'
|
//cppCompiler.args '-Wall'
|
||||||
|
cppCompiler.args '-I' + jniHeadersDir
|
||||||
if (targetPlatform.operatingSystem.macOsX) {
|
if (targetPlatform.operatingSystem.macOsX) {
|
||||||
cppCompiler.args '-I', "/System/Library/Frameworks/JavaVM.framework/Headers"
|
cppCompiler.args '-I', "/System/Library/Frameworks/JavaVM.framework/Headers"
|
||||||
linker.args '-framework', "JavaVM"
|
linker.args '-framework', "JavaVM"
|
||||||
@@ -64,6 +92,9 @@ libraries {
|
|||||||
cppCompiler.args "-I${org.gradle.internal.jvm.Jvm.current().javaHome}/include"
|
cppCompiler.args "-I${org.gradle.internal.jvm.Jvm.current().javaHome}/include"
|
||||||
cppCompiler.args "-I${org.gradle.internal.jvm.Jvm.current().javaHome}/include/win32"
|
cppCompiler.args "-I${org.gradle.internal.jvm.Jvm.current().javaHome}/include/win32"
|
||||||
}
|
}
|
||||||
|
tasks.withType(CppCompile) { task ->
|
||||||
|
task.dependsOn jniHeaders
|
||||||
|
}
|
||||||
lib library: 'dxguid', linkage: 'static'
|
lib library: 'dxguid', linkage: 'static'
|
||||||
lib library: 'dinput8', linkage: 'static'
|
lib library: 'dinput8', linkage: 'static'
|
||||||
lib library: 'user32', linkage: 'static'
|
lib library: 'user32', linkage: 'static'
|
||||||
|
|||||||
@@ -1,183 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
|
||||||
#include <jni.h>
|
|
||||||
|
|
||||||
/* Header for class de_hardcode_jxinput_directinput_DirectInputDriver */
|
|
||||||
|
|
||||||
#ifndef _Included_de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
#define _Included_de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Inaccessible static: sIsOperational */
|
|
||||||
/* Inaccessible static: sAxisValues */
|
|
||||||
/* Inaccessible static: sButtonStates */
|
|
||||||
/* Inaccessible static: sDirectionalValues */
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: nativeinit
|
|
||||||
* Signature: ()Z
|
|
||||||
*/
|
|
||||||
JNIEXPORT jboolean JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_nativeinit
|
|
||||||
(JNIEnv *, jclass);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: nativeexit
|
|
||||||
* Signature: ()V
|
|
||||||
*/
|
|
||||||
JNIEXPORT void JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_nativeexit
|
|
||||||
(JNIEnv *, jclass);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: bind
|
|
||||||
* Signature: ()V
|
|
||||||
*/
|
|
||||||
JNIEXPORT void JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_bind
|
|
||||||
(JNIEnv *, jclass);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getNumberOfDevices
|
|
||||||
* Signature: ()I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getNumberOfDevices
|
|
||||||
(JNIEnv *, jclass);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getName
|
|
||||||
* Signature: (I)Ljava/lang/String;
|
|
||||||
*/
|
|
||||||
JNIEXPORT jstring JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getName
|
|
||||||
(JNIEnv *, jclass, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getNumberOfAxes
|
|
||||||
* Signature: (I)I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getNumberOfAxes
|
|
||||||
|
|
||||||
(JNIEnv *, jclass, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getNumberOfButtons
|
|
||||||
* Signature: (I)I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getNumberOfButtons
|
|
||||||
(JNIEnv *, jclass, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getNumberOfDirectionals
|
|
||||||
* Signature: (I)I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getNumberOfDirectionals
|
|
||||||
(JNIEnv *, jclass, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getMaxNumberOfAxes
|
|
||||||
* Signature: ()I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getMaxNumberOfAxes
|
|
||||||
(JNIEnv *, jclass);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getMaxNumberOfButtons
|
|
||||||
* Signature: ()I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getMaxNumberOfButtons
|
|
||||||
(JNIEnv *, jclass);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getMaxNumberOfDirectionals
|
|
||||||
* Signature: ()I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getMaxNumberOfDirectionals
|
|
||||||
(JNIEnv *, jclass);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: isAxisAvailable
|
|
||||||
* Signature: (II)Z
|
|
||||||
*/
|
|
||||||
JNIEXPORT jboolean JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_isAxisAvailable
|
|
||||||
(JNIEnv *, jclass, jint, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getAxisName
|
|
||||||
* Signature: (II)Ljava/lang/String;
|
|
||||||
*/
|
|
||||||
JNIEXPORT jstring JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getAxisName
|
|
||||||
(JNIEnv *, jclass, jint, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getAxisType
|
|
||||||
* Signature: (II)I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getAxisType
|
|
||||||
(JNIEnv *, jclass, jint, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: isButtonAvailable
|
|
||||||
* Signature: (II)Z
|
|
||||||
*/
|
|
||||||
JNIEXPORT jboolean JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_isButtonAvailable
|
|
||||||
(JNIEnv *, jclass, jint, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getButtonName
|
|
||||||
* Signature: (II)Ljava/lang/String;
|
|
||||||
*/
|
|
||||||
JNIEXPORT jstring JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getButtonName
|
|
||||||
(JNIEnv *, jclass, jint, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getButtonType
|
|
||||||
* Signature: (II)I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getButtonType
|
|
||||||
(JNIEnv *, jclass, jint, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: isDirectionalAvailable
|
|
||||||
* Signature: (II)Z
|
|
||||||
*/
|
|
||||||
JNIEXPORT jboolean JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_isDirectionalAvailable
|
|
||||||
(JNIEnv *, jclass, jint, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: getDirectionalName
|
|
||||||
* Signature: (II)Ljava/lang/String;
|
|
||||||
*/
|
|
||||||
JNIEXPORT jstring JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_getDirectionalName
|
|
||||||
(JNIEnv *, jclass, jint, jint);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: de_hardcode_jxinput_directinput_DirectInputDriver
|
|
||||||
* Method: nativeupdate
|
|
||||||
* Signature: ()V
|
|
||||||
*/
|
|
||||||
JNIEXPORT void JNICALL Java_de_hardcode_jxinput_directinput_DirectInputDriver_nativeupdate
|
|
||||||
(JNIEnv *, jclass);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user