From caee8464e5b967f87d76c2b24aa6b025d639f9ef Mon Sep 17 00:00:00 2001 From: derammo <817160+derammo@users.noreply.github.com> Date: Sun, 31 Jul 2022 06:41:38 -0400 Subject: [PATCH] adds option 'xml' to request XML trace output --- SConstruct | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/SConstruct b/SConstruct index d0d03bd8dc29..1980f6471e17 100644 --- a/SConstruct +++ b/SConstruct @@ -189,6 +189,7 @@ opts.Add(BoolVariable("tests", "Build the unit tests", False)) opts.Add(BoolVariable("fast_unsafe", "Enable unsafe options for faster rebuilds", False)) opts.Add(BoolVariable("compiledb", "Generate compilation DB (`compile_commands.json`) for external tools", False)) opts.Add(BoolVariable("verbose", "Enable verbose output for the compilation", False)) +opts.Add(BoolVariable("xml", "Enable verbose XML output for the compilation", False)) opts.Add(BoolVariable("progress", "Show a progress indicator during compilation", True)) opts.Add(EnumVariable("warnings", "Level of compilation warnings", "all", ("extra", "all", "moderate", "no"))) opts.Add(BoolVariable("werror", "Treat compiler warnings as errors", False)) @@ -452,6 +453,7 @@ if selected_platform in platform_list: # manually by the user. if env["dev"]: env["verbose"] = methods.get_cmdline_bool("verbose", True) + env["xml"] = methods.get_cmdline_bool("xml", True) env["warnings"] = ARGUMENTS.get("warnings", "extra") env["werror"] = methods.get_cmdline_bool("werror", True) if env["tools"]: @@ -810,6 +812,31 @@ if selected_platform in platform_list: if not env["verbose"]: methods.no_verbose(sys, env) + if env["xml"]: + print("__BUILD_DATA_MAGIC_COOKIE__") + env.Append( + CCCOMSTR="$TARGET$SOURCE$CPPFLAGS$CFLAGS$CCFLAGS$CXXFLAGS$_CPPDEFFLAGS$_CPPINCFLAGS__BUILD_DATA_MAGIC_COOKIE__" + ) + env.Append( + CXXCOMSTR="$TARGET$SOURCE$CPPFLAGS$CFLAGS$CCFLAGS$CXXFLAGS$_CPPDEFFLAGS$_CPPINCFLAGS__BUILD_DATA_MAGIC_COOKIE__" + ) + env.Append( + LINKCOMSTR="$TARGET$SOURCES$LINKFLAGS$_LIBDIRFLAGS$_LIBFLAGS__BUILD_DATA_MAGIC_COOKIE__" + ) + env.Append( + SHLINKCOMSTR="$TARGET$SOURCES$LINKFLAGS$_LIBDIRFLAGS$_LIBFLAGS__BUILD_DATA_MAGIC_COOKIE__" + ) + env.Append( + ARCOMSTR="$TARGET$SOURCES$LINKFLAGS$_LIBDIRFLAGS$_LIBFLAGS__BUILD_DATA_MAGIC_COOKIE__" + ) + env.Append(RANLIBCOMSTR="$TARGET__BUILD_DATA_MAGIC_COOKIE__") + env.Append( + SHCCCOMSTR="$TARGET$SOURCE$CPPFLAGS$CFLAGS$CCFLAGS$CXXFLAGS$_CPPDEFFLAGS$_CPPINCFLAGS__BUILD_DATA_MAGIC_COOKIE__" + ) + env.Append( + SHCXXCOMSTR="$TARGET$SOURCE$CPPFLAGS$CFLAGS$CCFLAGS$CXXFLAGS$_CPPDEFFLAGS$_CPPINCFLAGS__BUILD_DATA_MAGIC_COOKIE__" + ) + GLSL_BUILDERS = { "RD_GLSL": env.Builder( action=env.Run(glsl_builders.build_rd_headers, 'Building RD_GLSL header: "$TARGET"'), @@ -903,6 +930,8 @@ def print_elapsed_time(): elapsed_time_sec = round(time.time() - time_at_start, 3) time_ms = round((elapsed_time_sec % 1) * 1000) print("[Time elapsed: {}.{:03}]".format(time.strftime("%H:%M:%S", time.gmtime(elapsed_time_sec)), time_ms)) + if env["xml"]: + print("__BUILD_DATA_MAGIC_COOKIE__") atexit.register(print_elapsed_time)