diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-25 20:02:09 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-25 20:02:09 +0100 |
| commit | fc684d17b140df5148278d16c1c94be5a28ac0e9 (patch) | |
| tree | 9aa120d325385397795c141f58cc6a10aed3df8c | |
| parent | 9b7dbb3e5c131d84730b88c4fc493665c74613fd (diff) | |
[FEAT] Easier CLI arguments, better information about releases as well.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
5 files changed, 68 insertions, 23 deletions
diff --git a/src/CompilerKit/src/CodeGenerator+AssemblyFactory.cpp b/src/CompilerKit/src/CodeGenerator+AssemblyFactory.cpp index 0d0cff7..a7c1832 100644 --- a/src/CompilerKit/src/CodeGenerator+AssemblyFactory.cpp +++ b/src/CompilerKit/src/CodeGenerator+AssemblyFactory.cpp @@ -38,7 +38,7 @@ Int32 AssemblyFactory::Compile(STLString sourceFile, const Int32& arch) { std::filesystem::remove(compiledUnit); } - return NECTAR_INVALID_ARCH; + return NECTAR_INVALID_DATA; } ///! @brief mount assembly backend. diff --git a/src/CompilerKit/src/Frontends/NectarCompiler+AMD64.cpp b/src/CompilerKit/src/Frontends/NectarCompiler+AMD64.cpp index 97b5161..5936e27 100644 --- a/src/CompilerKit/src/Frontends/NectarCompiler+AMD64.cpp +++ b/src/CompilerKit/src/Frontends/NectarCompiler+AMD64.cpp @@ -1689,6 +1689,27 @@ NECTAR_MODULE(CompilerNectarAMD64) { continue; } + if (strcmp(argv[index], "--help") == 0 || strcmp(argv[index], "-h") == 0) { + std::cout << "====================================================\n"; + std::cout << "NECTAR X64 FRONTEND:\n"; + std::cout << "====================================================\n"; + std::cout << "-fverbose: Enable Verbose output.\n"; + std::cout << "-fuse-masm: Use the NeSystem Assembler syntax.\n"; + std::cout << "-fprint-dialect: Prints the current Nectar dialect.\n"; + std::cout << "-fuse-nasm: Use the Netwide Assembler syntax.\n"; + std::cout << "====================================================\n"; + + continue; + } + + if (strcmp(argv[index], "--version") == 0 || strcmp(argv[index], "-v") == 0) { + std::cout << "====================================================\n"; + std::cout << "NECTAR X64 FRONTEND:\nDIST RELEASE:"; + std::cout << kDistRelease << "\n"; + std::cout << "====================================================\n"; + continue; + } + if (strcmp(argv[index], "-fverbose") == 0) { kVerbose = true; continue; diff --git a/src/CompilerKit/src/Frontends/NectarCompiler+PTX.cpp b/src/CompilerKit/src/Frontends/NectarCompiler+PTX.cpp index 4583dfe..1584661 100644 --- a/src/CompilerKit/src/Frontends/NectarCompiler+PTX.cpp +++ b/src/CompilerKit/src/Frontends/NectarCompiler+PTX.cpp @@ -1623,6 +1623,26 @@ NECTAR_MODULE(CompilerNectarPTX) { continue; } + if (strcmp(argv[index], "--help") == 0 || + strcmp(argv[index], "-h") == 0) { + std::cout << "====================================================\n"; + std::cout << "NECTAR PTX FRONTEND:\n"; + std::cout << "====================================================\n"; + std::cout << "-fverbose: Enable Verbose output.\n"; + std::cout << "-fprint-dialect: Prints the current Nectar dialect.\n"; + std::cout << "====================================================\n"; + + continue; + } + + if (strcmp(argv[index], "--version") == 0 || strcmp(argv[index], "-v") == 0) { + std::cout << "====================================================\n"; + std::cout << "NECTAR PTX FRONTEND:\nDIST RELEASE:"; + std::cout << kDistRelease << "\n"; + std::cout << "====================================================\n"; + continue; + } + if (strcmp(argv[index], "-fverbose") == 0) { kVerbose = true; continue; diff --git a/src/CompilerKit/src/Generators/DynamicLinker64+MachO.cpp b/src/CompilerKit/src/Generators/DynamicLinker64+MachO.cpp index 1a97660..42f5112 100644 --- a/src/CompilerKit/src/Generators/DynamicLinker64+MachO.cpp +++ b/src/CompilerKit/src/Generators/DynamicLinker64+MachO.cpp @@ -30,9 +30,9 @@ #define kLinkerSplash() kStdOut << kLinkerVersionStr << kStdEndl #define kConsoleOut \ - (std::cout << "\e[0;31m" \ - << "mld64: " \ - << "\e[0;97m") + (std::cout << kRed \ + << "ld: " \ + << kReset) static CompilerKit::STLString kOutput = kMachODefaultOutput; static cpu_type_t kCpuType = CPU_TYPE_X86_64; @@ -132,21 +132,23 @@ NECTAR_MODULE(DynamicLinker64MachO) { * @brief parse flags and trigger options. */ for (size_t linker_arg{1}; linker_arg < argc; ++linker_arg) { - if (std::strcmp(argv[linker_arg], "-help") == 0) { + if (std::strcmp(argv[linker_arg], "--help") == 0 || + std::strcmp(argv[linker_arg], "-h") == 0) { kLinkerSplash(); - kConsoleOut << "-version: Show linker version.\n"; - kConsoleOut << "-help: Show linker help.\n"; - kConsoleOut << "-verbose: Enable linker trace.\n"; + kConsoleOut << "--version: Show linker version.\n"; + kConsoleOut << "--help: Show linker help.\n"; + kConsoleOut << "--verbose: Enable linker trace.\n"; kConsoleOut << "-fdylib: Output as a Dynamic Library.\n"; kConsoleOut << "-ffat: Output as a FAT binary.\n"; kConsoleOut << "-famd64: Output as an x86_64 Mach-O.\n"; kConsoleOut << "-farm64: Output as an ARM64 Mach-O.\n"; - kConsoleOut << "-output: Select the output file name.\n"; + kConsoleOut << "--output: Select the output file name.\n"; kConsoleOut << "-fstart: Specify entry point symbol.\n"; return NECTAR_SUCCESS; - } else if (std::strcmp(argv[linker_arg], "-version") == 0) { + } else if (std::strcmp(argv[linker_arg], "--version") == 0 || + std::strcmp(argv[linker_arg], "-v") == 0) { kLinkerSplash(); return NECTAR_SUCCESS; @@ -171,7 +173,7 @@ NECTAR_MODULE(DynamicLinker64MachO) { linker_arg += 1; continue; - } else if (std::strcmp(argv[linker_arg], "-verbose") == 0) { + } else if (std::strcmp(argv[linker_arg], "--verbose") == 0) { kVerbose = true; continue; @@ -184,7 +186,7 @@ NECTAR_MODULE(DynamicLinker64MachO) { } continue; - } else if (std::strcmp(argv[linker_arg], "-output") == 0) { + } else if (std::strcmp(argv[linker_arg], "--output") == 0) { if ((linker_arg + 1) > argc) continue; kOutput = argv[linker_arg + 1]; diff --git a/src/CompilerKit/src/Generators/DynamicLinker64+PEF.cpp b/src/CompilerKit/src/Generators/DynamicLinker64+PEF.cpp index 250ec75..650b4ab 100644 --- a/src/CompilerKit/src/Generators/DynamicLinker64+PEF.cpp +++ b/src/CompilerKit/src/Generators/DynamicLinker64+PEF.cpp @@ -38,9 +38,9 @@ #define kLinkerStackSizeSymbol "__PEFSizeOfReserveStack" #define kConsoleOut \ - (std::cout << "\e[0;31m" \ - << "ld64: " \ - << "\e[0;97m") + (std::cout << kRed \ + << "ld: " \ + << kReset) enum struct ABIType : Int32 { kABITypeNull = 0, @@ -79,12 +79,13 @@ NECTAR_MODULE(DynamicLinker64PEF) { * @brief parse flags and trigger options. */ for (size_t linker_arg = 1; linker_arg < argc; ++linker_arg) { - if (std::strcmp(argv[linker_arg], "-help") == 0) { + if (std::strcmp(argv[linker_arg], "--help") == 0 || + std::strcmp(argv[linker_arg], "-h") == 0) { kLinkerSplash(); - kConsoleOut << "-version: Show linker version.\n"; - kConsoleOut << "-help: Show linker help.\n"; - kConsoleOut << "-verbose: Enable linker trace.\n"; + kConsoleOut << "--version: Show linker version.\n"; + kConsoleOut << "--help: Show linker help.\n"; + kConsoleOut << "--verbose: Enable linker trace.\n"; kConsoleOut << "-fdylib: Output as a Dynamic PEF.\n"; kConsoleOut << "-ffat: Output as a FAT PEF.\n"; kConsoleOut << "-f32k: Output as a 32x0 PEF.\n"; @@ -93,10 +94,11 @@ NECTAR_MODULE(DynamicLinker64PEF) { kConsoleOut << "-frv64: Output as a RISC-V PEF.\n"; kConsoleOut << "-fpower64: Output as a POWER PEF.\n"; kConsoleOut << "-farm64: Output as a ARM64 PEF.\n"; - kConsoleOut << "-output: Select the output file name.\n"; + kConsoleOut << "--output: Select the output file name.\n"; return NECTAR_SUCCESS; - } else if (std::strcmp(argv[linker_arg], "-version") == 0) { + } else if (std::strcmp(argv[linker_arg], "--version") == 0 || + std::strcmp(argv[linker_arg], "-v") == 0) { kLinkerSplash(); return NECTAR_SUCCESS; @@ -135,7 +137,7 @@ NECTAR_MODULE(DynamicLinker64PEF) { kArch = CompilerKit::kPefArchARM64; continue; - } else if (std::strcmp(argv[linker_arg], "-verbose") == 0) { + } else if (std::strcmp(argv[linker_arg], "--verbose") == 0) { kVerbose = true; continue; @@ -151,7 +153,7 @@ NECTAR_MODULE(DynamicLinker64PEF) { is_executable = false; continue; - } else if (std::strcmp(argv[linker_arg], "-output") == 0) { + } else if (std::strcmp(argv[linker_arg], "--output") == 0) { if ((linker_arg + 1) > argc) continue; kOutput = argv[linker_arg + 1]; |
