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
CXX=g++
CFLAGS=-Wall -Wextra
TARGET=libneonucleusjni.so
TARGET=libcarbon.so
BASE_PATH=./src/main/org/neoflock/NeoNucleus
JAVA_HOME=/usr/lib/jvm/java-25-openjdk/

View File

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

View File

@@ -2,12 +2,14 @@
// redefine it here with the impl
// 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_MAP_TO_NN_EXIT(enumcase) case enumcase:\
jfieldID id = env->GetFieldID(clazz, #enumcase, "Lorg.neoflock.NeoNucleus.nn_Exit;");\
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;");\
return env->GetStaticObjectField(clazz, id);
#define CARBON_MAP_TO_NN_EXIT(enumcase) case enumcase: {\
jfieldID id = env->GetFieldID(clazz, #enumcase, "Lorg.neoflock.NeoNucleus.nn_Exit;");\
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;");\
return env->GetStaticObjectField(clazz, id);\
}
// codename for NN JNI is Carbon because i needed something better than NN JNI
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
(JNIEnv * env, jclass ogClazz) {
(JNIEnv * env, jclass) {
//jclass clazz = env->FindClass("org/neoflock/NeoNucleus/nn_Context");
//jmethodID creator = env->GetStaticMethodID(clazz, "createFromPointer", "(J)Lorg/neoflock/NeoNucleus/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] = {
.name = env->GetStringUTFChars(nameStr, NULL),
.doc = env->GetStringUTFChars(docStr, NULL),
.flags = (nn_MethodFlags) env->GetByteField(oArr, NULL)
.flags = (nn_MethodFlags) flagsByte
};
}