summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-12 15:07:17 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-12 15:07:17 +0200
commit226fc23bc6f653deae3a1958135b74e2b6e2a332 (patch)
tree2e3eb522c6af48db44cf173105295790faebbf4b
parent016b117159eafa0d90b43e5757617ac4147b45db (diff)
[refactor] refactor source code and working on dll wrapper (cl, link,
masm...). Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
-rw-r--r--.vscode/c_cpp_properties.json4
-rw-r--r--NDKKit/Output/.gitkeep0
-rw-r--r--ReadMe.md4
-rw-r--r--Tools/Linker.cxx6
-rw-r--r--Tools/link.json10
-rw-r--r--build.json6
-rw-r--r--doc/ASM specs.txt (renamed from Notes/ASM specs.txt)0
-rw-r--r--doc/HAVP DSP.txt (renamed from Notes/HAVP DSP.txt)0
-rw-r--r--doc/Inside 64x0.pdf (renamed from Notes/Inside 64x0.pdf)bin64675 -> 64675 bytes
-rw-r--r--doc/Notice.txt (renamed from Notes/Notice.txt)0
-rw-r--r--doc/RISC CPU.txt (renamed from Notes/RISC CPU.txt)0
-rw-r--r--ndkdll/AsmKit/AsmKit.hxx (renamed from NDKKit/AsmKit/AsmKit.hxx)6
-rw-r--r--ndkdll/AsmKit/CPU/32x0.hxx (renamed from NDKKit/AsmKit/CPU/32x0.hxx)2
-rw-r--r--ndkdll/AsmKit/CPU/64x0.hxx (renamed from NDKKit/AsmKit/CPU/64x0.hxx)2
-rw-r--r--ndkdll/AsmKit/CPU/amd64.hxx (renamed from NDKKit/AsmKit/CPU/amd64.hxx)2
-rw-r--r--ndkdll/AsmKit/CPU/arm64.hxx (renamed from NDKKit/AsmKit/CPU/arm64.hxx)2
-rw-r--r--ndkdll/AsmKit/CPU/ppc.hxx (renamed from NDKKit/AsmKit/CPU/ppc.hxx)0
-rw-r--r--ndkdll/Defines.hxx (renamed from NDKKit/Defines.hxx)0
-rw-r--r--ndkdll/Macros.hxx (renamed from NDKKit/Macros.hxx)0
-rw-r--r--ndkdll/NFC/AE.hxx (renamed from NDKKit/NFC/AE.hxx)2
-rw-r--r--ndkdll/NFC/ELF.hxx (renamed from NDKKit/NFC/ELF.hxx)0
-rw-r--r--ndkdll/NFC/ErrorID.hxx (renamed from NDKKit/NFC/ErrorID.hxx)4
-rw-r--r--ndkdll/NFC/ErrorOr.hxx (renamed from NDKKit/NFC/ErrorOr.hxx)4
-rw-r--r--ndkdll/NFC/PEF.hxx (renamed from NDKKit/NFC/PEF.hxx)2
-rw-r--r--ndkdll/NFC/Ref.hxx (renamed from NDKKit/NFC/Ref.hxx)0
-rw-r--r--ndkdll/NFC/String.hxx (renamed from NDKKit/NFC/String.hxx)4
-rw-r--r--ndkdll/NFC/XCOFF.hxx (renamed from NDKKit/NFC/XCOFF.hxx)2
-rw-r--r--ndkdll/Parser.hxx (renamed from NDKKit/Parser.hxx)2
-rw-r--r--ndkdll/Private/Imaging/TPM.hxx (renamed from NDKKit/Private/Imaging/TPM.hxx)0
-rw-r--r--ndkdll/Public/SDK/CRT/__mpcc_alloca.hxx (renamed from NDKKit/Public/SDK/CRT/__mpcc_alloca.hxx)0
-rw-r--r--ndkdll/Public/SDK/CRT/__mpcc_defines.hxx (renamed from NDKKit/Public/SDK/CRT/__mpcc_defines.hxx)0
-rw-r--r--ndkdll/Public/SDK/CRT/__mpcc_exception.hxx (renamed from NDKKit/Public/SDK/CRT/__mpcc_exception.hxx)0
-rw-r--r--ndkdll/Public/SDK/CRT/__mpcc_hint.hxx (renamed from NDKKit/Public/SDK/CRT/__mpcc_hint.hxx)0
-rw-r--r--ndkdll/Public/SDK/CRT/__mpcc_malloc.hxx (renamed from NDKKit/Public/SDK/CRT/__mpcc_malloc.hxx)0
-rw-r--r--ndkdll/Public/SDK/CRT/__mpcc_power.inc (renamed from NDKKit/Public/SDK/CRT/__mpcc_power.inc)0
-rw-r--r--ndkdll/Sources/Assembler32x0.cxx (renamed from NDKKit/Sources/Assembler32x0.cxx)8
-rw-r--r--ndkdll/Sources/Assembler64x0.cxx (renamed from NDKKit/Sources/Assembler64x0.cxx)8
-rw-r--r--ndkdll/Sources/AssemblerAMD64.cxx (renamed from NDKKit/Sources/AssemblerAMD64.cxx)8
-rw-r--r--ndkdll/Sources/AssemblerPower.cxx (renamed from NDKKit/Sources/AssemblerPower.cxx)12
-rw-r--r--ndkdll/Sources/AssemblyFactory.cxx (renamed from NDKKit/Sources/AssemblyFactory.cxx)4
-rw-r--r--ndkdll/Sources/BasicPreProcessor.cxx (renamed from NDKKit/Sources/BasicPreProcessor.cxx)4
-rw-r--r--ndkdll/Sources/CCompiler64x0.cxx (renamed from NDKKit/Sources/CCompiler64x0.cxx)6
-rw-r--r--ndkdll/Sources/CCompilerPower64.cxx (renamed from NDKKit/Sources/CCompilerPower64.cxx)6
-rw-r--r--ndkdll/Sources/CPlusPlusCompilerAMD64.cxx (renamed from NDKKit/Sources/CPlusPlusCompilerAMD64.cxx)4
-rw-r--r--ndkdll/Sources/Detail/ReadMe.md (renamed from NDKKit/Sources/Detail/ReadMe.md)0
-rw-r--r--ndkdll/Sources/Detail/asmutils.hxx (renamed from NDKKit/Sources/Detail/asmutils.hxx)4
-rw-r--r--ndkdll/Sources/Detail/compilerutils.hxx (renamed from NDKKit/Sources/Detail/compilerutils.hxx)4
-rw-r--r--ndkdll/Sources/Linker.cxx (renamed from NDKKit/Sources/Linker.cxx)12
-rw-r--r--ndkdll/Sources/String.cxx (renamed from NDKKit/Sources/String.cxx)2
-rw-r--r--ndkdll/Sources/compile_flags.txt (renamed from NDKKit/Sources/compile_flags.txt)0
-rw-r--r--ndkdll/UUID.hxx (renamed from NDKKit/UUID.hxx)0
-rw-r--r--ndkdll/Version.hxx (renamed from NDKKit/Version.hxx)0
-rw-r--r--tests/example.cxx5
-rw-r--r--tools/cl.cxx55
-rw-r--r--tools/cl.json10
-rw-r--r--tools/link.cxx20
-rw-r--r--tools/link.json10
57 files changed, 165 insertions, 81 deletions
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index cd1cb3d..a708ead 100644
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -3,7 +3,7 @@
{
"name": "Macintosh (CLang)",
"includePath": [
- "${workspaceFolder}/NDKKit/**",
+ "${workspaceFolder}/ndkdll/**",
"${workspaceFolder}/Sources/Detail/**",
"${workspaceFolder}/**"
],
@@ -16,7 +16,7 @@
{
"name": "Windows (Cygwin)",
"includePath": [
- "${workspaceFolder}/NDKKit/**",
+ "${workspaceFolder}/ndkdll/**",
"${workspaceFolder}/Sources/Detail/**",
"${workspaceFolder}/**"
],
diff --git a/NDKKit/Output/.gitkeep b/NDKKit/Output/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/NDKKit/Output/.gitkeep
+++ /dev/null
diff --git a/ReadMe.md b/ReadMe.md
index d635316..b2d3f59 100644
--- a/ReadMe.md
+++ b/ReadMe.md
@@ -1,8 +1,8 @@
-# NDKKit, C++ SDK for ZKA.
+# NDK, C++ SDK for New OS.
## Installing:
-Start by cloning the repo.
+Start by cloning the repository.
```
git clone git@bitbucket.org:mahrouss/sdk-dll.git
diff --git a/Tools/Linker.cxx b/Tools/Linker.cxx
deleted file mode 100644
index d7eb90c..0000000
--- a/Tools/Linker.cxx
+++ /dev/null
@@ -1,6 +0,0 @@
-extern "C" int NewOSLinker(int argc, char const* argv[]);
-
-int main(int argc, char const *argv[])
-{
- return NewOSLinker(argc, argv);
-}
diff --git a/Tools/link.json b/Tools/link.json
deleted file mode 100644
index 98e55a7..0000000
--- a/Tools/link.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "compiler_path": "x86_64-w64-mingw32-g++.exe",
- "compiler_std": "c++20",
- "headers_path": ["../NDKKit", "../", "../NDKKit/Sources/Detail"],
- "sources_path": ["Linker.cxx"],
- "output_name": "link.exe",
- "compiler_flags": ["-L../", "-lndk", "-Wl,--subsystem=17"],
- "cpp_macros": ["__LINK__=202401"]
- }
- \ No newline at end of file
diff --git a/build.json b/build.json
index 13d1672..8503360 100644
--- a/build.json
+++ b/build.json
@@ -1,10 +1,10 @@
{
"compiler_path": "x86_64-w64-mingw32-g++.exe",
"compiler_std": "c++20",
- "headers_path": ["./NDKKit", "./", "./NDKKit/Sources/Detail"],
- "sources_path": ["NDKKit/Sources/*.cxx"],
+ "headers_path": ["./ndkdll", "./", "./ndkdll/Sources/Detail"],
+ "sources_path": ["ndkdll/Sources/*.cxx"],
"output_name": "ndk.dll",
- "compiler_flags": ["-fPIC", "-shared", "-fPIC", "-Wl,--subsystem=17"],
+ "compiler_flags": ["-fPIC", "-shared", "-fPIC"],
"cpp_macros": ["__NDK_DLL__=202401"]
}
\ No newline at end of file
diff --git a/Notes/ASM specs.txt b/doc/ASM specs.txt
index a0c42bf..a0c42bf 100644
--- a/Notes/ASM specs.txt
+++ b/doc/ASM specs.txt
diff --git a/Notes/HAVP DSP.txt b/doc/HAVP DSP.txt
index 12fcec5..12fcec5 100644
--- a/Notes/HAVP DSP.txt
+++ b/doc/HAVP DSP.txt
diff --git a/Notes/Inside 64x0.pdf b/doc/Inside 64x0.pdf
index bcd6782..bcd6782 100644
--- a/Notes/Inside 64x0.pdf
+++ b/doc/Inside 64x0.pdf
Binary files differ
diff --git a/Notes/Notice.txt b/doc/Notice.txt
index 23691da..23691da 100644
--- a/Notes/Notice.txt
+++ b/doc/Notice.txt
diff --git a/Notes/RISC CPU.txt b/doc/RISC CPU.txt
index e17b494..e17b494 100644
--- a/Notes/RISC CPU.txt
+++ b/doc/RISC CPU.txt
diff --git a/NDKKit/AsmKit/AsmKit.hxx b/ndkdll/AsmKit/AsmKit.hxx
index c31a52d..4c2cd78 100644
--- a/NDKKit/AsmKit/AsmKit.hxx
+++ b/ndkdll/AsmKit/AsmKit.hxx
@@ -6,9 +6,9 @@
#pragma once
-#include <NDKKit/Macros.hxx>
-#include <NDKKit/Defines.hxx>
-#include <NDKKit/NFC/String.hxx>
+#include <ndkdll/Macros.hxx>
+#include <ndkdll/Defines.hxx>
+#include <ndkdll/NFC/String.hxx>
namespace NDK
{
diff --git a/NDKKit/AsmKit/CPU/32x0.hxx b/ndkdll/AsmKit/CPU/32x0.hxx
index a24d17e..018dea9 100644
--- a/NDKKit/AsmKit/CPU/32x0.hxx
+++ b/ndkdll/AsmKit/CPU/32x0.hxx
@@ -6,7 +6,7 @@
#pragma once
-#include <NDKKit/Defines.hxx>
+#include <ndkdll/Defines.hxx>
// @brief 32x0 support.
// @file CPU/32x0.hpp
diff --git a/NDKKit/AsmKit/CPU/64x0.hxx b/ndkdll/AsmKit/CPU/64x0.hxx
index d632fcc..99a88b1 100644
--- a/NDKKit/AsmKit/CPU/64x0.hxx
+++ b/ndkdll/AsmKit/CPU/64x0.hxx
@@ -6,7 +6,7 @@
#pragma once
-#include <NDKKit/Defines.hxx>
+#include <ndkdll/Defines.hxx>
#include <vector>
// @brief 64x0 support.
diff --git a/NDKKit/AsmKit/CPU/amd64.hxx b/ndkdll/AsmKit/CPU/amd64.hxx
index f932c72..4067ec7 100644
--- a/NDKKit/AsmKit/CPU/amd64.hxx
+++ b/ndkdll/AsmKit/CPU/amd64.hxx
@@ -6,7 +6,7 @@
#pragma once
-#include <NDKKit/Defines.hxx>
+#include <ndkdll/Defines.hxx>
// @brief AMD64 support.
// @file CPU/amd64.hpp
diff --git a/NDKKit/AsmKit/CPU/arm64.hxx b/ndkdll/AsmKit/CPU/arm64.hxx
index 09de3ee..85e2f75 100644
--- a/NDKKit/AsmKit/CPU/arm64.hxx
+++ b/ndkdll/AsmKit/CPU/arm64.hxx
@@ -6,7 +6,7 @@ Copyright ZKA Technologies
#pragma once
-#include <NDKKit/Defines.hxx>
+#include <ndkdll/Defines.hxx>
/// @brief ARM64 encoding support.
/// @file CPU/arm64.hpp
diff --git a/NDKKit/AsmKit/CPU/ppc.hxx b/ndkdll/AsmKit/CPU/ppc.hxx
index e3ea6c5..e3ea6c5 100644
--- a/NDKKit/AsmKit/CPU/ppc.hxx
+++ b/ndkdll/AsmKit/CPU/ppc.hxx
diff --git a/NDKKit/Defines.hxx b/ndkdll/Defines.hxx
index 10f61c7..10f61c7 100644
--- a/NDKKit/Defines.hxx
+++ b/ndkdll/Defines.hxx
diff --git a/NDKKit/Macros.hxx b/ndkdll/Macros.hxx
index c190cda..c190cda 100644
--- a/NDKKit/Macros.hxx
+++ b/ndkdll/Macros.hxx
diff --git a/NDKKit/NFC/AE.hxx b/ndkdll/NFC/AE.hxx
index ad9b0a2..11b4600 100644
--- a/NDKKit/NFC/AE.hxx
+++ b/ndkdll/NFC/AE.hxx
@@ -9,7 +9,7 @@
#pragma once
-#include <NDKKit/Defines.hxx>
+#include <ndkdll/Defines.hxx>
#define kAEMag0 'A'
#define kAEMag1 'E'
diff --git a/NDKKit/NFC/ELF.hxx b/ndkdll/NFC/ELF.hxx
index 4f0d0ae..4f0d0ae 100644
--- a/NDKKit/NFC/ELF.hxx
+++ b/ndkdll/NFC/ELF.hxx
diff --git a/NDKKit/NFC/ErrorID.hxx b/ndkdll/NFC/ErrorID.hxx
index 17183b8..631b67f 100644
--- a/NDKKit/NFC/ErrorID.hxx
+++ b/ndkdll/NFC/ErrorID.hxx
@@ -9,8 +9,8 @@
#pragma once
-#include <NDKKit/Defines.hxx>
-#include <NDKKit/NFC/ErrorOr.hxx>
+#include <ndkdll/Defines.hxx>
+#include <ndkdll/NFC/ErrorOr.hxx>
#define MPCC_EXEC_ERROR -30
#define MPCC_FILE_NOT_FOUND -31
diff --git a/NDKKit/NFC/ErrorOr.hxx b/ndkdll/NFC/ErrorOr.hxx
index 0e734b6..f7e2803 100644
--- a/NDKKit/NFC/ErrorOr.hxx
+++ b/ndkdll/NFC/ErrorOr.hxx
@@ -9,8 +9,8 @@
#pragma once
-#include <NDKKit/Defines.hxx>
-#include <NDKKit/NFC/Ref.hxx>
+#include <ndkdll/Defines.hxx>
+#include <ndkdll/NFC/Ref.hxx>
namespace NDK
{
diff --git a/NDKKit/NFC/PEF.hxx b/ndkdll/NFC/PEF.hxx
index 455a641..bbcd5a3 100644
--- a/NDKKit/NFC/PEF.hxx
+++ b/ndkdll/NFC/PEF.hxx
@@ -6,7 +6,7 @@
#pragma once
-#include <NDKKit/Defines.hxx>
+#include <ndkdll/Defines.hxx>
// @file PEF.hpp
// @brief Preferred Executable Format
diff --git a/NDKKit/NFC/Ref.hxx b/ndkdll/NFC/Ref.hxx
index bd1d72f..bd1d72f 100644
--- a/NDKKit/NFC/Ref.hxx
+++ b/ndkdll/NFC/Ref.hxx
diff --git a/NDKKit/NFC/String.hxx b/ndkdll/NFC/String.hxx
index 2d5497a..3a9b6ff 100644
--- a/NDKKit/NFC/String.hxx
+++ b/ndkdll/NFC/String.hxx
@@ -9,8 +9,8 @@
#pragma once
-#include <NDKKit/Defines.hxx>
-#include <NDKKit/NFC/ErrorOr.hxx>
+#include <ndkdll/Defines.hxx>
+#include <ndkdll/NFC/ErrorOr.hxx>
namespace NDK
{
diff --git a/NDKKit/NFC/XCOFF.hxx b/ndkdll/NFC/XCOFF.hxx
index f2da79d..1f8797e 100644
--- a/NDKKit/NFC/XCOFF.hxx
+++ b/ndkdll/NFC/XCOFF.hxx
@@ -14,7 +14,7 @@
#ifndef __XCOFF__
#define __XCOFF__
-#include <NDKKit/Defines.hxx>
+#include <ndkdll/Defines.hxx>
#define kXCOFF64Magic 0x01F7
diff --git a/NDKKit/Parser.hxx b/ndkdll/Parser.hxx
index 51b0154..8abeae7 100644
--- a/NDKKit/Parser.hxx
+++ b/ndkdll/Parser.hxx
@@ -6,7 +6,7 @@
#pragma once
-#include <NDKKit/AsmKit/AsmKit.hxx>
+#include <ndkdll/AsmKit/AsmKit.hxx>
#include <vector>
namespace NDK
diff --git a/NDKKit/Private/Imaging/TPM.hxx b/ndkdll/Private/Imaging/TPM.hxx
index dbd90fe..dbd90fe 100644
--- a/NDKKit/Private/Imaging/TPM.hxx
+++ b/ndkdll/Private/Imaging/TPM.hxx
diff --git a/NDKKit/Public/SDK/CRT/__mpcc_alloca.hxx b/ndkdll/Public/SDK/CRT/__mpcc_alloca.hxx
index 02b3123..02b3123 100644
--- a/NDKKit/Public/SDK/CRT/__mpcc_alloca.hxx
+++ b/ndkdll/Public/SDK/CRT/__mpcc_alloca.hxx
diff --git a/NDKKit/Public/SDK/CRT/__mpcc_defines.hxx b/ndkdll/Public/SDK/CRT/__mpcc_defines.hxx
index 19ed8a4..19ed8a4 100644
--- a/NDKKit/Public/SDK/CRT/__mpcc_defines.hxx
+++ b/ndkdll/Public/SDK/CRT/__mpcc_defines.hxx
diff --git a/NDKKit/Public/SDK/CRT/__mpcc_exception.hxx b/ndkdll/Public/SDK/CRT/__mpcc_exception.hxx
index dac42ad..dac42ad 100644
--- a/NDKKit/Public/SDK/CRT/__mpcc_exception.hxx
+++ b/ndkdll/Public/SDK/CRT/__mpcc_exception.hxx
diff --git a/NDKKit/Public/SDK/CRT/__mpcc_hint.hxx b/ndkdll/Public/SDK/CRT/__mpcc_hint.hxx
index 02dbc94..02dbc94 100644
--- a/NDKKit/Public/SDK/CRT/__mpcc_hint.hxx
+++ b/ndkdll/Public/SDK/CRT/__mpcc_hint.hxx
diff --git a/NDKKit/Public/SDK/CRT/__mpcc_malloc.hxx b/ndkdll/Public/SDK/CRT/__mpcc_malloc.hxx
index eeaa67b..eeaa67b 100644
--- a/NDKKit/Public/SDK/CRT/__mpcc_malloc.hxx
+++ b/ndkdll/Public/SDK/CRT/__mpcc_malloc.hxx
diff --git a/NDKKit/Public/SDK/CRT/__mpcc_power.inc b/ndkdll/Public/SDK/CRT/__mpcc_power.inc
index 90b1364..90b1364 100644
--- a/NDKKit/Public/SDK/CRT/__mpcc_power.inc
+++ b/ndkdll/Public/SDK/CRT/__mpcc_power.inc
diff --git a/NDKKit/Sources/Assembler32x0.cxx b/ndkdll/Sources/Assembler32x0.cxx
index 4425e08..213e335 100644
--- a/NDKKit/Sources/Assembler32x0.cxx
+++ b/ndkdll/Sources/Assembler32x0.cxx
@@ -19,10 +19,10 @@
#define __ASM_NEED_32x0__ 1
-#include <NDKKit/AsmKit/CPU/32x0.hxx>
-#include <NDKKit/Parser.hxx>
-#include <NDKKit/NFC/AE.hxx>
-#include <NDKKit/NFC/PEF.hxx>
+#include <ndkdll/AsmKit/CPU/32x0.hxx>
+#include <ndkdll/Parser.hxx>
+#include <ndkdll/NFC/AE.hxx>
+#include <ndkdll/NFC/PEF.hxx>
#include <filesystem>
#include <fstream>
#include <iostream>
diff --git a/NDKKit/Sources/Assembler64x0.cxx b/ndkdll/Sources/Assembler64x0.cxx
index 2df6339..552b547 100644
--- a/NDKKit/Sources/Assembler64x0.cxx
+++ b/ndkdll/Sources/Assembler64x0.cxx
@@ -19,10 +19,10 @@
#define __ASM_NEED_64x0__ 1
-#include <NDKKit/AsmKit/CPU/64x0.hxx>
-#include <NDKKit/Parser.hxx>
-#include <NDKKit/NFC/AE.hxx>
-#include <NDKKit/NFC/PEF.hxx>
+#include <ndkdll/AsmKit/CPU/64x0.hxx>
+#include <ndkdll/Parser.hxx>
+#include <ndkdll/NFC/AE.hxx>
+#include <ndkdll/NFC/PEF.hxx>
#include <algorithm>
#include <filesystem>
#include <fstream>
diff --git a/NDKKit/Sources/AssemblerAMD64.cxx b/ndkdll/Sources/AssemblerAMD64.cxx
index b20eaaf..24686b4 100644
--- a/NDKKit/Sources/AssemblerAMD64.cxx
+++ b/ndkdll/Sources/AssemblerAMD64.cxx
@@ -27,10 +27,10 @@
#define kAssemblerPragmaSymStr "#"
#define kAssemblerPragmaSym '#'
-#include <NDKKit/AsmKit/CPU/amd64.hxx>
-#include <NDKKit/Parser.hxx>
-#include <NDKKit/NFC/AE.hxx>
-#include <NDKKit/NFC/PEF.hxx>
+#include <ndkdll/AsmKit/CPU/amd64.hxx>
+#include <ndkdll/Parser.hxx>
+#include <ndkdll/NFC/AE.hxx>
+#include <ndkdll/NFC/PEF.hxx>
#include <algorithm>
#include <cstdlib>
#include <filesystem>
diff --git a/NDKKit/Sources/AssemblerPower.cxx b/ndkdll/Sources/AssemblerPower.cxx
index f118fc3..1d4f3d3 100644
--- a/NDKKit/Sources/AssemblerPower.cxx
+++ b/ndkdll/Sources/AssemblerPower.cxx
@@ -17,12 +17,12 @@
#define __ASM_NEED_PPC__ 1
-#include <NDKKit/NFC/ErrorID.hxx>
-#include <NDKKit/AsmKit/CPU/ppc.hxx>
-#include <NDKKit/NFC/PEF.hxx>
-#include <NDKKit/Parser.hxx>
-#include <NDKKit/NFC/AE.hxx>
-#include <NDKKit/Version.hxx>
+#include <ndkdll/NFC/ErrorID.hxx>
+#include <ndkdll/AsmKit/CPU/ppc.hxx>
+#include <ndkdll/NFC/PEF.hxx>
+#include <ndkdll/Parser.hxx>
+#include <ndkdll/NFC/AE.hxx>
+#include <ndkdll/Version.hxx>
#include <filesystem>
#include <algorithm>
#include <iostream>
diff --git a/NDKKit/Sources/AssemblyFactory.cxx b/ndkdll/Sources/AssemblyFactory.cxx
index 961ca01..506652c 100644
--- a/NDKKit/Sources/AssemblyFactory.cxx
+++ b/ndkdll/Sources/AssemblyFactory.cxx
@@ -4,8 +4,8 @@
------------------------------------------- */
-#include <NDKKit/AsmKit/AsmKit.hxx>
-#include <NDKKit/NFC/ErrorID.hxx>
+#include <ndkdll/AsmKit/AsmKit.hxx>
+#include <ndkdll/NFC/ErrorID.hxx>
/**
* @file AssemblyFactory.cxx
diff --git a/NDKKit/Sources/BasicPreProcessor.cxx b/ndkdll/Sources/BasicPreProcessor.cxx
index e707387..3056f13 100644
--- a/NDKKit/Sources/BasicPreProcessor.cxx
+++ b/ndkdll/Sources/BasicPreProcessor.cxx
@@ -9,8 +9,8 @@
/// BUGS: 0
-#include <NDKKit/Parser.hxx>
-#include <NDKKit/NFC/ErrorID.hxx>
+#include <ndkdll/Parser.hxx>
+#include <ndkdll/NFC/ErrorID.hxx>
#include <algorithm>
#include <filesystem>
#include <fstream>
diff --git a/NDKKit/Sources/CCompiler64x0.cxx b/ndkdll/Sources/CCompiler64x0.cxx
index 40fae77..3a6ffd2 100644
--- a/NDKKit/Sources/CCompiler64x0.cxx
+++ b/ndkdll/Sources/CCompiler64x0.cxx
@@ -10,9 +10,9 @@
/// BUGS: 0
/// TODO: none
-#include <NDKKit/AsmKit/CPU/64x0.hxx>
-#include <NDKKit/Parser.hxx>
-#include <NDKKit/UUID.hxx>
+#include <ndkdll/AsmKit/CPU/64x0.hxx>
+#include <ndkdll/Parser.hxx>
+#include <ndkdll/UUID.hxx>
#include <filesystem>
#include <cstdio>
#include <fstream>
diff --git a/NDKKit/Sources/CCompilerPower64.cxx b/ndkdll/Sources/CCompilerPower64.cxx
index 45bdeaa..528ed8f 100644
--- a/NDKKit/Sources/CCompilerPower64.cxx
+++ b/ndkdll/Sources/CCompilerPower64.cxx
@@ -7,9 +7,9 @@
* ========================================================
*/
-#include <NDKKit/AsmKit/CPU/ppc.hxx>
-#include <NDKKit/Parser.hxx>
-#include <NDKKit/UUID.hxx>
+#include <ndkdll/AsmKit/CPU/ppc.hxx>
+#include <ndkdll/Parser.hxx>
+#include <ndkdll/UUID.hxx>
#include <filesystem>
#include <fstream>
#include <iostream>
diff --git a/NDKKit/Sources/CPlusPlusCompilerAMD64.cxx b/ndkdll/Sources/CPlusPlusCompilerAMD64.cxx
index 5036297..535a3fb 100644
--- a/NDKKit/Sources/CPlusPlusCompilerAMD64.cxx
+++ b/ndkdll/Sources/CPlusPlusCompilerAMD64.cxx
@@ -20,8 +20,8 @@
// import, @MLAutoRelease { ... }, fn foo() -> auto { ... }
-#include <NDKKit/AsmKit/CPU/amd64.hxx>
-#include <NDKKit/Parser.hxx>
+#include <ndkdll/AsmKit/CPU/amd64.hxx>
+#include <ndkdll/Parser.hxx>
#include <UUID.hxx>
#include <cctype>
diff --git a/NDKKit/Sources/Detail/ReadMe.md b/ndkdll/Sources/Detail/ReadMe.md
index e9d0a2c..e9d0a2c 100644
--- a/NDKKit/Sources/Detail/ReadMe.md
+++ b/ndkdll/Sources/Detail/ReadMe.md
diff --git a/NDKKit/Sources/Detail/asmutils.hxx b/ndkdll/Sources/Detail/asmutils.hxx
index d0a5221..2451a28 100644
--- a/NDKKit/Sources/Detail/asmutils.hxx
+++ b/ndkdll/Sources/Detail/asmutils.hxx
@@ -6,8 +6,8 @@
#pragma once
-#include <NDKKit/AsmKit/AsmKit.hxx>
-#include <NDKKit/Parser.hxx>
+#include <ndkdll/AsmKit/AsmKit.hxx>
+#include <ndkdll/Parser.hxx>
using namespace NDK;
diff --git a/NDKKit/Sources/Detail/compilerutils.hxx b/ndkdll/Sources/Detail/compilerutils.hxx
index c4674e8..ba3fb79 100644
--- a/NDKKit/Sources/Detail/compilerutils.hxx
+++ b/ndkdll/Sources/Detail/compilerutils.hxx
@@ -6,8 +6,8 @@
#pragma once
-#include <NDKKit/AsmKit/AsmKit.hxx>
-#include <NDKKit/Parser.hxx>
+#include <ndkdll/AsmKit/AsmKit.hxx>
+#include <ndkdll/Parser.hxx>
#define kZero64Section ".zero64"
#define kCode64Section ".code64"
diff --git a/NDKKit/Sources/Linker.cxx b/ndkdll/Sources/Linker.cxx
index 579672c..9243531 100644
--- a/NDKKit/Sources/Linker.cxx
+++ b/ndkdll/Sources/Linker.cxx
@@ -13,23 +13,23 @@
/// @note Do not look up for anything with .code64/.data64/.zero64!
/// It will be loaded when program will start up!
-#include <NDKKit/NFC/ErrorID.hxx>
+#include <ndkdll/NFC/ErrorID.hxx>
//! Assembler Kit
-#include <NDKKit/AsmKit/AsmKit.hxx>
+#include <ndkdll/AsmKit/AsmKit.hxx>
//! Preferred Executable Format
-#include <NDKKit/NFC/PEF.hxx>
-#include <NDKKit/UUID.hxx>
+#include <ndkdll/NFC/PEF.hxx>
+#include <ndkdll/UUID.hxx>
#include <filesystem>
#include <random>
#include <vector>
//! Dist version
-#include <NDKKit/Version.hxx>
+#include <ndkdll/Version.hxx>
//! Advanced Executable Object Format
-#include <NDKKit/NFC/AE.hxx>
+#include <ndkdll/NFC/AE.hxx>
//! C++ I/O headers.
#include <fstream>
diff --git a/NDKKit/Sources/String.cxx b/ndkdll/Sources/String.cxx
index 5153487..ccbd821 100644
--- a/NDKKit/Sources/String.cxx
+++ b/ndkdll/Sources/String.cxx
@@ -18,7 +18,7 @@
*
*/
-#include <NDKKit/NFC/String.hxx>
+#include <ndkdll/NFC/String.hxx>
namespace NDK {
CharType *StringView::Data() { return m_Data; }
diff --git a/NDKKit/Sources/compile_flags.txt b/ndkdll/Sources/compile_flags.txt
index 6ec6b8a..6ec6b8a 100644
--- a/NDKKit/Sources/compile_flags.txt
+++ b/ndkdll/Sources/compile_flags.txt
diff --git a/NDKKit/UUID.hxx b/ndkdll/UUID.hxx
index 00b153b..00b153b 100644
--- a/NDKKit/UUID.hxx
+++ b/ndkdll/UUID.hxx
diff --git a/NDKKit/Version.hxx b/ndkdll/Version.hxx
index 38fd537..38fd537 100644
--- a/NDKKit/Version.hxx
+++ b/ndkdll/Version.hxx
diff --git a/tests/example.cxx b/tests/example.cxx
new file mode 100644
index 0000000..9d3bb97
--- /dev/null
+++ b/tests/example.cxx
@@ -0,0 +1,5 @@
+int main()
+{
+ int x = 5;
+ return 0;
+}
diff --git a/tools/cl.cxx b/tools/cl.cxx
new file mode 100644
index 0000000..3933d96
--- /dev/null
+++ b/tools/cl.cxx
@@ -0,0 +1,55 @@
+/* -------------------------------------------
+
+ Copyright ZKA Technologies
+
+------------------------------------------- */
+
+/// @file Linker.cxx
+/// @brief ZKA Linker frontend for AE objects.
+
+#include <iostream>
+#include <cstring>
+#include <vector>
+
+extern "C" int CompilerCPlusPlusX8664(int argc, char const* argv[]);
+extern "C" int NewOSAssemblerAMD64(int argc, char const* argv[]);
+
+int main(int argc, char const* argv[])
+{
+ if (auto code = CompilerCPlusPlusX8664(argc, argv); code)
+ {
+ std::printf("cl.exe: frontend exited with code %i.\n", code);
+ return 1;
+ }
+ else
+ {
+ std::vector<std::string> args_list;
+
+ for (size_t index_arg = 0; index_arg < argc; ++index_arg)
+ {
+ if (strstr(argv[index_arg], ".cxx") ||
+ strstr(argv[index_arg], ".cpp") ||
+ strstr(argv[index_arg], ".cc") ||
+ strstr(argv[index_arg], ".c++") ||
+ strstr(argv[index_arg], ".C"))
+ {
+ std::string arg = argv[index_arg];
+ arg += ".S";
+ args_list.push_back(arg);
+ }
+ }
+
+ for (auto &cli : args_list)
+ {
+ const char* arr_cli[] = { argv[0], cli.data() };
+
+ if (auto code = NewOSAssemblerAMD64(2, arr_cli); code)
+ {
+ std::printf("cl.exe: assembler exited with code %i.", code);
+ }
+ }
+
+ }
+
+ return 0;
+}
diff --git a/tools/cl.json b/tools/cl.json
new file mode 100644
index 0000000..705ff47
--- /dev/null
+++ b/tools/cl.json
@@ -0,0 +1,10 @@
+{
+ "compiler_path": "x86_64-w64-mingw32-g++.exe",
+ "compiler_std": "c++20",
+ "headers_path": ["../ndkdll", "../", "../ndkdll/Sources/Detail"],
+ "sources_path": ["cl.cxx"],
+ "output_name": "cl.exe",
+ "compiler_flags": ["-L../", "-lndk"],
+ "cpp_macros": ["__CL__=202401"]
+ }
+ \ No newline at end of file
diff --git a/tools/link.cxx b/tools/link.cxx
new file mode 100644
index 0000000..ae37b8d
--- /dev/null
+++ b/tools/link.cxx
@@ -0,0 +1,20 @@
+/* -------------------------------------------
+
+ Copyright ZKA Technologies
+
+------------------------------------------- */
+
+/// @file Linker.cxx
+/// @brief ZKA Linker frontend for AE objects.
+
+extern "C" int NewOSLinker(int argc, char const* argv[]);
+
+int main(int argc, char const *argv[])
+{
+ if (argc < 1)
+ {
+ return 1;
+ }
+
+ return NewOSLinker(argc, argv);
+}
diff --git a/tools/link.json b/tools/link.json
new file mode 100644
index 0000000..4a224af
--- /dev/null
+++ b/tools/link.json
@@ -0,0 +1,10 @@
+{
+ "compiler_path": "x86_64-w64-mingw32-g++.exe",
+ "compiler_std": "c++20",
+ "headers_path": ["../ndkdll", "../", "../ndkdll/Sources/Detail"],
+ "sources_path": ["link.cxx"],
+ "output_name": "link.exe",
+ "compiler_flags": ["-L../", "-lndk"],
+ "cpp_macros": ["__LINK__=202401"]
+ }
+ \ No newline at end of file