From e7eedd234954509f4f5ec52b2d62cbc4a1723936 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 14 Jul 2025 15:39:09 +0000 Subject: libs: begin extraction of kernel std --- libs/kstd/CMakeLists.txt | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 libs/kstd/CMakeLists.txt (limited to 'libs/kstd/CMakeLists.txt') diff --git a/libs/kstd/CMakeLists.txt b/libs/kstd/CMakeLists.txt new file mode 100644 index 0000000..06083f3 --- /dev/null +++ b/libs/kstd/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION "3.27") + +project("kstd" + LANGUAGES CXX + VERSION "1.0.0" +) + +add_library("kstd" STATIC) +add_library("libs::kstd" ALIAS "kstd") + +target_sources("kstd" PRIVATE + "src/mutex.cpp" +) + +target_sources("kstd" PUBLIC + FILE_SET HEADERS + BASE_DIRS "include" + FILES + "include/kstd/mutex.hpp" +) + +target_include_directories("kstd" PUBLIC + "include" +) -- cgit v1.2.3 From ec572bff8150e2f8cd2dc99e053c5e8c8a0b99e3 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 14 Jul 2025 16:25:00 +0000 Subject: arch: prepare interfaces --- libs/kstd/CMakeLists.txt | 7 ------- 1 file changed, 7 deletions(-) (limited to 'libs/kstd/CMakeLists.txt') diff --git a/libs/kstd/CMakeLists.txt b/libs/kstd/CMakeLists.txt index 06083f3..a29fac8 100644 --- a/libs/kstd/CMakeLists.txt +++ b/libs/kstd/CMakeLists.txt @@ -1,10 +1,3 @@ -cmake_minimum_required(VERSION "3.27") - -project("kstd" - LANGUAGES CXX - VERSION "1.0.0" -) - add_library("kstd" STATIC) add_library("libs::kstd" ALIAS "kstd") -- cgit v1.2.3 From 833738f7023324172dbb0922fe1be9ad9cc88330 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 14 Jul 2025 20:35:38 +0000 Subject: libs: rename kstd headers to be more STL like --- libs/kstd/CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'libs/kstd/CMakeLists.txt') diff --git a/libs/kstd/CMakeLists.txt b/libs/kstd/CMakeLists.txt index a29fac8..b0abaaf 100644 --- a/libs/kstd/CMakeLists.txt +++ b/libs/kstd/CMakeLists.txt @@ -9,7 +9,14 @@ target_sources("kstd" PUBLIC FILE_SET HEADERS BASE_DIRS "include" FILES - "include/kstd/mutex.hpp" + "include/kstd/bits/os.hpp" + "include/kstd/bits/shared_ptr.hpp" + "include/kstd/bits/unique_ptr.hpp" + + "include/kstd/memory" + "include/kstd/mutex" + "include/kstd/stack" + "include/kstd/vector" ) target_include_directories("kstd" PUBLIC -- cgit v1.2.3 From e97e86d169849527190cef1913efdd247e6f68df Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 23 Jul 2025 13:21:32 +0000 Subject: libs: move asm_ptr to kstd --- libs/kstd/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'libs/kstd/CMakeLists.txt') diff --git a/libs/kstd/CMakeLists.txt b/libs/kstd/CMakeLists.txt index b0abaaf..ac9e78f 100644 --- a/libs/kstd/CMakeLists.txt +++ b/libs/kstd/CMakeLists.txt @@ -13,6 +13,7 @@ target_sources("kstd" PUBLIC "include/kstd/bits/shared_ptr.hpp" "include/kstd/bits/unique_ptr.hpp" + "include/kstd/asm_ptr" "include/kstd/memory" "include/kstd/mutex" "include/kstd/stack" -- cgit v1.2.3 From 12dedc7e2e51390fdf2caec3700e75db19be1cd4 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Tue, 28 Oct 2025 18:31:39 +0100 Subject: kstd: don't rely on newlib --- libs/kstd/CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'libs/kstd/CMakeLists.txt') diff --git a/libs/kstd/CMakeLists.txt b/libs/kstd/CMakeLists.txt index ac9e78f..666a5d7 100644 --- a/libs/kstd/CMakeLists.txt +++ b/libs/kstd/CMakeLists.txt @@ -2,6 +2,9 @@ add_library("kstd" STATIC) add_library("libs::kstd" ALIAS "kstd") target_sources("kstd" PRIVATE + "src/bits/os.cpp" + "src/cstdlib.cpp" + "src/cstring.cpp" "src/mutex.cpp" ) @@ -23,3 +26,8 @@ target_sources("kstd" PUBLIC target_include_directories("kstd" PUBLIC "include" ) + +target_link_options("kstd" INTERFACE + "-Wl,--undefined=abort" + "-Wl,--undefined=strlen" +) \ No newline at end of file -- cgit v1.2.3 From acabbacdee68ad80e829bda56ae5363d04646d2d Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 29 Oct 2025 10:39:30 +0100 Subject: kstd: clean up libc implementation --- libs/kstd/CMakeLists.txt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'libs/kstd/CMakeLists.txt') diff --git a/libs/kstd/CMakeLists.txt b/libs/kstd/CMakeLists.txt index 666a5d7..75c2315 100644 --- a/libs/kstd/CMakeLists.txt +++ b/libs/kstd/CMakeLists.txt @@ -1,10 +1,15 @@ add_library("kstd" STATIC) add_library("libs::kstd" ALIAS "kstd") +set(KSTD_LIBC_SYMBOLS + "abort" + "strlen" +) + target_sources("kstd" PRIVATE "src/bits/os.cpp" - "src/cstdlib.cpp" - "src/cstring.cpp" + "src/libc/stdlib.cpp" + "src/libc/string.cpp" "src/mutex.cpp" ) @@ -27,7 +32,6 @@ target_include_directories("kstd" PUBLIC "include" ) -target_link_options("kstd" INTERFACE - "-Wl,--undefined=abort" - "-Wl,--undefined=strlen" -) \ No newline at end of file +list(TRANSFORM KSTD_LIBC_SYMBOLS PREPEND "-Wl,--undefined=") + +target_link_options("kstd" INTERFACE ${KSTD_LIBC_SYMBOLS}) \ No newline at end of file -- cgit v1.2.3 From fc6d44be383213b7609b5e3c4778e235fb6b00c3 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 5 Dec 2025 18:48:44 +0100 Subject: kstd: implement memcmp --- libs/kstd/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'libs/kstd/CMakeLists.txt') diff --git a/libs/kstd/CMakeLists.txt b/libs/kstd/CMakeLists.txt index 75c2315..e0c551c 100644 --- a/libs/kstd/CMakeLists.txt +++ b/libs/kstd/CMakeLists.txt @@ -4,6 +4,7 @@ add_library("libs::kstd" ALIAS "kstd") set(KSTD_LIBC_SYMBOLS "abort" "strlen" + "memcmp" ) target_sources("kstd" PRIVATE -- cgit v1.2.3 From f0c5ac3c8222d4d89b8e2d2a726427a7ec64e538 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 10 Dec 2025 17:20:14 +0100 Subject: kstd: extract bitwise enum operations --- libs/kstd/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libs/kstd/CMakeLists.txt') diff --git a/libs/kstd/CMakeLists.txt b/libs/kstd/CMakeLists.txt index e0c551c..d83e704 100644 --- a/libs/kstd/CMakeLists.txt +++ b/libs/kstd/CMakeLists.txt @@ -22,6 +22,8 @@ target_sources("kstd" PUBLIC "include/kstd/bits/shared_ptr.hpp" "include/kstd/bits/unique_ptr.hpp" + "include/kstd/ext/bitfield_enum" + "include/kstd/asm_ptr" "include/kstd/memory" "include/kstd/mutex" -- cgit v1.2.3