summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2026-03-15 06:24:35 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2026-03-15 06:24:35 +0100
commit33a87e5cce4b8d1e64a842df8fbb2acc2f89cde8 (patch)
tree9cbc137d70a7a5c08982e377aedcbe63587e282a /src
parent9807f35671eb36a043586ac9efdd827b92bc094a (diff)
[CHORE] Add PThread library.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src')
-rw-r--r--src/libPThread/.keep0
-rw-r--r--src/libPThread/PThreadKit/.keep0
-rw-r--r--src/libPThread/PThreadKit/pthread.h14
-rw-r--r--src/libPThread/libPThread.json25
-rw-r--r--src/libPThread/src/.keep0
-rw-r--r--src/libPThread/src/PThreadHandle.cpp0
6 files changed, 39 insertions, 0 deletions
diff --git a/src/libPThread/.keep b/src/libPThread/.keep
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/libPThread/.keep
diff --git a/src/libPThread/PThreadKit/.keep b/src/libPThread/PThreadKit/.keep
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/libPThread/PThreadKit/.keep
diff --git a/src/libPThread/PThreadKit/pthread.h b/src/libPThread/PThreadKit/pthread.h
new file mode 100644
index 00000000..053885e7
--- /dev/null
+++ b/src/libPThread/PThreadKit/pthread.h
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: Apache-2.0
+// Copyright 2026, Amlal El Mahrouss (amlal@nekernel.org)
+// Licensed under the Apache License, Version 2.0 (see LICENSE file)
+// Official repository: https://github.com/ne-foss-org/nekernel
+
+#ifndef LIBPOSIX_POSIXKIT_THREAD_H
+#define LIBPOSIX_POSIXKIT_THREAD_H
+
+#include <libPOSIXWrapper/POSIXKit/unistd.h>
+
+#define PTHREAD_UNSAFE /* hint */
+#define PTHREAD_SAFE /* hint */
+
+#endif // LIBPOSIX_POSIXKIT_THREAD_H
diff --git a/src/libPThread/libPThread.json b/src/libPThread/libPThread.json
new file mode 100644
index 00000000..e5f5dbf3
--- /dev/null
+++ b/src/libPThread/libPThread.json
@@ -0,0 +1,25 @@
+{
+ "compiler_path": "x86_64-w64-mingw32-gcc",
+ "compiler_std": "c++20",
+ "headers_path": ["../", "./"],
+ "sources_path": ["src/*.cpp"],
+ "output_name": "libPThread.dll",
+ "compiler_flags": [
+ "-ffreestanding",
+ "-shared",
+ "-std=c++20",
+ "-fno-rtti",
+ "-fno-exceptions",
+ "-Wl,--subsystem=17"
+ ],
+ "cpp_macros": [
+ "__NEOSKRNL__",
+ "_XOPEN_SOURCE",
+ "_POSIX_SOURCE",
+ "kPosixVersionHighest=0x0100",
+ "kPosixVersionLowest=0x0100",
+ "kPosixVersion=0x0100"
+ ],
+ "description": "The NeKernel PThread System."
+}
+i
diff --git a/src/libPThread/src/.keep b/src/libPThread/src/.keep
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/libPThread/src/.keep
diff --git a/src/libPThread/src/PThreadHandle.cpp b/src/libPThread/src/PThreadHandle.cpp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/libPThread/src/PThreadHandle.cpp