From b7948551ff078c7c459f207bac083cbab266bedc Mon Sep 17 00:00:00 2001
From: Bananymous <oskari.alaranta@bananymous.com>
Date: Mon, 2 Jun 2025 11:07:39 +0300
Subject: [PATCH] userspace: Add empty libm and libpthread

These making porting stuff easier. I could not find a way to tell CMake
that the system does not have threads library
---
 userspace/libraries/CMakeLists.txt            |  2 ++
 userspace/libraries/LibMath/CMakeLists.txt    | 18 ++++++++++++++++++
 userspace/libraries/LibMath/dummy.cpp         |  0
 userspace/libraries/LibPthread/CMakeLists.txt | 18 ++++++++++++++++++
 userspace/libraries/LibPthread/dummy.cpp      |  0
 5 files changed, 38 insertions(+)
 create mode 100644 userspace/libraries/LibMath/CMakeLists.txt
 create mode 100644 userspace/libraries/LibMath/dummy.cpp
 create mode 100644 userspace/libraries/LibPthread/CMakeLists.txt
 create mode 100644 userspace/libraries/LibPthread/dummy.cpp

diff --git a/userspace/libraries/CMakeLists.txt b/userspace/libraries/CMakeLists.txt
index 93c384fbbc..6f3d2762dd 100644
--- a/userspace/libraries/CMakeLists.txt
+++ b/userspace/libraries/CMakeLists.txt
@@ -5,6 +5,8 @@ set(USERSPACE_LIBRARIES
 	LibGUI
 	LibImage
 	LibInput
+	LibMath
+	LibPthread
 )
 
 foreach(library ${USERSPACE_LIBRARIES})
diff --git a/userspace/libraries/LibMath/CMakeLists.txt b/userspace/libraries/LibMath/CMakeLists.txt
new file mode 100644
index 0000000000..0fd7028166
--- /dev/null
+++ b/userspace/libraries/LibMath/CMakeLists.txt
@@ -0,0 +1,18 @@
+set(SOURCES
+	dummy.cpp
+)
+
+add_library(libmath-static STATIC ${SOURCES})
+add_library(libmath-shared SHARED ${SOURCES})
+
+target_link_options(libmath-static PRIVATE -nolibc)
+target_link_options(libmath-shared PRIVATE -nolibc)
+
+banan_link_library(libmath-static libc)
+banan_link_library(libmath-shared libc)
+
+set_target_properties(libmath-static PROPERTIES OUTPUT_NAME libm)
+set_target_properties(libmath-shared PROPERTIES OUTPUT_NAME libm)
+
+install(TARGETS libmath-static OPTIONAL)
+install(TARGETS libmath-shared OPTIONAL)
diff --git a/userspace/libraries/LibMath/dummy.cpp b/userspace/libraries/LibMath/dummy.cpp
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/userspace/libraries/LibPthread/CMakeLists.txt b/userspace/libraries/LibPthread/CMakeLists.txt
new file mode 100644
index 0000000000..a1fedfa003
--- /dev/null
+++ b/userspace/libraries/LibPthread/CMakeLists.txt
@@ -0,0 +1,18 @@
+set(SOURCES
+	dummy.cpp
+)
+
+add_library(libpthread-static STATIC ${SOURCES})
+add_library(libpthread-shared SHARED ${SOURCES})
+
+target_link_options(libpthread-static PRIVATE -nolibc)
+target_link_options(libpthread-shared PRIVATE -nolibc)
+
+banan_link_library(libpthread-static libc)
+banan_link_library(libpthread-shared libc)
+
+set_target_properties(libpthread-static PROPERTIES OUTPUT_NAME libpthread)
+set_target_properties(libpthread-shared PROPERTIES OUTPUT_NAME libpthread)
+
+install(TARGETS libpthread-static OPTIONAL)
+install(TARGETS libpthread-shared OPTIONAL)
diff --git a/userspace/libraries/LibPthread/dummy.cpp b/userspace/libraries/LibPthread/dummy.cpp
new file mode 100644
index 0000000000..e69de29bb2