diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-04 12:36:11 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-04 12:36:11 +0100 |
| commit | 14ed88e58517890f5cce1bb9ab5cfb9e94bcfbf6 (patch) | |
| tree | 0c3ba10c814187c8ea0891385d210b083dcbb1d8 | |
| parent | be042137e28b8baf4a3f703cb0a58f080b1ca642 (diff) | |
chore: Breaking API changes and work in progress examples for NeCTI SDK.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
35 files changed, 100 insertions, 93 deletions
diff --git a/src/CompilerKit/AE.h b/src/CompilerKit/AE.h index a856689..4692d04 100644 --- a/src/CompilerKit/AE.h +++ b/src/CompilerKit/AE.h @@ -10,7 +10,7 @@ #ifndef _NECTI_AE_H_ #define _NECTI_AE_H_ -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <fstream> #define kAEIdentVersion (0x0122) diff --git a/src/CompilerKit/CodeGenerator.h b/src/CompilerKit/CodeGenerator.h index f3f71d0..836d588 100644 --- a/src/CompilerKit/CodeGenerator.h +++ b/src/CompilerKit/CodeGenerator.h @@ -6,7 +6,7 @@ #pragma once -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <CompilerKit/Macros.h> #include <CompilerKit/StringKit.h> #include <cstring> diff --git a/src/CompilerKit/ErrorID.h b/src/CompilerKit/ErrorID.h index 1b1e8e8..5781842 100644 --- a/src/CompilerKit/ErrorID.h +++ b/src/CompilerKit/ErrorID.h @@ -9,7 +9,7 @@ #pragma once -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> /// =========================================================== /// /// @file ErrorID.h diff --git a/src/CompilerKit/ErrorOr.h b/src/CompilerKit/ErrorOr.h index 9ab86fb..3a8f160 100644 --- a/src/CompilerKit/ErrorOr.h +++ b/src/CompilerKit/ErrorOr.h @@ -15,7 +15,7 @@ /// @brief ErrorOr for CompilerKit. /// =========================================================== /// -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <CompilerKit/ErrorID.h> #include <CompilerKit/Ref.h> diff --git a/src/CompilerKit/PEF.h b/src/CompilerKit/PEF.h index ad47efd..68a4f9a 100644 --- a/src/CompilerKit/PEF.h +++ b/src/CompilerKit/PEF.h @@ -6,7 +6,7 @@ #pragma once -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <fstream> // @file PEF.h diff --git a/src/CompilerKit/Ref.h b/src/CompilerKit/Ref.h index 58e5ffd..f66e8c1 100644 --- a/src/CompilerKit/Ref.h +++ b/src/CompilerKit/Ref.h @@ -10,7 +10,7 @@ #pragma once -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> namespace CompilerKit { /// @author Amlal El Mahrouss diff --git a/src/CompilerKit/StringKit.h b/src/CompilerKit/StringKit.h index 253c6ce..251ab4e 100644 --- a/src/CompilerKit/StringKit.h +++ b/src/CompilerKit/StringKit.h @@ -10,7 +10,7 @@ #ifndef __NECTI_STRINGKIT__ #define __NECTI_STRINGKIT__ -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <CompilerKit/ErrorOr.h> #include <cstring> diff --git a/src/CompilerKit/XCOFF.h b/src/CompilerKit/XCOFF.h index e9c1f2e..64828b9 100644 --- a/src/CompilerKit/XCOFF.h +++ b/src/CompilerKit/XCOFF.h @@ -14,7 +14,7 @@ #ifndef _NECTI_XCOFF_H_ #define _NECTI_XCOFF_H_ -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #define kXCOFF64Magic 0x01F7 diff --git a/src/CompilerKit/detail/Config.h b/src/CompilerKit/detail/Config.h new file mode 100644 index 0000000..1b2d2ae --- /dev/null +++ b/src/CompilerKit/detail/Config.h @@ -0,0 +1,65 @@ +/* ======================================== + + Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under the Apache 2.0 license + +======================================== */ + +#pragma once + +/// =========================================================== /// +/// @file detail/Config.h +/// @author Amlal El Mahrouss +/// @brief Basic defines and types for CompilerKit. +/// =========================================================== /// + +#include <CompilerKit/detail/PreConfig.h> + +namespace CompilerKit { +inline constexpr int kBaseYear = 1900; + +typedef std::string STLString; + +inline STLString current_date() noexcept { + auto time_data = time(nullptr); + auto time_struct = gmtime(&time_data); + + STLString fmt = std::to_string(kBaseYear + time_struct->tm_year); + + fmt += "-"; + fmt += std::to_string(time_struct->tm_mon + 1); + fmt += "-"; + fmt += std::to_string(time_struct->tm_mday); + + return fmt; +} + +inline bool to_str(Char* str, Int32 limit, Int32 base) noexcept { + if (limit == 0) return false; + + Int32 copy_limit = limit; + Int32 cnt = 0; + Int32 ret = base; + + while (limit != 1) { + ret = ret % 10; + str[cnt] = ret; + + ++cnt; + --limit; + --ret; + } + + str[copy_limit] = '\0'; + return true; +} + +inline bool install_signal(Int32 signal, void (*handler)(int)) noexcept { + if (handler == nullptr) return false; + + if (::signal(signal, handler) == SIG_ERR) { + return false; + } + + return true; +} +} // namespace CompilerKit diff --git a/src/CompilerKit/Config.h b/src/CompilerKit/detail/PreConfig.h index 691d51c..6742c53 100644 --- a/src/CompilerKit/Config.h +++ b/src/CompilerKit/detail/PreConfig.h @@ -4,14 +4,7 @@ ======================================== */ -#ifndef __NECTI_DEFINES_H__ -#define __NECTI_DEFINES_H__ - -/// =========================================================== /// -/// @file Config.h -/// @author Amlal El Mahrouss -/// @brief Basic defines and types for CompilerKit. -/// =========================================================== /// +#pragma once #ifndef Yes #define Yes true @@ -125,54 +118,3 @@ #define CK_IMPORT_C extern "C" #define CK_IMPORT extern -namespace CompilerKit { -inline constexpr int kBaseYear = 1900; - -typedef std::string STLString; - -inline STLString current_date() noexcept { - auto time_data = time(nullptr); - auto time_struct = gmtime(&time_data); - - STLString fmt = std::to_string(kBaseYear + time_struct->tm_year); - - fmt += "-"; - fmt += std::to_string(time_struct->tm_mon + 1); - fmt += "-"; - fmt += std::to_string(time_struct->tm_mday); - - return fmt; -} - -inline bool to_str(Char* str, Int32 limit, Int32 base) noexcept { - if (limit == 0) return false; - - Int32 copy_limit = limit; - Int32 cnt = 0; - Int32 ret = base; - - while (limit != 1) { - ret = ret % 10; - str[cnt] = ret; - - ++cnt; - --limit; - --ret; - } - - str[copy_limit] = '\0'; - return true; -} - -inline bool install_signal(Int32 signal, void (*handler)(int)) noexcept { - if (handler == nullptr) return false; - - if (::signal(signal, handler) == SIG_ERR) { - return false; - } - - return true; -} -} // namespace CompilerKit - -#endif /* ifndef __NECTI_DEFINES_H__ */ diff --git a/src/CompilerKit/impl/32x0.h b/src/CompilerKit/impl/32x0.h index f55e4a6..625e09e 100644 --- a/src/CompilerKit/impl/32x0.h +++ b/src/CompilerKit/impl/32x0.h @@ -6,7 +6,7 @@ #pragma once -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <vector> // @brief Open32x0 support. diff --git a/src/CompilerKit/impl/64x0.h b/src/CompilerKit/impl/64x0.h index cc521f1..ea16bca 100644 --- a/src/CompilerKit/impl/64x0.h +++ b/src/CompilerKit/impl/64x0.h @@ -6,7 +6,7 @@ #pragma once -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <vector> // @brief Open64x0 support. diff --git a/src/CompilerKit/impl/Aarch64.h b/src/CompilerKit/impl/Aarch64.h index be052c0..d2eb197 100644 --- a/src/CompilerKit/impl/Aarch64.h +++ b/src/CompilerKit/impl/Aarch64.h @@ -6,7 +6,7 @@ Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under the Apache 2.0 license #pragma once -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <stdint.h> /// @brief ARM64 encoding support. diff --git a/src/CompilerKit/impl/X64.h b/src/CompilerKit/impl/X64.h index f97812d..deba1b3 100644 --- a/src/CompilerKit/impl/X64.h +++ b/src/CompilerKit/impl/X64.h @@ -6,7 +6,7 @@ #pragma once -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <vector> // @brief AMD64 support. diff --git a/src/CompilerKit/src/Backend/AssemblerARM64.cc b/src/CompilerKit/src/Backend/AssemblerARM64.cc index bad841b..78cba1c 100644 --- a/src/CompilerKit/src/Backend/AssemblerARM64.cc +++ b/src/CompilerKit/src/Backend/AssemblerARM64.cc @@ -21,7 +21,7 @@ #include <CompilerKit/AE.h> #include <CompilerKit/AST.h> -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <CompilerKit/ErrorID.h> #include <CompilerKit/PEF.h> #include <CompilerKit/impl/Aarch64.h> diff --git a/src/CompilerKit/src/Backend/AssemblerPowerPC.cc b/src/CompilerKit/src/Backend/AssemblerPowerPC.cc index 71b41be..0ad59d2 100644 --- a/src/CompilerKit/src/Backend/AssemblerPowerPC.cc +++ b/src/CompilerKit/src/Backend/AssemblerPowerPC.cc @@ -21,7 +21,7 @@ #include <CompilerKit/AE.h> #include <CompilerKit/AST.h> -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <CompilerKit/ErrorID.h> #include <CompilerKit/PEF.h> #include <CompilerKit/impl/PowerPC.h> diff --git a/src/CompilerKit/src/Frontend/CCompiler64x0.cc b/src/CompilerKit/src/Frontend/CCompiler64x0.cc index 45306d7..8cceb37 100644 --- a/src/CompilerKit/src/Frontend/CCompiler64x0.cc +++ b/src/CompilerKit/src/Frontend/CCompiler64x0.cc @@ -1185,7 +1185,7 @@ class AssemblyCCInterface final CK_ASSEMBLY_INTERFACE { ///////////////////////////////////////////////////////////////////////////////////////// -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #define kPrintF printf #define kSplashCxx() kPrintF(kWhite "NeCTI C Driver, %s, (c) Amlal El Mahrouss\n", kDistVersion) diff --git a/src/CompilerKit/src/Frontend/CCompilerARM64.cc b/src/CompilerKit/src/Frontend/CCompilerARM64.cc index b519193..ffee4a8 100644 --- a/src/CompilerKit/src/Frontend/CCompilerARM64.cc +++ b/src/CompilerKit/src/Frontend/CCompilerARM64.cc @@ -1184,7 +1184,7 @@ class AssemblyCCInterface final CK_ASSEMBLY_INTERFACE { ///////////////////////////////////////////////////////////////////////////////////////// -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #define kPrintF printf #define kSplashCxx() kPrintF(kWhite "NeCTI C Driver, %s, (c) Amlal El Mahrouss\n", kDistVersion) diff --git a/src/CompilerKit/src/Frontend/CCompilerPower64.cc b/src/CompilerKit/src/Frontend/CCompilerPower64.cc index f67040d..cee3cd2 100644 --- a/src/CompilerKit/src/Frontend/CCompilerPower64.cc +++ b/src/CompilerKit/src/Frontend/CCompilerPower64.cc @@ -1202,7 +1202,7 @@ class AssemblyMountpointCLang final CK_ASSEMBLY_INTERFACE { ///////////////////////////////////////////////////////////////////////////////////////// -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #define kPrintF printf #define kSplashCxx() kPrintF(kWhite "cc, %s, (c) Amlal El Mahrouss\n", kDistVersion) diff --git a/src/CompilerKit/src/Linker/DynamicLinker64PEF.cc b/src/CompilerKit/src/Linker/DynamicLinker64PEF.cc index 7d3cfee..b5e21f1 100644 --- a/src/CompilerKit/src/Linker/DynamicLinker64PEF.cc +++ b/src/CompilerKit/src/Linker/DynamicLinker64PEF.cc @@ -15,7 +15,7 @@ #include <CompilerKit/AE.h> #include <CompilerKit/CodeGenerator.h> -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <CompilerKit/ErrorID.h> #include <CompilerKit/PEF.h> #include <CompilerKit/UUID.h> diff --git a/src/CompilerKit/utils/CompilerUtils.h b/src/CompilerKit/utils/CompilerUtils.h index 1494250..ebde2b9 100644 --- a/src/CompilerKit/utils/CompilerUtils.h +++ b/src/CompilerKit/utils/CompilerUtils.h @@ -8,7 +8,7 @@ #include <CompilerKit/AST.h> #include <CompilerKit/CodeGenerator.h> -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <CompilerKit/ErrorID.h> #include <ThirdParty/Dialogs.h> #include <iostream> diff --git a/src/CompilerKit/utils/DylibHelpers.h b/src/CompilerKit/utils/DylibHelpers.h index ca7af38..6b03823 100644 --- a/src/CompilerKit/utils/DylibHelpers.h +++ b/src/CompilerKit/utils/DylibHelpers.h @@ -6,7 +6,7 @@ #pragma once -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <dlfcn.h> #include <mutex> diff --git a/src/DebuggerKit/DebuggerContract.h b/src/DebuggerKit/DebuggerContract.h index 4585790..e727b3b 100644 --- a/src/DebuggerKit/DebuggerContract.h +++ b/src/DebuggerKit/DebuggerContract.h @@ -6,7 +6,7 @@ #pragma once -#include <DebuggerKit/Config.h> +#include <DebuggerKit/detail/Config.h> #include <unordered_map> #define DK_DEBUGGER_CONTRACT : public ::DebuggerKit::IDebuggerContract diff --git a/src/DebuggerKit/NeKernelContract.h b/src/DebuggerKit/NeKernelContract.h index f1e294d..bbcc061 100644 --- a/src/DebuggerKit/NeKernelContract.h +++ b/src/DebuggerKit/NeKernelContract.h @@ -12,7 +12,7 @@ #ifdef DK_NEKERNEL_DEBUGGER -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <DebuggerKit/DebuggerContract.h> namespace DebuggerKit::NeKernel { diff --git a/src/DebuggerKit/Config.h b/src/DebuggerKit/detail/Config.h index 863567f..5d6d26b 100644 --- a/src/DebuggerKit/Config.h +++ b/src/DebuggerKit/detail/Config.h @@ -10,7 +10,7 @@ /// @author Amlal El Mahrouss /// =========================================================== /// -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <arpa/inet.h> #include <sys/socket.h> diff --git a/src/DebuggerKit/src/NeKernelContract.cc b/src/DebuggerKit/src/NeKernelContract.cc index 6cc6307..383056c 100644 --- a/src/DebuggerKit/src/NeKernelContract.cc +++ b/src/DebuggerKit/src/NeKernelContract.cc @@ -9,8 +9,8 @@ /// @author Amlal El Mahrouss /// @brief Kernel Debugger Protocol -#include <CompilerKit/Config.h> -#include <DebuggerKit/Config.h> +#include <CompilerKit/detail/Config.h> +#include <DebuggerKit/detail/Config.h> #include <DebuggerKit/NeKernelContract.h> #include <ThirdParty/Dialogs.h> diff --git a/src/DebuggerKit/src/NeKernelContractCLI.cc b/src/DebuggerKit/src/NeKernelContractCLI.cc index 7b33c78..467676c 100644 --- a/src/DebuggerKit/src/NeKernelContractCLI.cc +++ b/src/DebuggerKit/src/NeKernelContractCLI.cc @@ -6,7 +6,7 @@ #ifdef DK_NEKERNEL_DEBUGGER -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <DebuggerKit/NeKernelContract.h> #include <ThirdParty/Dialogs.h> #include <string> diff --git a/src/DebuggerKit/src/POSIXMachContractCLI.cc b/src/DebuggerKit/src/POSIXMachContractCLI.cc index a421af4..1530a03 100644 --- a/src/DebuggerKit/src/POSIXMachContractCLI.cc +++ b/src/DebuggerKit/src/POSIXMachContractCLI.cc @@ -6,7 +6,7 @@ #ifdef DK_MACH_DEBUGGER -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <DebuggerKit/POSIXMachContract.h> #include <ThirdParty/Dialogs.h> diff --git a/src/Tools/asm.cc b/src/Tools/asm.cc index 1d53f3c..e07bc32 100644 --- a/src/Tools/asm.cc +++ b/src/Tools/asm.cc @@ -7,7 +7,7 @@ /// @file asm.cc /// @brief Assembler frontend. -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <cstring> #include <vector> diff --git a/src/Tools/cppdrv.cc b/src/Tools/cppdrv.cc index 11bd8b8..566c0c5 100644 --- a/src/Tools/cppdrv.cc +++ b/src/Tools/cppdrv.cc @@ -7,7 +7,7 @@ /// @file cxxdrv.cc /// @brief NeCTI frontend preprocessor. -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <CompilerKit/ErrorID.h> #include <cstring> #include <iostream> diff --git a/src/Tools/dbg.cc b/src/Tools/dbg.cc index b100c76..25deacb 100644 --- a/src/Tools/dbg.cc +++ b/src/Tools/dbg.cc @@ -4,7 +4,7 @@ ======================================== */ -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> /// @file dbg.cc /// @brief NeCTI debugger. diff --git a/src/Tools/kdbg.cc b/src/Tools/kdbg.cc index 1409e98..1811f56 100644 --- a/src/Tools/kdbg.cc +++ b/src/Tools/kdbg.cc @@ -4,7 +4,7 @@ ======================================== */ -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> /// @file kdbg.cc /// @brief NeKernel debugger. diff --git a/src/Tools/ld64.cc b/src/Tools/ld64.cc index 6d47028..6955870 100644 --- a/src/Tools/ld64.cc +++ b/src/Tools/ld64.cc @@ -4,7 +4,7 @@ ======================================== */ -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> /// @file ld64.cc /// @brief NeCTI linker for AE objects. diff --git a/src/Tools/pef-amd64-cxxdrv.cc b/src/Tools/pef-amd64-cxxdrv.cc index 3add3e3..7060d86 100644 --- a/src/Tools/pef-amd64-cxxdrv.cc +++ b/src/Tools/pef-amd64-cxxdrv.cc @@ -7,7 +7,7 @@ /// @file cxxdrv.cc /// @brief NeCTI C++ frontend compiler. -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <CompilerKit/ErrorID.h> #include <CompilerKit/utils/CompilerUtils.h> #include <CompilerKit/utils/DylibHelpers.h> diff --git a/src/Tools/pef-arm64-cdrv.cc b/src/Tools/pef-arm64-cdrv.cc index b2ba7a1..b7557f3 100644 --- a/src/Tools/pef-arm64-cdrv.cc +++ b/src/Tools/pef-arm64-cdrv.cc @@ -7,7 +7,7 @@ /// @file cxxdrv.cc /// @brief NeCTI C++ frontend compiler. -#include <CompilerKit/Config.h> +#include <CompilerKit/detail/Config.h> #include <CompilerKit/ErrorID.h> #include <CompilerKit/utils/CompilerUtils.h> #include <CompilerKit/utils/DylibHelpers.h> |
