From cbdcfee462fc7de2ea1b13f4f84b1bda76bcde46 Mon Sep 17 00:00:00 2001 From: Jorijn van der Graaf Date: Sun, 22 Mar 2026 20:40:59 +0100 Subject: [PATCH] std pcm march dependant --- implementations/Crafter.Build-Command.cpp | 6 +++--- implementations/Crafter.Build-Project.cpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/implementations/Crafter.Build-Command.cpp b/implementations/Crafter.Build-Command.cpp index 69beeb9..f03c3cc 100644 --- a/implementations/Crafter.Build-Command.cpp +++ b/implementations/Crafter.Build-Command.cpp @@ -178,11 +178,11 @@ namespace Crafter { void BuildGnuStdPcm(const Project& project, const Configuration& config) { fs::path exeDir = GetPath(); - fs::create_directories(exeDir/config.target); - const std::string stdPcm = std::format("{}/{}/std.pcm", exeDir.string(), config.target); + fs::create_directories(exeDir/(config.target+config.march)); + const std::string stdPcm = std::format("{}/{}{}/std.pcm", exeDir.string(), config.target, config.march); if(!fs::exists(stdPcm) || fs::last_write_time(stdPcm) < fs::last_write_time("/usr/share/libc++/v1/std.cppm")) { - std::string result = RunCommand(std::format("clang++ --target={} -std=c++26 -stdlib=libc++ -march=native -mtune=native -O3 -Wno-reserved-identifier -Wno-reserved-module-identifier --precompile /usr/share/libc++/v1/std.cppm -o {}", config.target, stdPcm)); + std::string result = RunCommand(std::format("clang++ --target={} -std=c++26 -stdlib=libc++ -march={} -mtune={} -O3 -Wno-reserved-identifier -Wno-reserved-module-identifier --precompile /usr/share/libc++/v1/std.cppm -o {}", config.target, config.march, config.march, stdPcm)); if(result != "") { throw std::runtime_error(result); } diff --git a/implementations/Crafter.Build-Project.cpp b/implementations/Crafter.Build-Project.cpp index 6b31380..f69cc6d 100644 --- a/implementations/Crafter.Build-Project.cpp +++ b/implementations/Crafter.Build-Project.cpp @@ -237,10 +237,10 @@ namespace Crafter { #ifdef CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_linux_gnu - std::string command = std::format("clang++ -stdlib=libc++ --target={} -march={} -mtune={} -std={} -D CRAFTER_BUILD_CONFIGURATION_TARGET=\\\"{}\\\" -D CRAFTER_BUILD_CONFIGURATION_TARGET_{} -fprebuilt-module-path={}", config.target, config.march, config.march, config.standard, editedTarget, editedTarget, (exeDir/config.target).string()); + std::string command = std::format("clang++ -stdlib=libc++ --target={} -march={} -mtune={} -std={} -D CRAFTER_BUILD_CONFIGURATION_TARGET=\\\"{}\\\" -D CRAFTER_BUILD_CONFIGURATION_TARGET_{} -fprebuilt-module-path={}", config.target, config.march, config.march, config.standard, editedTarget, editedTarget, (exeDir/(config.target+config.march)).string()); #endif #if defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc) || defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_w64_mingw32) - std::string command = std::format("clang++ -nostdinc++ -nostdlib++ -isystem %LIBCXX_DIR%\\include\\c++\\v1 --target={} -march={} -mtune={} -std={} -D CRAFTER_BUILD_CONFIGURATION_TARGET=\"\"{}\"\" -D CRAFTER_BUILD_CONFIGURATION_TARGET_{} -fprebuilt-module-path={}", config.target, config.march, config.march, config.standard, editedTarget, editedTarget, (exeDir/config.target).string()); + std::string command = std::format("clang++ -nostdinc++ -nostdlib++ -isystem %LIBCXX_DIR%\\include\\c++\\v1 --target={} -march={} -mtune={} -std={} -D CRAFTER_BUILD_CONFIGURATION_TARGET=\"\"{}\"\" -D CRAFTER_BUILD_CONFIGURATION_TARGET_{} -fprebuilt-module-path={}", config.target, config.march, config.march, config.standard, editedTarget, editedTarget, (exeDir/(config.target+config.march)).string()); #endif for (const auto& entry : fs::recursive_directory_iterator(buildDir)) {