diff --git a/deploy/prepare_deployment.py b/deploy/prepare_deployment.py
index 68085f85f0c..fc092ccf058 100644
--- a/deploy/prepare_deployment.py
+++ b/deploy/prepare_deployment.py
@@ -75,7 +75,8 @@
'./samples/wrapper/wrapper*.exe',
'./samples/wrappture/wrappture_example.exe',
'./samples/wrappture/fermi.exe',
- './samples/sporadic/sporadic.exe'
+ './samples/sporadic/sporadic.exe',
+ './samples/wsl_wrapper/wsl_wrapper.exe',
]
android_manager_generic_list = [
@@ -170,6 +171,7 @@
'./win_build/Build/x64/Release/test*.exe',
'./win_build/Build/x64/Release/wrappture*.exe',
'./win_build/Build/x64/Release/crypt_prog.exe',
+ './win_build/Build/x64/Release/wsl_wrapper.exe',
'./win_build/Build/ARM64/Release/htmlgfx*.exe',
'./win_build/Build/ARM64/Release/wrapper*.exe',
'./win_build/Build/ARM64/Release/vboxwrapper*.exe',
@@ -182,7 +184,8 @@
'./win_build/Build/ARM64/Release/multi_thread*.exe',
'./win_build/Build/ARM64/Release/test*.exe',
'./win_build/Build/ARM64/Release/wrappture*.exe',
- './win_build/Build/ARM64/Release/crypt_prog.exe'
+ './win_build/Build/ARM64/Release/crypt_prog.exe',
+ './win_build/Build/ARM64/Release/wsl_wrapper.exe',
]
windows_client_list = [
diff --git a/samples/wsl_wrapper/wsl_wrapper.cpp b/samples/wsl_wrapper/wsl_wrapper.cpp
new file mode 100644
index 00000000000..d5928f3496a
--- /dev/null
+++ b/samples/wsl_wrapper/wsl_wrapper.cpp
@@ -0,0 +1,20 @@
+// This file is part of BOINC.
+// http://boinc.berkeley.edu
+// Copyright (C) 2024 University of California
+//
+// BOINC is free software; you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License
+// as published by the Free Software Foundation,
+// either version 3 of the License, or (at your option) any later version.
+//
+// BOINC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with BOINC. If not, see .
+
+int main(int argc, char** argv) {
+ return 0;
+}
diff --git a/win_build/boinc.sln b/win_build/boinc.sln
index d613d033c04..c912400ec82 100644
--- a/win_build/boinc.sln
+++ b/win_build/boinc.sln
@@ -130,6 +130,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "crypt_prog", "crypt_prog.vc
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example_app_sporadic", "sporadic.vcxproj", "{0740E6DC-ADE7-4272-BAB0-52DE62325D3E}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wsl_wrapper", "wsl_wrapper.vcxproj", "{97F092A0-AF80-4E60-89CB-D811F5AFA542}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM64 = Debug|ARM64
@@ -432,6 +434,14 @@ Global
{0740E6DC-ADE7-4272-BAB0-52DE62325D3E}.Release|ARM64.Build.0 = Release|ARM64
{0740E6DC-ADE7-4272-BAB0-52DE62325D3E}.Release|x64.ActiveCfg = Release|x64
{0740E6DC-ADE7-4272-BAB0-52DE62325D3E}.Release|x64.Build.0 = Release|x64
+ {97F092A0-AF80-4E60-89CB-D811F5AFA542}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {97F092A0-AF80-4E60-89CB-D811F5AFA542}.Debug|ARM64.Build.0 = Debug|ARM64
+ {97F092A0-AF80-4E60-89CB-D811F5AFA542}.Debug|x64.ActiveCfg = Debug|x64
+ {97F092A0-AF80-4E60-89CB-D811F5AFA542}.Debug|x64.Build.0 = Debug|x64
+ {97F092A0-AF80-4E60-89CB-D811F5AFA542}.Release|ARM64.ActiveCfg = Release|ARM64
+ {97F092A0-AF80-4E60-89CB-D811F5AFA542}.Release|ARM64.Build.0 = Release|ARM64
+ {97F092A0-AF80-4E60-89CB-D811F5AFA542}.Release|x64.ActiveCfg = Release|x64
+ {97F092A0-AF80-4E60-89CB-D811F5AFA542}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/win_build/wsl_wrapper.vcxproj b/win_build/wsl_wrapper.vcxproj
new file mode 100644
index 00000000000..46223aa91e6
--- /dev/null
+++ b/win_build/wsl_wrapper.vcxproj
@@ -0,0 +1,278 @@
+
+
+
+
+
+ Debug
+ ARM64
+
+
+ Debug
+ x64
+
+
+ Release
+ ARM64
+
+
+ Release
+ x64
+
+
+
+ wsl_wrapper
+ {97F092A0-AF80-4E60-89CB-D811F5AFA542}
+
+
+
+ Application
+ MultiByte
+ v143
+
+
+ Application
+ MultiByte
+ v143
+
+
+ Application
+ MultiByte
+ v143
+
+
+ Application
+ MultiByte
+ v143
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ $(SolutionDir)Build\$(Platform)\$(Configuration)\
+ $(SolutionDir)Build\$(Platform)\$(Configuration)\
+ $(SolutionDir)Build\$(Platform)\$(Configuration)\$(ProjectName)\obj\
+ $(SolutionDir)Build\$(Platform)\$(Configuration)\$(ProjectName)\obj\
+
+
+ $(SolutionDir)Build\$(Platform)\$(Configuration)\
+ $(SolutionDir)Build\$(Platform)\$(Configuration)\
+ $(SolutionDir)Build\$(Platform)\$(Configuration)\$(ProjectName)\obj\
+ $(SolutionDir)Build\$(Platform)\$(Configuration)\$(ProjectName)\obj\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ X64
+
+
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ Speed
+ .;..;../api;../lib;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ false
+ Sync
+ MultiThreaded
+ true
+
+
+ boinc_win.h
+ $(IntDir)boinc_win.pch
+
+
+ CompileAsCpp
+ boinc_win.h;%(ForcedIncludeFiles)
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ libcmt.lib;libcpmt.lib;%(AdditionalDependencies)
+ true
+ false
+ %(DelayLoadDLLs)
+ .\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb
+ Console
+ MachineX64
+ $(OutDir)
+
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ true
+
+
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ Speed
+ .;..;../api;../lib;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ false
+ Sync
+ MultiThreaded
+ true
+
+
+ boinc_win.h
+ $(IntDir)boinc_win.pch
+
+
+ CompileAsCpp
+ boinc_win.h;%(ForcedIncludeFiles)
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ libcmt.lib;libcpmt.lib;%(AdditionalDependencies)
+ true
+ false
+ %(DelayLoadDLLs)
+ .\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb
+ Console
+ $(OutDir)
+
+
+
+
+ %(PreprocessorDefinitions)
+ true
+ true
+ X64
+
+
+
+
+
+
+ Disabled
+ .;..;../api;../lib;%(AdditionalIncludeDirectories)
+ WIN32;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ boinc_win.h
+ $(IntDir)boinc_win.pch
+
+
+ CompileAsCpp
+ %(ForcedIncludeFiles)
+
+
+ %(PreprocessorDefinitions)
+ 0x0409
+
+
+ libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;delayimp.lib;%(AdditionalDependencies)
+ true
+ false
+ %(DelayLoadDLLs)
+ .\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb
+ Console
+ MachineX64
+ $(OutDir)
+
+
+
+
+ %(PreprocessorDefinitions)
+ true
+ true
+
+
+
+
+
+
+ Disabled
+ .;..;../api;../lib;%(AdditionalIncludeDirectories)
+ WIN32;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ boinc_win.h
+ $(IntDir)boinc_win.pch
+
+
+ CompileAsCpp
+ %(ForcedIncludeFiles)
+
+
+ %(PreprocessorDefinitions)
+ 0x0409
+
+
+ libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;delayimp.lib;%(AdditionalDependencies)
+ true
+ false
+ %(DelayLoadDLLs)
+ .\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb
+ Console
+ $(OutDir)
+
+
+
+
+
+
+
+ {07bda8f7-4aaf-4a3b-b96e-ea72a143c5ae}
+ false
+
+
+ {e8f6bd7e-461a-4733-b7d8-37b09a099ed8}
+
+
+
+
+
+
+
\ No newline at end of file