diff --git a/Phobos.props b/Phobos.props new file mode 100644 index 0000000000..bee83b6da5 --- /dev/null +++ b/Phobos.props @@ -0,0 +1,129 @@ + + + + + Debug + Win32 + + + DevBuild + Win32 + + + Release + Win32 + + + + + DynamicLibrary + false + v143 + NotSet + + + + + false + $(ExpandedIncludePath);$(MSBuildThisFileDirectory)src\;$(YRppDir);$(VC_IncludePath) + false + $(Configuration)\ + $(Configuration)\IntDir\ + + dbghelp.lib;onecore.lib + + + + + Level4 + true + + true + SYR_VER=2;HAS_EXCEPTIONS=0;NOMINMAX;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0601;NTDDI_VERSION=0x06010000;%(PreprocessorDefinitions);%(AdditionalDefinitions);PHOBOS_DLL="$(ProjectName).dll" + true + false + MultiThreaded + 8Bytes + false + false + StreamingSIMDExtensions2 + true + false + stdcpp20 + $(IntDir)\%(Directory) + $(IntDir)\%(Directory) + StdCall + 4100;4201;4530;4731;4740;4458;4819;5103;5105 + true + true + true + + + true + true + $(PhobosExtraLibs);%(AdditionalDependencies) + Windows + $(OutDir)$(TargetName).pdb + $(IntDir)$(TargetName).pgd + $(IntDir)$(TargetName).lib + + + + + + IS_RELEASE_VER;%(PreprocessorDefinitions) + MaxSpeed + true + + + + + + + IS_RELEASE_VER;%(PreprocessorDefinitions) + + + + + + MaxSpeed + true + + + + + + + + + + DEBUG;%(PreprocessorDefinitions) + Disabled + false + 4100;4201;4530;4731;4740;4458;4819;5103;5105;26495 + + + DEBUG;%(PreprocessorDefinitions) + + + + + + /DGIT_COMMIT="$(GitCommit)" %(AdditionalOptions) + + + /DGIT_COMMIT="$(GitCommit)" %(AdditionalOptions) + + + + + + /DGIT_BRANCH="$(GitBranch)" %(AdditionalOptions) + + + /DGIT_BRANCH="$(GitBranch)" %(AdditionalOptions) + + + + + diff --git a/Phobos.vcxproj b/Phobos.vcxproj index 9adf614f4a..76c0d576c7 100644 --- a/Phobos.vcxproj +++ b/Phobos.vcxproj @@ -3,329 +3,389 @@ true - - - Debug - Win32 - - - DevBuild - Win32 - - - Release - Win32 - + + Phobos + Phobos + {3FAF7126-F38C-4D1E-9973-C21A37870F60} + 15.0 + 10.0 + true + $(MSBuildThisFileDirectory) + $(ThisDir)YRpp + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - - - + - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + - - - - + + + + - - - - - - - + + + + + + + + - + + + + + - - - - - - - - - - - - + - + + + + + + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + + + + + + - + + + + + + + + + - - + - + + + - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + @@ -334,228 +394,13 @@ + + + + + + - - - - - - - - - 15.0 - {3FAF7126-F38C-4D1E-9973-C21A37870F60} - Phobos - 10.0 - Phobos - - - - DynamicLibrary - false - v143 - NotSet - false - - - DynamicLibrary - false - v143 - NotSet - false - - - DynamicLibrary - false - v143 - NotSet - false - - - - - - - - - - - - - - - - - - false - $(SolutionDir)src\;$(SolutionDir)src\ExtraHeaders;$(SolutionDir)yrpp;$(SolutionDir)lib;$(VC_IncludePath) - false - $(Configuration)\ - $(Configuration)\IntDir\ - - - false - $(SolutionDir)src\;$(SolutionDir)src\ExtraHeaders;$(SolutionDir)yrpp;$(SolutionDir)lib;$(VC_IncludePath) - false - $(Configuration)\ - $(Configuration)\IntDir\ - - - false - $(SolutionDir)src\;$(SolutionDir)src\ExtraHeaders;$(SolutionDir)yrpp;$(SolutionDir)lib;$(VC_IncludePath) - false - $(Configuration)\ - $(Configuration)\IntDir\ - - - - Level4 - MaxSpeed - true - - true - Caret - true - IS_RELEASE_VER;SYR_VER=2;HAS_EXCEPTIONS=0;NOMINMAX;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0601;NTDDI_VERSION=0x06010000;%(PreprocessorDefinitions);%(AdditionalDefinitions);PHOBOS_DLL="$(ProjectName).dll" - true - false - MultiThreaded - 8Bytes - false - false - StreamingSIMDExtensions2 - true - false - stdcpp20 - $(IntDir)\%(RelativeDir) - $(IntDir)\%(RelativeDir) - StdCall - %(AdditionalOptions) - 4100;4201;4530;4731;4740;4458;4819;5103;5105 - true - true - true - - - true - true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;dbghelp.lib;onecore.lib;%(AdditionalDependencies) - Windows - $(OutDir)$(TargetName).pdb - $(IntDir)$(TargetName).pgd - $(IntDir)$(TargetName).lib - - - - - - IS_RELEASE_VER;%(PreprocessorDefinitions) - - - - - Level4 - MaxSpeed - true - - true - Caret - true - SYR_VER=2;HAS_EXCEPTIONS=0;NOMINMAX;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0601;NTDDI_VERSION=0x06010000;%(PreprocessorDefinitions);%(AdditionalDefinitions);PHOBOS_DLL="$(ProjectName).dll" - true - false - MultiThreaded - 8Bytes - false - false - StreamingSIMDExtensions2 - true - false - stdcpp20 - $(IntDir)\%(RelativeDir) - $(IntDir)\%(RelativeDir) - StdCall - %(AdditionalOptions) - 4100;4201;4530;4731;4740;4458;4819;5103;5105 - true - true - true - - - true - true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;dbghelp.lib;onecore.lib;%(AdditionalDependencies) - Windows - $(OutDir)$(TargetName).pdb - $(IntDir)$(TargetName).pgd - $(IntDir)$(TargetName).lib - - - - - - - - Level4 - Disabled - true - - - true - Caret - false - DEBUG;SYR_VER=2;HAS_EXCEPTIONS=0;NOMINMAX;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0601;NTDDI_VERSION=0x06010000;%(PreprocessorDefinitions);%(AdditionalDefinitions);PHOBOS_DLL="$(ProjectName).dll" - true - false - MultiThreaded - 8Bytes - false - false - StreamingSIMDExtensions2 - true - false - stdcpp20 - $(IntDir)\%(RelativeDir) - $(IntDir)\%(RelativeDir) - StdCall - %(AdditionalOptions) - 4100;4201;4530;4731;4740;4458;4819;5103;5105;26495 - true - true - true - - - true - true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;dbghelp.lib;onecore.lib;%(AdditionalDependencies) - Windows - $(OutDir)$(TargetName).pdb - $(IntDir)$(TargetName).pgd - $(IntDir)$(TargetName).lib - - - - - - - - - /DGIT_COMMIT="$(GitCommit)" %(AdditionalOptions) - - - /DGIT_COMMIT="$(GitCommit)" %(AdditionalOptions) - - - - - /DGIT_BRANCH="$(GitBranch)" %(AdditionalOptions) - - - /DGIT_BRANCH="$(GitBranch)" %(AdditionalOptions) - - - - \ No newline at end of file diff --git a/YRpp b/YRpp index c75fa734cc..4f07999249 160000 --- a/YRpp +++ b/YRpp @@ -1 +1 @@ -Subproject commit c75fa734cca9c3ad0a05ac03cd325145ef3c3571 +Subproject commit 4f079992496d9e1113d63016861163940133cf8f diff --git a/src/Utilities/Macro.h b/src/Utilities/Macro.h index a0bdefff07..a20c8c9f6c 100644 --- a/src/Utilities/Macro.h +++ b/src/Utilities/Macro.h @@ -100,7 +100,11 @@ typedef _VTABLE _OFFSET; { \ __declspec(allocate(PATCH_SECTION_NAME)) \ Patch patch = {offset, size, (byte*)data}; \ - } + } \ + _YR_DEFINE_INCLUDE_ANCHOR( \ + _YR_PP_CAT(YrKeepPatch_, offset), \ + &STATIC_PATCH##offset::patch \ + ) #define DEFINE_PATCH_TYPED(type, offset, ...) \ namespace STATIC_PATCH##offset \ @@ -121,7 +125,7 @@ typedef _VTABLE _OFFSET; #define DEFINE_NAKED_HOOK(hook, funcname) \ void funcname(); \ - DEFINE_FUNCTION_JUMP(LJMP, hook, funcname) \ + DEFINE_FUNCTION_JUMP(LJMP, hook, funcname) \ void NAKED funcname() #pragma endregion Static Patch