[cpp-sp] 02/03: CPPSP-12 Windows: Investigate making shibsp a static library (not a DLL)
Rod Widdowson
rdw at steadingsoftware.com
Mon Jun 23 14:43:58 UTC 2025
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch dev/CPPSP-12
in repository cpp-sp.
View the commit online:
http://git.shibboleth.net/view/?p=cpp-sp.git;a=commit;h=44502c60dfead5f025c88476be50d0b6384f8931
commit 44502c60dfead5f025c88476be50d0b6384f8931
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Mon Jun 23 15:33:14 2025 +0100
CPPSP-12 Windows: Investigate making shibsp a static library (not a DLL)
https://shibboleth.atlassian.net/browse/CPPSP-12
Stage 1:
Remove declspec/dllimport/dllexport decorators
Change shibsp to be a static lib
Add missing libs to the three child projects
---
Projects/vc22/Apache.vcxproj | 14 +++++++-------
Projects/vc22/Tests.vcxproj | 14 +++++++-------
Projects/vc22/iis.vcxproj | 12 ++++++------
Projects/vc22/shibsp.vcxproj | 32 +++++++++++++++++++++++++-------
shibsp/base.h | 4 ++--
5 files changed, 47 insertions(+), 29 deletions(-)
diff --git a/Projects/vc22/Apache.vcxproj b/Projects/vc22/Apache.vcxproj
index f13251f8..9378ca63 100644
--- a/Projects/vc22/Apache.vcxproj
+++ b/Projects/vc22/Apache.vcxproj
@@ -149,7 +149,7 @@
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\shibsp</AdditionalIncludeDirectories>
@@ -176,7 +176,7 @@
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>
@@ -200,7 +200,7 @@
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>
@@ -224,7 +224,7 @@
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\shibsp</AdditionalIncludeDirectories>
@@ -251,7 +251,7 @@
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>
@@ -279,7 +279,7 @@
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;libhttpd.lib;libapr-1.lib;libaprutil-1.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\shibsp</AdditionalIncludeDirectories>
@@ -289,4 +289,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/Projects/vc22/Tests.vcxproj b/Projects/vc22/Tests.vcxproj
index dcfb75d6..ef84561e 100644
--- a/Projects/vc22/Tests.vcxproj
+++ b/Projects/vc22/Tests.vcxproj
@@ -232,7 +232,7 @@
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -251,7 +251,7 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -266,7 +266,7 @@
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
@@ -281,7 +281,7 @@
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -300,7 +300,7 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
@@ -319,10 +319,10 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/Projects/vc22/iis.vcxproj b/Projects/vc22/iis.vcxproj
index ab1c235b..59badeca 100644
--- a/Projects/vc22/iis.vcxproj
+++ b/Projects/vc22/iis.vcxproj
@@ -156,7 +156,7 @@
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -180,7 +180,7 @@
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -200,7 +200,7 @@
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -220,7 +220,7 @@
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -244,7 +244,7 @@
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -268,7 +268,7 @@
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
- <AdditionalDependencies>shibsp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>shibsp.lib;crypt32.lib;Winhttp.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/Projects/vc22/shibsp.vcxproj b/Projects/vc22/shibsp.vcxproj
index c4f7892a..f7dee94f 100644
--- a/Projects/vc22/shibsp.vcxproj
+++ b/Projects/vc22/shibsp.vcxproj
@@ -249,39 +249,39 @@ rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"$(IntDir)\%(Filename).res"
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
@@ -357,6 +357,9 @@ rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"$(IntDir)\%(Filename).res"
<EnableUAC>false</EnableUAC>
<AdditionalDependencies>crypt32.lib;Winhttp.lib;Ws2_32.lib;$(IntDir)\NativeEventLog.res;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
+ <Lib>
+ <AdditionalDependencies>$(IntDir)\NativeEventLog.res;</AdditionalDependencies>
+ </Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@@ -378,6 +381,9 @@ rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"$(IntDir)\%(Filename).res"
<EnableUAC>false</EnableUAC>
<AdditionalDependencies>crypt32.lib;Winhttp.lib;Ws2_32.lib;$(IntDir)\NativeEventLog.res;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
+ <Lib>
+ <AdditionalDependencies>$(IntDir)\NativeEventLog.res;</AdditionalDependencies>
+ </Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
@@ -395,6 +401,9 @@ rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"$(IntDir)\%(Filename).res"
<EnableUAC>false</EnableUAC>
<AdditionalDependencies>crypt32.lib;Winhttp.lib;Ws2_32.lib;$(IntDir)\NativeEventLog.res;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
+ <Lib>
+ <AdditionalDependencies>$(IntDir)\NativeEventLog.res;</AdditionalDependencies>
+ </Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
@@ -412,6 +421,9 @@ rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"$(IntDir)\%(Filename).res"
<EnableUAC>false</EnableUAC>
<AdditionalDependencies>crypt32.lib;Winhttp.lib;Ws2_32.lib;$(IntDir)\NativeEventLog.res;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
+ <Lib>
+ <AdditionalDependencies>$(IntDir)\NativeEventLog.res;</AdditionalDependencies>
+ </Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
@@ -433,6 +445,9 @@ rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"$(IntDir)\%(Filename).res"
<EnableUAC>false</EnableUAC>
<AdditionalDependencies>crypt32.lib;Winhttp.lib;Ws2_32.lib;$(IntDir)\NativeEventLog.res;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
+ <Lib>
+ <AdditionalDependencies>$(IntDir)\NativeEventLog.res;</AdditionalDependencies>
+ </Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
@@ -454,8 +469,11 @@ rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"$(IntDir)\%(Filename).res"
<EnableUAC>false</EnableUAC>
<AdditionalDependencies>crypt32.lib;Winhttp.lib;Ws2_32.lib;$(IntDir)\NativeEventLog.res;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
+ <Lib>
+ <AdditionalDependencies>$(IntDir)\NativeEventLog.res;</AdditionalDependencies>
+ </Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/shibsp/base.h b/shibsp/base.h
index 647b919e..199d1fc8 100644
--- a/shibsp/base.h
+++ b/shibsp/base.h
@@ -30,8 +30,8 @@
// Windows and GCC4 Symbol Visibility Macros
#ifdef WIN32
- #define SHIBSP_IMPORT __declspec(dllimport)
- #define SHIBSP_EXPORT __declspec(dllexport)
+ #define SHIBSP_IMPORT
+ #define SHIBSP_EXPORT
#define SHIBSP_DLLLOCAL
#define SHIBSP_DLLPUBLIC
#else
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list