From 18b632e5bb2b53f670eb12115caa7453d7780893 Mon Sep 17 00:00:00 2001 From: Hayodea Hekol Date: Tue, 17 Feb 2026 10:22:25 -0400 Subject: [PATCH] Move CRT Cmdline args obj & impl into libspinscale --- CMakeLists.txt | 1 + include/spinscale/marionette.h | 16 +++++++++------- src/runtime.cpp | 12 ++++++++++++ 3 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 src/runtime.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index af04caf..c906e12 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,6 +76,7 @@ add_library(spinscale SHARED src/componentThread.cpp src/component.cpp src/puppetApplication.cpp + src/runtime.cpp ) # Conditionally add qutexAcquisitionHistoryTracker.cpp only when debug locks diff --git a/include/spinscale/marionette.h b/include/spinscale/marionette.h index b982cee..ad55918 100644 --- a/include/spinscale/marionette.h +++ b/include/spinscale/marionette.h @@ -42,17 +42,19 @@ extern MarionetteComponent mrntt; struct CrtCommandLineArgs { - CrtCommandLineArgs(int argc, char *argv[], char *envp[]) - : argc(argc), argv(argv), envp(envp) - {} + CrtCommandLineArgs(int argc, char *argv[], char *envp[]) + : argc(argc), argv(argv), envp(envp) + {} - int argc; - char **argv; - char **envp; + int argc; + char **argv; + char **envp; - static void set(int argc, char *argv[], char *envp[]); + static void set(int argc, char *argv[], char *envp[]); }; +extern CrtCommandLineArgs crtCommandLineArgs; + } // namespace sscl #endif // _MARIONETTE_H diff --git a/src/runtime.cpp b/src/runtime.cpp new file mode 100644 index 0000000..fb632ad --- /dev/null +++ b/src/runtime.cpp @@ -0,0 +1,12 @@ +#include + +namespace sscl { + +CrtCommandLineArgs crtCommandLineArgs(0, nullptr, nullptr); + +void CrtCommandLineArgs::set(int argc, char *argv[], char *envp[]) +{ + crtCommandLineArgs = CrtCommandLineArgs(argc, argv, envp); +} + +} // namespace sscl