Skip to content

Commit

Permalink
fix: various linux native build fixes
Browse files Browse the repository at this point in the history
Signed-off-by: GitHub <[email protected]>
  • Loading branch information
sgammon committed Jul 11, 2024
1 parent 21c02e3 commit 5b8e19d
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 4 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -329,9 +329,9 @@ endif
native: ## Build Elide's native image target; use BUILD_MODE=release for a release binary.
$(info Building Elide native $(VERSION) ($(BUILD_MODE))...)
ifeq ($(BUILD_MODE),release)
$(CMD)$(GRADLE_PREFIX) $(GRADLE) :packages:runtime:nativeOptimizedCompile $(_ARGS)
$(CMD)$(GRADLE_PREFIX) $(GRADLE) :packages:cli:nativeOptimizedCompile $(_ARGS)
else
$(CMD)$(GRADLE_PREFIX) $(GRADLE) :packages:runtime:nativeCompile $(_ARGS)
$(CMD)$(GRADLE_PREFIX) $(GRADLE) :packages:cli:nativeCompile $(_ARGS)
endif

test: ## Run the library testsuite, and code-sample tests if SAMPLES=yes.
Expand Down
38 changes: 36 additions & 2 deletions crates/transport/src/netty_io_uring_native.c
Original file line number Diff line number Diff line change
Expand Up @@ -747,6 +747,42 @@ JNIEXPORT void JNI_OnUnload(JavaVM* vm, void* reserved) {
// ------------------------------------------------
//

JNIEXPORT jint Java_io_netty_incubator_channel_uring_Native_registerUnix(JNIEnv* env, jclass clazz) {
return netty_io_uring_registerUnix(env, clazz);
}

JNIEXPORT jint Java_io_netty_incubator_channel_uring_Native_createFile(JNIEnv *env, jclass class, jstring filename) {
return netty_create_file(env, class, filename);
}

JNIEXPORT jobjectArray Java_io_netty_incubator_channel_uring_Native_ioUringSetup(JNIEnv *env, jclass clazz, jint entries) {
return netty_io_uring_setup(env, clazz, entries);
}

JNIEXPORT jint Java_io_netty_incubator_channel_uring_Native_ioUringEnter(JNIEnv *env, jclass class1, jint ring_fd, jint to_submit,
jint min_complete, jint flags) {
return netty_io_uring_enter(env, class1, ring_fd, to_submit, min_complete, flags);
}

JNIEXPORT void Java_io_netty_incubator_channel_uring_Native_ioUringExit(JNIEnv *env, jclass clazz,
jlong submissionQueueArrayAddress, jint submissionQueueRingEntries, jlong submissionQueueRingAddress, jint submissionQueueRingSize,
jlong completionQueueRingAddress, jint completionQueueRingSize, jint ringFd) {
netty_io_uring_ring_buffer_exit(
env, clazz,
submissionQueueArrayAddress, submissionQueueRingEntries, submissionQueueRingAddress, submissionQueueRingSize,
completionQueueRingAddress, completionQueueRingSize, ringFd);
}

JNIEXPORT void Java_io_netty_incubator_channel_uring_Native_eventFdWrite(JNIEnv* env, jclass clazz, jint fd, jlong value) {
netty_io_uring_eventFdWrite(env, clazz, fd, value);
}

JNIEXPORT jint Java_io_netty_incubator_channel_uring_Native_blockingEventFd(JNIEnv* env, jclass clazz) {
return netty_epoll_native_blocking_event_fd(env, clazz);
}

//

JNIEXPORT jint Java_io_netty_incubator_channel_uring_NativeStaticallyReferencedJniMethods_sockNonblock(JNIEnv* env, jclass clazz) {
return netty_io_uring_sockNonblock(env, clazz);
}
Expand Down Expand Up @@ -931,8 +967,6 @@ JNIEXPORT jbyte Java_io_netty_incubator_channel_uring_NativeStaticallyReferenced
return netty_io_uring_ioringOpClose(env, clazz);
}

//

JNIEXPORT jbyte Java_io_netty_incubator_channel_uring_NativeStaticallyReferencedJniMethods_ioringOpSendmsg(JNIEnv* env, jclass clazz) {
return netty_io_uring_ioringOpSendmsg(env, clazz);
}
Expand Down
1 change: 1 addition & 0 deletions packages/cli/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -1171,6 +1171,7 @@ val darwinReleaseArgs = darwinOnlyArgs.toList()
val linuxOnlyArgs = defaultPlatformArgs.plus(
listOf(
"-H:NativeLinkerOption=-lm",
"-H:NativeLinkerOption=-lstdc++",
"-H:+StaticExecutableWithDynamicLibC",
"--initialize-at-run-time=io.netty.channel.kqueue.Native",
"--initialize-at-run-time=io.netty.channel.kqueue.Native",
Expand Down

0 comments on commit 5b8e19d

Please sign in to comment.