make it COMPILE

This commit is contained in:
2026-05-28 20:58:48 -03:00
parent 287e773aa5
commit edd4fbed7b
4 changed files with 12 additions and 10 deletions

View File

@@ -1,7 +1,7 @@
CC=gcc CC=gcc
CXX=g++ CXX=g++
CFLAGS=-Wall -Wextra CFLAGS=-Wall -Wextra
TARGET=libneonucleusjni.so TARGET=libcarbon.so
BASE_PATH=./src/main/org/neoflock/NeoNucleus BASE_PATH=./src/main/org/neoflock/NeoNucleus
JAVA_HOME=/usr/lib/jvm/java-25-openjdk/ JAVA_HOME=/usr/lib/jvm/java-25-openjdk/

View File

@@ -4,7 +4,7 @@ import java.util.UUID;
public class NativeBindings { public class NativeBindings {
static { static {
System.loadLibrary("neonucleusjni"); System.loadLibrary("carbon");
} }
public static void main(String[] args) { public static void main(String[] args) {
//nn_Context ctx = nn_initContext(); //nn_Context ctx = nn_initContext();

View File

@@ -2,12 +2,14 @@
// redefine it here with the impl // redefine it here with the impl
// theres probably a better way to do this // theres probably a better way to do this
#define CARBON_EXCEPTION_FUNC(fname, classpath) jint fname(JNIEnv* env, const char* message) { return THROW_EXCEPTION(classpath, message); } #define CARBON_EXCEPTION_FUNC(fname, classpath) jint fname(JNIEnv* env, const char* message) { return THROW_EXCEPTION(classpath, message); }
#define CARBON_MAP_TO_NN_EXIT(enumcase) case enumcase:\ #define CARBON_MAP_TO_NN_EXIT(enumcase) case enumcase: {\
jfieldID id = env->GetFieldID(clazz, #enumcase, "Lorg.neoflock.NeoNucleus.nn_Exit;");\ jfieldID id = env->GetFieldID(clazz, #enumcase, "Lorg.neoflock.NeoNucleus.nn_Exit;");\
return env->GetStaticObjectField(clazz, id); return env->GetStaticObjectField(clazz, id);\
#define CARBON_MAP_TO_NN_COMPUTERSTATE(enumcase) case enumcase:\ }
jfieldID id = env->GetFieldID(clazz, #enumcase, "Lorg.neoflock.NeoNucleus.nn_ComputerState;");\ #define CARBON_MAP_TO_NN_COMPUTERSTATE(enumcase) case enumcase: {\
return env->GetStaticObjectField(clazz, id); jfieldID id = env->GetFieldID(clazz, #enumcase, "Lorg.neoflock.NeoNucleus.nn_ComputerState;");\
return env->GetStaticObjectField(clazz, id);\
}
// codename for NN JNI is Carbon because i needed something better than NN JNI // codename for NN JNI is Carbon because i needed something better than NN JNI
bool Carbon::PointerBacked::SetPointer(JNIEnv * env, jobject obj, void* ptr) { bool Carbon::PointerBacked::SetPointer(JNIEnv * env, jobject obj, void* ptr) {

View File

@@ -39,7 +39,7 @@
}*/ }*/
JNIEXPORT jobject JNICALL Java_org_neoflock_NeoNucleus_NativeBindings_nn_1initContext JNIEXPORT jobject JNICALL Java_org_neoflock_NeoNucleus_NativeBindings_nn_1initContext
(JNIEnv * env, jclass ogClazz) { (JNIEnv * env, jclass) {
//jclass clazz = env->FindClass("org/neoflock/NeoNucleus/nn_Context"); //jclass clazz = env->FindClass("org/neoflock/NeoNucleus/nn_Context");
//jmethodID creator = env->GetStaticMethodID(clazz, "createFromPointer", "(J)Lorg/neoflock/NeoNucleus/Context;"); //jmethodID creator = env->GetStaticMethodID(clazz, "createFromPointer", "(J)Lorg/neoflock/NeoNucleus/Context;");
jobject obj = Carbon::InstantiateOpaqueClass(env, "org/neoflock/NeoNucleus/nn_Context"); jobject obj = Carbon::InstantiateOpaqueClass(env, "org/neoflock/NeoNucleus/nn_Context");
@@ -105,7 +105,7 @@ JNIEXPORT jobject JNICALL Java_org_neoflock_NeoNucleus_NativeBindings_nn_1setCom
nMethods[i] = { nMethods[i] = {
.name = env->GetStringUTFChars(nameStr, NULL), .name = env->GetStringUTFChars(nameStr, NULL),
.doc = env->GetStringUTFChars(docStr, NULL), .doc = env->GetStringUTFChars(docStr, NULL),
.flags = (nn_MethodFlags) env->GetByteField(oArr, NULL) .flags = (nn_MethodFlags) flagsByte
}; };
} }