From 990e50df4d26b54e35f56a54e06837fdf13f5019 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sat, 8 Mar 2025 14:26:06 +0100 Subject: ADD: Great tweaks on tooling. Signed-off-by: Amlal El Mahrouss --- public/tools/ld/ld.json | 12 ++++++++++++ public/tools/ld/make_app.json | 12 ------------ public/tools/ld/src/CommandLine.cc | 3 +++ public/tools/make_app/Steps.h | 10 ++++++---- public/tools/make_app/src/CommandLine.cc | 12 ++++++++++++ 5 files changed, 33 insertions(+), 16 deletions(-) create mode 100644 public/tools/ld/ld.json delete mode 100644 public/tools/ld/make_app.json diff --git a/public/tools/ld/ld.json b/public/tools/ld/ld.json new file mode 100644 index 00000000..f423df30 --- /dev/null +++ b/public/tools/ld/ld.json @@ -0,0 +1,12 @@ +{ + "compiler_path": "g++", + "compiler_std": "c++23", + "headers_path": ["./"], + "sources_path": ["src/CommandLine.cc"], + "output_name": "./dist/ld", + "cpp_macros": [ + "kLDVersion=0x0100", + "kLDVersionHighest=0x0100", + "kLDVersionLowest=0x0100" + ] +} diff --git a/public/tools/ld/make_app.json b/public/tools/ld/make_app.json deleted file mode 100644 index f423df30..00000000 --- a/public/tools/ld/make_app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compiler_path": "g++", - "compiler_std": "c++23", - "headers_path": ["./"], - "sources_path": ["src/CommandLine.cc"], - "output_name": "./dist/ld", - "cpp_macros": [ - "kLDVersion=0x0100", - "kLDVersionHighest=0x0100", - "kLDVersionLowest=0x0100" - ] -} diff --git a/public/tools/ld/src/CommandLine.cc b/public/tools/ld/src/CommandLine.cc index 534fdb4e..dfd5709f 100644 --- a/public/tools/ld/src/CommandLine.cc +++ b/public/tools/ld/src/CommandLine.cc @@ -10,6 +10,9 @@ SInt32 main(SInt32 argc, Char* argv[]) { + if (argc < 3) + return ~0; + UIntPtr exit_code = RtlSpawnProcess(argv[1], argc - 2, argv + 2, nullptr, 0); diff --git a/public/tools/make_app/Steps.h b/public/tools/make_app/Steps.h index 224f038a..1aee1dfa 100644 --- a/public/tools/make_app/Steps.h +++ b/public/tools/make_app/Steps.h @@ -10,14 +10,16 @@ #include #define kStepsExtension ".stp" +#define kStepsStrLen (256U) -struct StepsCommonRecord final +struct STEPS_COMMON_RECORD final { - Char setup_name[256U]; - Char setup_company[256U]; - Char setup_author[256U]; + Char setup_name[kStepsStrLen]; + Char setup_company[kStepsStrLen]; + Char setup_author[kStepsStrLen]; SInt32 setup_version; SInt32 setup_pages; + SInt32 setup_check_page, setup_eula_page; }; #endif // ifndef APPS_STEPS_H \ No newline at end of file diff --git a/public/tools/make_app/src/CommandLine.cc b/public/tools/make_app/src/CommandLine.cc index 2df25d55..cb014842 100644 --- a/public/tools/make_app/src/CommandLine.cc +++ b/public/tools/make_app/src/CommandLine.cc @@ -57,6 +57,18 @@ int main(int argc, char* argv[]) auto path = argv[1]; + else if (MmStrCmp(ext, kStepsExtension) == 0) + { + FsCreateFile(FsCreateDir(StrFmt("{}{}{}{}", path, kRootDirectory, "_setup", kStepsExtension))); + auto handle = IoOpenFile(StrFmt("{}{}{}{}", path, kRootDirectory, "_setup", kStepsExtension), nullptr); + struct STEPS_COMMON_RECORD record{}; + + IoWriteFile(handle, (void*)&record, sizeof(STEPS_COMMON_RECORD)); + IoCloseFile(handle); + + handle = nullptr; + } + if (FsCreateDir(path)) { FsCreateDir(StrFmt("{}{}", path, kRootDirectory)); -- cgit v1.2.3