[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[XENCONS PATCH] Dynamically link UCRT into release binaries



Since we target Windows 10 and later, we have access to ucrtbase.dll.

Use the Hybrid CRT technique to avoid having to statically link the
entire CRT.

Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
---
 vs2019/xencons_monitor/xencons_monitor.vcxproj | 4 ++++
 vs2019/xencons_tty/xencons_tty.vcxproj         | 4 ++++
 vs2022/xencons_monitor/xencons_monitor.vcxproj | 4 ++++
 vs2022/xencons_tty/xencons_tty.vcxproj         | 4 ++++
 4 files changed, 16 insertions(+)

diff --git a/vs2019/xencons_monitor/xencons_monitor.vcxproj 
b/vs2019/xencons_monitor/xencons_monitor.vcxproj
index f94d26d..ca1da4e 100644
--- a/vs2019/xencons_monitor/xencons_monitor.vcxproj
+++ b/vs2019/xencons_monitor/xencons_monitor.vcxproj
@@ -34,6 +34,10 @@
     <Link>
       
<AdditionalDependencies>wtsapi32.lib;cfgmgr32.lib;setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
+    <Link Condition="'$(UseDebugLibraries)'=='false'">
+      
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries);libucrt.lib</IgnoreSpecificDefaultLibraries>
+      <AdditionalOptions>%(AdditionalOptions) 
/defaultlib:ucrt.lib</AdditionalOptions>
+    </Link>
     <ResourceCompile>
       
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
diff --git a/vs2019/xencons_tty/xencons_tty.vcxproj 
b/vs2019/xencons_tty/xencons_tty.vcxproj
index 303f158..e2cf04a 100644
--- a/vs2019/xencons_tty/xencons_tty.vcxproj
+++ b/vs2019/xencons_tty/xencons_tty.vcxproj
@@ -31,6 +31,10 @@
     <Link>
       
<AdditionalDependencies>setupapi.lib;userenv.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
+    <Link Condition="'$(UseDebugLibraries)'=='false'">
+      
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries);libucrt.lib</IgnoreSpecificDefaultLibraries>
+      <AdditionalOptions>%(AdditionalOptions) 
/defaultlib:ucrt.lib</AdditionalOptions>
+    </Link>
     <ResourceCompile>
       
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
diff --git a/vs2022/xencons_monitor/xencons_monitor.vcxproj 
b/vs2022/xencons_monitor/xencons_monitor.vcxproj
index a14203f..58e881d 100644
--- a/vs2022/xencons_monitor/xencons_monitor.vcxproj
+++ b/vs2022/xencons_monitor/xencons_monitor.vcxproj
@@ -34,6 +34,10 @@
     <Link>
       
<AdditionalDependencies>wtsapi32.lib;cfgmgr32.lib;setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
+    <Link Condition="'$(UseDebugLibraries)'=='false'">
+      
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries);libucrt.lib</IgnoreSpecificDefaultLibraries>
+      <AdditionalOptions>%(AdditionalOptions) 
/defaultlib:ucrt.lib</AdditionalOptions>
+    </Link>
     <ResourceCompile>
       
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
diff --git a/vs2022/xencons_tty/xencons_tty.vcxproj 
b/vs2022/xencons_tty/xencons_tty.vcxproj
index 73e4d6f..bf06dfa 100644
--- a/vs2022/xencons_tty/xencons_tty.vcxproj
+++ b/vs2022/xencons_tty/xencons_tty.vcxproj
@@ -31,6 +31,10 @@
     <Link>
       
<AdditionalDependencies>setupapi.lib;userenv.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
+    <Link Condition="'$(UseDebugLibraries)'=='false'">
+      
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries);libucrt.lib</IgnoreSpecificDefaultLibraries>
+      <AdditionalOptions>%(AdditionalOptions) 
/defaultlib:ucrt.lib</AdditionalOptions>
+    </Link>
     <ResourceCompile>
       
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
-- 
2.49.0.windows.1



Ngoc Tu Dinh | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.