From 46a24accaa1dd395a30131b588f685d3a3ca82f0 Mon Sep 17 00:00:00 2001 From: Dmytro Kozhevin Date: Fri, 27 Sep 2024 13:59:08 -0400 Subject: [PATCH] Fix MSVS project. It seems like it's not possible to link the release build of the rust libraries to the debug-mode core, so I'm disabling tracy for the debug builds. Neither debug rust builds, nor tracy in debug mode are useful on Windows builds (FWIW I'm not sure if tracy is usable at all on Windows, but in general profiling shouldn't be normally done on debug builds). There is also a weird issue of `intrin.h` missing when tracy is disabled, so I've added the include explicitly. --- Builds/VisualStudio/stellar-core.vcxproj | 22 +++++++++++++--------- lib/binaryfusefilter.h | 1 + src/simulation/ApplyLoad.cpp | 3 +++ 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Builds/VisualStudio/stellar-core.vcxproj b/Builds/VisualStudio/stellar-core.vcxproj index b53342f8ce..a1476f7876 100644 --- a/Builds/VisualStudio/stellar-core.vcxproj +++ b/Builds/VisualStudio/stellar-core.vcxproj @@ -124,7 +124,7 @@ Level4 Disabled true - CEREAL_THREAD_SAFE;USE_POSTGRES;ENABLE_NEXT_PROTOCOL_VERSION_UNSAFE_FOR_PRODUCTION=1;USE_SPDLOG;FMT_HEADER_ONLY=1;BUILD_TESTS;WIN32_LEAN_AND_MEAN;NOMINMAX;ASIO_STANDALONE;_WINSOCK_DEPRECATED_NO_WARNINGS;SODIUM_STATIC;ASIO_SEPARATE_COMPILATION;ASIO_ERROR_CATEGORY_NOEXCEPT=noexcept;TRACY_ENABLE;TRACY_ON_DEMAND;TRACY_NO_BROADCAST;TRACY_ONLY_LOCALHOST;TRACY_DELAYED_INIT;TRACY_MANUAL_LIFETIME;USE_TRACY;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0601;WIN32;_MBCS;_CRT_NONSTDC_NO_DEPRECATE;YY_NO_UNISTD_H;%(PreprocessorDefinitions) + CEREAL_THREAD_SAFE;USE_POSTGRES;ENABLE_NEXT_PROTOCOL_VERSION_UNSAFE_FOR_PRODUCTION=1;USE_SPDLOG;FMT_HEADER_ONLY=1;BUILD_TESTS;WIN32_LEAN_AND_MEAN;NOMINMAX;ASIO_STANDALONE;_WINSOCK_DEPRECATED_NO_WARNINGS;SODIUM_STATIC;ASIO_SEPARATE_COMPILATION;ASIO_ERROR_CATEGORY_NOEXCEPT=noexcept;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0601;WIN32;_MBCS;_CRT_NONSTDC_NO_DEPRECATE;YY_NO_UNISTD_H;%(PreprocessorDefinitions) src;../../src;../../lib;../../lib/tracy/public/tracy;../../lib/spdlog/include;../../lib/libmedida/src;../../lib/soci/src/core;../../lib/autocheck/include;../../lib/cereal/include;../../lib/asio/asio/include;../../lib/xdrpp;../../lib/libsodium/src/libsodium/include;../../lib/fmt/include;../../lib/util;../..;src/$(Configuration)/generated;../../lib/sqlite;c:\Program Files\PostgreSQL\15\include;%(AdditionalIncludeDirectories) true false @@ -189,7 +189,7 @@ exit /b 0 Level4 Disabled true - CEREAL_THREAD_SAFE;USE_POSTGRES;USE_SPDLOG;FMT_HEADER_ONLY=1;BUILD_TESTS;WIN32_LEAN_AND_MEAN;NOMINMAX;ASIO_STANDALONE;_WINSOCK_DEPRECATED_NO_WARNINGS;SODIUM_STATIC;ASIO_SEPARATE_COMPILATION;ASIO_ERROR_CATEGORY_NOEXCEPT=noexcept;TRACY_ENABLE;TRACY_ON_DEMAND;TRACY_NO_BROADCAST;TRACY_ONLY_LOCALHOST;TRACY_DELAYED_INIT;TRACY_MANUAL_LIFETIME;USE_TRACY;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0601;WIN32;_MBCS;_CRT_NONSTDC_NO_DEPRECATE;YY_NO_UNISTD_H;%(PreprocessorDefinitions) + CEREAL_THREAD_SAFE;USE_POSTGRES;USE_SPDLOG;FMT_HEADER_ONLY=1;BUILD_TESTS;WIN32_LEAN_AND_MEAN;NOMINMAX;ASIO_STANDALONE;_WINSOCK_DEPRECATED_NO_WARNINGS;SODIUM_STATIC;ASIO_SEPARATE_COMPILATION;ASIO_ERROR_CATEGORY_NOEXCEPT=noexcept;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0601;WIN32;_MBCS;_CRT_NONSTDC_NO_DEPRECATE;YY_NO_UNISTD_H;%(PreprocessorDefinitions) src;../../src;../../lib;../../lib/tracy/public/tracy;../../lib/spdlog/include;../../lib/libmedida/src;../../lib/soci/src/core;../../lib/autocheck/include;../../lib/cereal/include;../../lib/asio/asio/include;../../lib/xdrpp;../../lib/libsodium/src/libsodium/include;../../lib/fmt/include;../../lib/util;../..;src/$(Configuration)/generated;../../lib/sqlite;c:\Program Files\PostgreSQL\15\include;%(AdditionalIncludeDirectories) true false @@ -255,7 +255,7 @@ exit /b 0 Level4 Disabled true - CEREAL_THREAD_SAFE;ENABLE_NEXT_PROTOCOL_VERSION_UNSAFE_FOR_PRODUCTION=1;USE_SPDLOG;FMT_HEADER_ONLY=1;BUILD_TESTS;WIN32_LEAN_AND_MEAN;NOMINMAX;ASIO_STANDALONE;_WINSOCK_DEPRECATED_NO_WARNINGS;SODIUM_STATIC;ASIO_SEPARATE_COMPILATION;ASIO_ERROR_CATEGORY_NOEXCEPT=noexcept;TRACY_ENABLE;TRACY_ON_DEMAND;TRACY_NO_BROADCAST;TRACY_ONLY_LOCALHOST;TRACY_DELAYED_INIT;TRACY_MANUAL_LIFETIME;USE_TRACY;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0601;WIN32;_MBCS;_CRT_NONSTDC_NO_DEPRECATE;YY_NO_UNISTD_H;%(PreprocessorDefinitions) + CEREAL_THREAD_SAFE;ENABLE_NEXT_PROTOCOL_VERSION_UNSAFE_FOR_PRODUCTION=1;USE_SPDLOG;FMT_HEADER_ONLY=1;BUILD_TESTS;WIN32_LEAN_AND_MEAN;NOMINMAX;ASIO_STANDALONE;_WINSOCK_DEPRECATED_NO_WARNINGS;SODIUM_STATIC;ASIO_SEPARATE_COMPILATION;ASIO_ERROR_CATEGORY_NOEXCEPT=noexcept;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0601;WIN32;_MBCS;_CRT_NONSTDC_NO_DEPRECATE;YY_NO_UNISTD_H;%(PreprocessorDefinitions) src;../../src;../../lib;../../lib/tracy/public/tracy;../../lib/spdlog/include;../../lib/libmedida/src;../../lib/soci/src/core;../../lib/autocheck/include;../../lib/cereal/include;../../lib/asio/asio/include;../../lib/xdrpp;../../lib/libsodium/src/libsodium/include;../../lib/fmt/include;../../lib/util;../..;src/$(Configuration)/generated;../../lib/sqlite;c:\Program Files\PostgreSQL\15\include;%(AdditionalIncludeDirectories) true false @@ -343,9 +343,9 @@ exit /b 0 - (set CFLAGS=-MDd) & (set CXXFLAGS=-MDd) & cd $(MSBuildProjectDirectory)\..\..\src\rust\soroban\p21 & (set RUSTFLAGS=-Cmetadata=p21) & cargo build --release --package soroban-env-host --locked --target-dir $(OutDir)\rust\soroban-p21-target - (set CFLAGS=-MDd) & (set CXXFLAGS=-MDd) & cd $(MSBuildProjectDirectory)\..\..\src\rust\soroban\p22 & (set RUSTFLAGS=-Cmetadata=p22) & cargo build --release --package soroban-env-host --locked --features tracy --features next --target-dir $(OutDir)\rust\soroban-p22-target - (set CFLAGS=-MDd) & (set CXXFLAGS=-MDd) & cd $(MSBuildProjectDirectory)\..\..\ & cargo rustc --release --package stellar-core --locked --features tracy --features next --target-dir $(OutDir)\rust\target -- --extern soroban_env_host_p21=$(OutDir)\rust\soroban-p21-target\release\libsoroban_env_host.rlib --extern soroban_env_host_p22=$(OutDir)\rust\soroban-p22-target\release\libsoroban_env_host.rlib -L dependency=$(OutDir)\rust\soroban-p21-target\release\deps -L dependency=$(OutDir)\rust\soroban-p22-target\release\deps + cd $(MSBuildProjectDirectory)\..\..\src\rust\soroban\p21 & (set RUSTFLAGS=-Cmetadata=p21) & cargo build --release --package soroban-env-host --locked --target-dir $(OutDir)\rust\soroban-p21-target + cd $(MSBuildProjectDirectory)\..\..\src\rust\soroban\p22 & (set RUSTFLAGS=-Cmetadata=p22) & cargo build --release --package soroban-env-host --locked --features tracy --features next --target-dir $(OutDir)\rust\soroban-p22-target + cd $(MSBuildProjectDirectory)\..\..\ & cargo rustc --release --package stellar-core --locked --features tracy --features next --target-dir $(OutDir)\rust\target -- --extern soroban_env_host_p21=$(OutDir)\rust\soroban-p21-target\release\libsoroban_env_host.rlib --extern soroban_env_host_p22=$(OutDir)\rust\soroban-p22-target\release\libsoroban_env_host.rlib -L dependency=$(OutDir)\rust\soroban-p21-target\release\deps -L dependency=$(OutDir)\rust\soroban-p22-target\release\deps @@ -408,9 +408,9 @@ exit /b 0 - (set CFLAGS=-MDd) & (set CXXFLAGS=-MDd) & cd $(MSBuildProjectDirectory)\..\..\src\rust\soroban\p21 & (set RUSTFLAGS=-Cmetadata=p21) & cargo build --release --package soroban-env-host --locked --target-dir $(OutDir)\rust\soroban-p21-target - (set CFLAGS=-MDd) & (set CXXFLAGS=-MDd) & cd $(MSBuildProjectDirectory)\..\..\src\rust\soroban\p22 & (set RUSTFLAGS=-Cmetadata=p22) & cargo build --release --package soroban-env-host --locked --features tracy --target-dir $(OutDir)\rust\soroban-p22-target - (set CFLAGS=-MDd) & (set CXXFLAGS=-MDd) & cd $(MSBuildProjectDirectory)\..\..\ & cargo rustc --release --package stellar-core --locked --features tracy --target-dir $(OutDir)\rust\target -- --extern soroban_env_host_p21=$(OutDir)\rust\soroban-p21-target\release\libsoroban_env_host.rlib --extern soroban_env_host_p22=$(OutDir)\rust\soroban-p22-target\release\libsoroban_env_host.rlib -L dependency=$(OutDir)\rust\soroban-p21-target\release\deps -L dependency=$(OutDir)\rust\soroban-p22-target\release\deps + cd $(MSBuildProjectDirectory)\..\..\src\rust\soroban\p21 & (set RUSTFLAGS=-Cmetadata=p21) & cargo build --release --package soroban-env-host --locked --target-dir $(OutDir)\rust\soroban-p21-target + cd $(MSBuildProjectDirectory)\..\..\src\rust\soroban\p22 & (set RUSTFLAGS=-Cmetadata=p22) & cargo build --release --package soroban-env-host --locked --features tracy --target-dir $(OutDir)\rust\soroban-p22-target + cd $(MSBuildProjectDirectory)\..\..\ & cargo rustc --release --package stellar-core --locked --features tracy --target-dir $(OutDir)\rust\target -- --extern soroban_env_host_p21=$(OutDir)\rust\soroban-p21-target\release\libsoroban_env_host.rlib --extern soroban_env_host_p22=$(OutDir)\rust\soroban-p22-target\release\libsoroban_env_host.rlib -L dependency=$(OutDir)\rust\soroban-p21-target\release\deps -L dependency=$(OutDir)\rust\soroban-p22-target\release\deps @@ -684,6 +684,8 @@ exit /b 0 + + @@ -1104,6 +1106,8 @@ exit /b 0 + + diff --git a/lib/binaryfusefilter.h b/lib/binaryfusefilter.h index adb92e0200..4d639a5ae4 100644 --- a/lib/binaryfusefilter.h +++ b/lib/binaryfusefilter.h @@ -73,6 +73,7 @@ binary_fuse_mulhi(uint64_t a, uint64_t b) return ((__uint128_t)a * b) >> 64; } #elif defined(_M_X64) || defined(_MARM64) // MSVC +#include static inline uint64_t binary_fuse_mulhi(uint64_t a, uint64_t b) { diff --git a/src/simulation/ApplyLoad.cpp b/src/simulation/ApplyLoad.cpp index b4d40fd2b6..af7f93ad71 100644 --- a/src/simulation/ApplyLoad.cpp +++ b/src/simulation/ApplyLoad.cpp @@ -1,4 +1,7 @@ #include "simulation/ApplyLoad.h" + +#include + #include "herder/Herder.h" #include "ledger/LedgerManager.h" #include "test/TxTests.h"