From 81cfadb91ecb0570d62610317020bfde41f995e8 Mon Sep 17 00:00:00 2001 From: Amlal Date: Thu, 2 Apr 2026 12:22:49 +0200 Subject: [FEAT] Add targets for Windows NT, patch PEF.h header with current NeSystem version. [CHORE] CRK patches and exports ABI breaking changes. Signed-off-by: Amlal --- include/CompilerKit/PEF.h | 2 +- include/CoreRuntime/cplusplus/utility.hpp | 8 +++++--- include/CoreRuntime/nec/exports.hpp | 6 +++--- src/CompilerKit/ck-win64.json | 27 +++++++++++++++++++++++++++ src/DebuggerKit/dk-win64.json | 19 +++++++++++++++++++ 5 files changed, 55 insertions(+), 7 deletions(-) create mode 100644 src/CompilerKit/ck-win64.json create mode 100644 src/DebuggerKit/dk-win64.json diff --git a/include/CompilerKit/PEF.h b/include/CompilerKit/PEF.h index 875f925..8d062a4 100644 --- a/include/CompilerKit/PEF.h +++ b/include/CompilerKit/PEF.h @@ -39,7 +39,7 @@ /* @note counting the \0 at the end */ #define kPefMagicLen (5) -#define kPefVersion (0x0510) +#define kPefVersion (0x0500) #define kPefNameLen (255) #define kPefBaseOrigin (0x40000000) diff --git a/include/CoreRuntime/cplusplus/utility.hpp b/include/CoreRuntime/cplusplus/utility.hpp index a427c44..81da627 100644 --- a/include/CoreRuntime/cplusplus/utility.hpp +++ b/include/CoreRuntime/cplusplus/utility.hpp @@ -3,10 +3,11 @@ // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/ne-foss-org/nectar -#ifndef LIBCXX_UTILITY_H -#define LIBCXX_UTILITY_H +#ifndef CRK_UTILITY_HPP +#define CRK_UTILITY_HPP namespace std { + /// @brief Forward object. /// @tparam Args the object type. /// @param arg the object. @@ -24,6 +25,7 @@ template inline auto move(Args&& arg) -> Args&& { return static_cast(arg); } + } // namespace std -#endif // LIBCXX_UTILITY_H +#endif // CRK_UTILITY_HPP diff --git a/include/CoreRuntime/nec/exports.hpp b/include/CoreRuntime/nec/exports.hpp index 3fea960..7e02641 100644 --- a/include/CoreRuntime/nec/exports.hpp +++ b/include/CoreRuntime/nec/exports.hpp @@ -6,10 +6,10 @@ #pragma once -#include -#include +#include +#include /// @brief The Nectar FFI. -namespace nectar_lang { +namespace nec::abi { } diff --git a/src/CompilerKit/ck-win64.json b/src/CompilerKit/ck-win64.json new file mode 100644 index 0000000..dca9350 --- /dev/null +++ b/src/CompilerKit/ck-win64.json @@ -0,0 +1,27 @@ +{ + "compiler_path": "g++", + "compiler_std": "c++20", + "headers_path": [ + "../../include/CompilerKit", + "../../include/", + "../../include/CompilerKit/src/", + "../../include/CompilerKit/src/impl" + ], + "sources_path": [ + "src/*.cpp", + "src/*/*.cpp" + ], + "output_name": "Ne-app.CompilerKit.dll", + "compiler_flags": [ + "-fPIC", + "-shared" + ], + "cpp_macros": [ + "__NECTAR__=202602", + "CK_USE_STRUCTS=1", + "CK_WINDOWS=1", + "kDistReleaseBranch=$(git rev-parse --abbrev-ref HEAD)-$(uuidgen)" + ], + "description": "CompilerKit for Windows NT. The Compiler Kit is the framework behind Nectar." +} + diff --git a/src/DebuggerKit/dk-win64.json b/src/DebuggerKit/dk-win64.json new file mode 100644 index 0000000..d74fd29 --- /dev/null +++ b/src/DebuggerKit/dk-win64.json @@ -0,0 +1,19 @@ +{ + "compiler_path": "clang++", + "compiler_std": "c++20", + "headers_path": [ + "../../include/DebuggerKit", + "../../include" + ], + "sources_path": [ "src/*.cpp" ], + "output_name": "Ne-app.DebuggerKit.dll", + "compiler_flags": [ "-fPIC", "-shared" ], + "cpp_macros": [ + "__NECTAR__=202505", + "CK_USE_STRUCTS=1", + "DEBUGGERKIT_WINDOWS=1", + "DK_NEKERNEL_DEBUGGER=1", + "kDistReleaseBranch=$(git rev-parse --abbrev-ref HEAD)-$(uuidgen)" + ] +} + -- cgit v1.2.3