Skip to content

Commit c172e68

Browse files
committed
Integrate libcurl statically into GUP.exe to remove dependency on libcurl.dll
1 parent ab87208 commit c172e68

File tree

2 files changed

+31
-25
lines changed

2 files changed

+31
-25
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,12 @@ How to build it?
7171
`cd <your WinGUp source path>\curl\winbuild\` then run:
7272
`set WINBUILD_ACKNOWLEDGE_DEPRECATED=yes`
7373
3. Compile cURL by using one of the following commands, according the mode and architecture of WinGUp you want to build.
74-
- x64 release: `nmake /f Makefile.vc mode=dll vc=15 RTLIBCFG=static MACHINE=x64`
75-
- x64 debug: `nmake /f Makefile.vc mode=dll vc=15 RTLIBCFG=static DEBUG=yes MACHINE=x64`
76-
- x86 release: `nmake /f Makefile.vc mode=dll vc=15 RTLIBCFG=static MACHINE=x86`
77-
- x86 debug: `nmake /f Makefile.vc mode=dll vc=15 RTLIBCFG=static DEBUG=yes MACHINE=x86`
78-
- ARM64 release: `nmake /f Makefile.vc mode=dll vc=15 RTLIBCFG=static MACHINE=ARM64`
79-
- ARM64 debug: `nmake /f Makefile.vc mode=dll vc=15 RTLIBCFG=static DEBUG=yes MACHINE=ARM64`
74+
- x64 release: `nmake /f Makefile.vc mode=static vc=15 RTLIBCFG=static MACHINE=x64`
75+
- x64 debug: `nmake /f Makefile.vc mode=static vc=15 RTLIBCFG=static DEBUG=yes MACHINE=x64`
76+
- x86 release: `nmake /f Makefile.vc mode=static vc=15 RTLIBCFG=static MACHINE=x86`
77+
- x86 debug: `nmake /f Makefile.vc mode=static vc=15 RTLIBCFG=static DEBUG=yes MACHINE=x86`
78+
- ARM64 release: `nmake /f Makefile.vc mode=static vc=15 RTLIBCFG=static MACHINE=ARM64`
79+
- ARM64 debug: `nmake /f Makefile.vc mode=static vc=15 RTLIBCFG=static DEBUG=yes MACHINE=ARM64`
8080

8181
* Step 2: Open [`vcproj\GUP.sln`](https://github.com/gup4win/wingup/blob/master/vcproj/GUP.sln) with VS2022.
8282

vcproj/GUP.vcxproj

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,13 @@
9595
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
9696
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
9797
<IntDir>$(Configuration)\</IntDir>
98-
<LinkIncremental>true</LinkIncremental>
98+
<LinkIncremental>false</LinkIncremental>
9999
</PropertyGroup>
100100
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
101-
<LinkIncremental>true</LinkIncremental>
101+
<LinkIncremental>false</LinkIncremental>
102102
</PropertyGroup>
103103
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
104-
<LinkIncremental>true</LinkIncremental>
104+
<LinkIncremental>false</LinkIncremental>
105105
</PropertyGroup>
106106
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
107107
<OutDir>..\bin\</OutDir>
@@ -127,18 +127,20 @@
127127
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
128128
<PrecompiledHeader />
129129
<WarningLevel>Level4</WarningLevel>
130-
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
130+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
131131
<TreatWarningAsError>true</TreatWarningAsError>
132132
<EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
133133
<LanguageStandard>stdcpp20</LanguageStandard>
134134
<LanguageStandard_C>stdc17</LanguageStandard_C>
135135
</ClCompile>
136136
<Link>
137-
<AdditionalDependencies>libcurl_debug.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;Crypt32.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
138-
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-x86-debug-dll-ipv6-sspi-schannel\lib;Bin\x86\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
139-
<GenerateDebugInformation>true</GenerateDebugInformation>
137+
<AdditionalDependencies>libcurl_a_debug.lib;Ws2_32.lib;Wldap32.lib;Crypt32.lib;Normaliz.lib;Secur32.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
138+
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-x86-debug-static-ipv6-sspi-schannel\lib;Bin\x86\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
139+
<GenerateDebugInformation>DebugFastLink</GenerateDebugInformation>
140140
<SubSystem>Windows</SubSystem>
141141
<TargetMachine>MachineX86</TargetMachine>
142+
<OptimizeReferences>true</OptimizeReferences>
143+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
142144
</Link>
143145
<PreLinkEvent>
144146
<Command>
@@ -161,10 +163,12 @@
161163
<LanguageStandard_C>stdc17</LanguageStandard_C>
162164
</ClCompile>
163165
<Link>
164-
<AdditionalDependencies>libcurl_debug.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;Crypt32.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
165-
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-x64-debug-dll-ipv6-sspi-schannel\lib;Bin\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
166-
<GenerateDebugInformation>true</GenerateDebugInformation>
166+
<AdditionalDependencies>libcurl_a_debug.lib;Ws2_32.lib;Wldap32.lib;Crypt32.lib;Normaliz.lib;Secur32.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
167+
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-x64-debug-static-ipv6-sspi-schannel\lib;Bin\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
168+
<GenerateDebugInformation>DebugFastLink</GenerateDebugInformation>
167169
<SubSystem>Windows</SubSystem>
170+
<OptimizeReferences>true</OptimizeReferences>
171+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
168172
</Link>
169173
<PreLinkEvent>
170174
<Command>
@@ -187,10 +191,12 @@
187191
<LanguageStandard_C>stdc17</LanguageStandard_C>
188192
</ClCompile>
189193
<Link>
190-
<AdditionalDependencies>libcurl_debug.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;Crypt32.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
191-
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-ARM64-debug-dll-ipv6-sspi-schannel\lib;Bin\arm64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
192-
<GenerateDebugInformation>true</GenerateDebugInformation>
194+
<AdditionalDependencies>libcurl_a_debug.lib;Ws2_32.lib;Wldap32.lib;Crypt32.lib;Normaliz.lib;Secur32.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
195+
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-ARM64-debug-static-ipv6-sspi-schannel\lib;Bin\arm64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
196+
<GenerateDebugInformation>DebugFastLink</GenerateDebugInformation>
193197
<SubSystem>Windows</SubSystem>
198+
<OptimizeReferences>true</OptimizeReferences>
199+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
194200
</Link>
195201
<PreLinkEvent>
196202
<Command>
@@ -216,8 +222,8 @@
216222
<LanguageStandard_C>stdc17</LanguageStandard_C>
217223
</ClCompile>
218224
<Link>
219-
<AdditionalDependencies>libcurl.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;Crypt32.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
220-
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-x86-release-dll-ipv6-sspi-schannel\lib;Bin\x86\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
225+
<AdditionalDependencies>libcurl_a.lib;Ws2_32.lib;Wldap32.lib;Crypt32.lib;Normaliz.lib;Secur32.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
226+
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-x86-release-static-ipv6-sspi-schannel\lib;Bin\x86\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
221227
<GenerateDebugInformation>false</GenerateDebugInformation>
222228
<SubSystem>Windows</SubSystem>
223229
<OptimizeReferences>true</OptimizeReferences>
@@ -260,8 +266,8 @@ del ..\bin\GUP.ipdb</Command>
260266
<LanguageStandard_C>stdc17</LanguageStandard_C>
261267
</ClCompile>
262268
<Link>
263-
<AdditionalDependencies>libcurl.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;Crypt32.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
264-
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-x64-release-dll-ipv6-sspi-schannel\lib;Bin\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
269+
<AdditionalDependencies>libcurl_a.lib;Ws2_32.lib;Wldap32.lib;Crypt32.lib;Normaliz.lib;Secur32.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
270+
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-x64-release-static-ipv6-sspi-schannel\lib;Bin\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
265271
<GenerateDebugInformation>false</GenerateDebugInformation>
266272
<SubSystem>Windows</SubSystem>
267273
<OptimizeReferences>true</OptimizeReferences>
@@ -303,8 +309,8 @@ del ..\bin64\GUP.ipdb</Command>
303309
<LanguageStandard_C>stdc17</LanguageStandard_C>
304310
</ClCompile>
305311
<Link>
306-
<AdditionalDependencies>libcurl.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;Shell32.lib;Crypt32.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
307-
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-ARM64-release-dll-ipv6-sspi-schannel\lib;Bin\arm64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
312+
<AdditionalDependencies>libcurl_a.lib;Ws2_32.lib;Wldap32.lib;Crypt32.lib;Normaliz.lib;Secur32.lib;ZipLib.lib;zlib.lib;lzma.lib;bzip2.lib;comctl32.lib;shlwapi.lib;Shell32.lib;wintrust.lib;Sensapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
313+
<AdditionalLibraryDirectories>..\curl\builds\libcurl-vc15-ARM64-release-static-ipv6-sspi-schannel\lib;Bin\arm64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
308314
<GenerateDebugInformation>false</GenerateDebugInformation>
309315
<SubSystem>Windows</SubSystem>
310316
<OptimizeReferences>true</OptimizeReferences>

0 commit comments

Comments
 (0)