summaryrefslogtreecommitdiff
path: root/winbuild
Commit message (Collapse)AuthorAgeFilesLines
* winbuild: Document CURL_STATICLIB requirement for static libcurlJay Satiro2019-12-151-0/+6
| | | | | | | | | | | A static libcurl (ie winbuild mode=static) requires that the user define CURL_STATICLIB when using it in their application. This is already covered in the FAQ and INSTALL.md, but is a pretty important point so now it's noted in the BUILD.WINDOWS.txt as well. Assisted-by: Michael Vittiglio Closes https://github.com/curl/curl/pull/4721
* winbuild: Define CARES_STATICLIB when WITH_CARES=staticandrew_ishchuk2019-12-091-0/+3
| | | | | | | | When libcurl is built with MODE=static, c-ares is forced into static linkage too. That doesn't happen when MODE=dll so linker would break over undefined symbols. closes https://github.com/curl/curl/pull/4688
* build: Disable Visual Studio warning "conditional expression is constant"Jay Satiro2019-12-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Disable warning C4127 "conditional expression is constant" globally in curl_setup.h for when building with Microsoft's compiler. This mainly affects building with the Visual Studio project files found in the projects dir. Prior to this change the cmake and winbuild build systems already disabled 4127 globally for when building with Microsoft's compiler. Also, 4127 was already disabled for all build systems in the limited circumstance of the WHILE_FALSE macro which disabled the warning specifically for while(0). This commit removes the WHILE_FALSE macro and all other cruft in favor of disabling globally in curl_setup. Background: We have various macros that cause 0 or 1 to be evaluated, which would cause warning C4127 in Visual Studio. For example this causes it: #define Curl_resolver_asynch() 1 Full behavior is not clearly defined and inconsistent across versions. However it is documented that since VS 2015 Update 3 Microsoft has addressed this somewhat but not entirely, not warning on while(true) for example. Prior to this change some C4127 warnings occurred when I built with Visual Studio using the generated projects in the projects dir. Closes https://github.com/curl/curl/pull/4658
* winbuild: add ENABLE_UNICODE optionapique2019-10-042-0/+14
| | | | | Fixes https://github.com/curl/curl/issues/4308 Closes https://github.com/curl/curl/pull/4309
* winbuild: Add manifest to curl.exe for proper OS version detectionJoel Depooter2019-09-231-2/+2
| | | | | | | | | | This is a small fix to commit ebd213270a017a6830928ee2e1f4a9cabc799898 in pull request #1221. That commit added the CURL_EMBED_MANIFEST flag to CURL_RC_FLAGS. However, later in the file CURL_RC_FLAGS is overwritten. The fix is to append values to CURL_RC_FLAGS instead of overwriting Closes #4399
* winbuild/MakefileBuild.vc: Add vsshBernhard Walle2019-09-111-0/+4
| | | | | | | | | | Without that modification, the Windows build using the makefiles doesn't work. Signed-off-by: Bernhard Walle <bernhard.walle@posteo.eu> Fixes #4322 Closes #4323
* winbuild/MakefileBuild.vc: Fix line endingsBernhard Walle2019-09-111-7/+7
| | | | | | The file had mixed line endings. Signed-off-by: Bernhard Walle <bernhard.walle@posteo.eu>
* winbuild: add vquic to list of build directoriesDaniel Stenberg2019-07-291-0/+4
| | | | | | | | | This fixes the winbuild build method which broke several days ago when experimental quic support was added in 3af0e76. Reported-by: Michael Lee Fixes https://github.com/curl/curl/issues/4158
* winbuild: Change Makefile to honor ENABLE_OPENSSL_AUTO_LOAD_CONFIGShankar Jadhavar2019-07-061-3/+9
| | | | | | | | | | | | - Made changes so that ENABLE_OPENSSL_AUTO_LOAD_CONFIG will be honored. - Also removed some ^M chars from file. Prior to this change while building on Windows platform even if we pass the ENABLE_OPENSSL_AUTO_LOAD_CONFIG option with value as "no" it does not set the CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG flag. Closes https://github.com/curl/curl/pull/4086
* winbuild: use WITH_PREFIX if givenThomas Gamper2019-06-173-3/+13
| | | | Closes #4031
* winbuild: Use two space indentationSteve Holme2019-05-232-6/+7
| | | | Closes #3930
* gen_resp_file.bat: Removed unnecessary @ from all but the first commandSteve Holme2019-05-091-4/+6
| | | | | | There is need to use @ on every command once echo has been turned off. Closes #3854
* winbuild: Add our standard copyright header to the winbuild batch filesSteve Holme2019-05-053-1/+66
|
* makedebug: Fix ERRORLEVEL detection after running where.exeSteve Holme2019-05-051-1/+1
| | | | Closes #3838
* winbuild: Support MultiSSL buildsJan-E2019-04-132-6/+6
| | | | | | | | | | - Remove the lines in winbuild/Makefile.vc that generate an error with multiple SSL backends. - Add /DCURL_WITH_MULTI_SSL in winbuild/MakefileBuild.vc if multiple SSL backends are set. Closes https://github.com/curl/curl/pull/3772
* winbuild: conditionally use /DZLIB_WINAPIMarcel Raad2019-01-141-1/+3
| | | | | | | | | | | zlibwapi.lib (dynamic library) and zlibstat.lib (static library) have the ZLIB_WINAPI define set by default. Using them requires that define too. Ref: https://zlib.net/DLL_FAQ.txt Fixes https://github.com/curl/curl/issues/3133 Closes https://github.com/curl/curl/pull/3460
* curl: enabled Windows VT Support and UTF-8 outputRich Turner2018-09-292-0/+14
| | | | | | | Enabled Console VT support (if running OS supports VT) in tool_main.c. Fixes #3008 Closes #3011
* whitespace fixesViktor Szakats2018-09-231-1/+0
| | | | | | | | | | | - replace tabs with spaces where possible - remove line ending spaces - remove double/triple newlines at EOF - fix a non-UTF-8 character - cleanup a few indentations/line continuations in manual examples Closes https://github.com/curl/curl/pull/3037
* URL and mailmap updates, remove an obsolete directory [ci skip]Viktor Szakats2018-09-222-2/+2
| | | | Closes https://github.com/curl/curl/pull/3031
* configure: add option to disable automatic OpenSSL config loadingPhilipp Waehnert2018-09-072-0/+9
| | | | | | | | | | | | | | | Sometimes it may be considered a security risk to load an external OpenSSL configuration automatically inside curl_global_init(). The configuration option --disable-ssl-auto-load-config disables this automatism. The Windows build scripts winbuild/Makefile.vs provide a corresponding option ENABLE_SSL_AUTO_LOAD_CONFIG accepting a boolean value. Setting neither of these options corresponds to the previous behavior loading the external OpenSSL configuration automatically. Fixes #2724 Closes #2791
* curl.rc: embed manifest for correct Windows version detectionViktor Szakats2018-05-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | * enable it in `src/Makefile.m32` * enable it in `winbuild/MakefileBuild.vc` if a custom manifest is _not_ enabled via the existing `EMBED_MANIFEST` option * enable it for all Windows CMake builds (also disable the built-in minimal manifest, added by CMake by default.) For other build systems, add the `-DCURL_EMBED_MANIFEST` option to the list of RC (Resource Compiler) flags to enable the manifest included in `src/curl.rc`. This may require to disable whatever automatic or other means in which way another manifest is added to `curl.exe`. Notice that Borland C doesn't support this method due to a long-pending resource compiler bug. Watcom C may also not handle it correctly when the `-zm` `wrc` option is used (this option may be unnecessary though) and regardless of options in certain earlier revisions of the 2.0 beta version. Closes https://github.com/curl/curl/pull/1221 Fixes https://github.com/curl/curl/issues/2591
* winbuild: In MakefileBuild.vc fix typo DISTDIR->DIRDISTrichardthe3rd2018-05-271-1/+1
| | | | | | Change requirement from $(DISTDIR) to $(DIRDIST) closes #2603
* winbuild: only delete OUTFILE if it existsrichardthe3rd2018-05-271-1/+3
| | | | | | | | This removes the slightly annoying "Could not file LIBCURL_OBJS.inc" and "Could not find CURL_OBJS.inc.inc" message when building into a clean folder. closes #2602
* schannel: add support for CURLOPT_CAINFODan McNulty2018-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move verify_certificate functionality in schannel.c into a new file called schannel_verify.c. Additionally, some structure defintions from schannel.c have been moved to schannel.h to allow them to be used in schannel_verify.c. - Make verify_certificate functionality for Schannel available on all versions of Windows instead of just Windows CE. verify_certificate will be invoked on Windows CE or when the user specifies CURLOPT_CAINFO and CURLOPT_SSL_VERIFYPEER. - In verify_certificate, create a custom certificate chain engine that exclusively trusts the certificate store backed by the CURLOPT_CAINFO file. - doc updates of --cacert/CAINFO support for schannel - Use CERT_NAME_SEARCH_ALL_NAMES_FLAG when invoking CertGetNameString when available. This implements a TODO in schannel.c to improve handling of multiple SANs in a certificate. In particular, all SANs will now be searched instead of just the first name. - Update tool_operate.c to not search for the curl-ca-bundle.crt file when using Schannel to maintain backward compatibility. Previously, any curl-ca-bundle.crt file found in that search would have been ignored by Schannel. But, with CAINFO support, the file found by that search would have been used as the certificate store and could cause issues for any users that have curl-ca-bundle.crt in the search path. - Update url.c to not set the build time CURL_CA_BUNDLE if the selected SSL backend is Schannel. We allow setting CA location for schannel only when explicitly specified by the user via CURLOPT_CAINFO / --cacert. - Add new test cases 3000 and 3001. These test cases check that the first and last SAN, respectively, matches the connection hostname. New test certificates have been added for these cases. For 3000, the certificate prefix is Server-localhost-firstSAN and for 3001, the certificate prefix is Server-localhost-secondSAN. - Remove TODO 15.2 (Add support for custom server certificate validation), this commit addresses it. Closes https://github.com/curl/curl/pull/1325
* winbuild: Support custom devel paths for each dependencykdekker2018-04-173-86/+152
| | | | | | | | | | | | | | | | | | - Support custom devel paths for c-ares, mbedTLS, nghttp2, libSSH2, OpenSSL and zlib. Respectively: CARES_PATH, MBEDTLS_PATH, NGHTTP2_PATH, SSH2_PATH, SSL_PATH and ZLIB_PATH. - Use lib.exe for making the static library instead of link.exe /lib. The latter is undocumented and could cause problems as noted in the comments. - Remove a dangling URL that no longer worked. (I was not able to find the IDN download at MSDN/microsoft.com, so it seems to be removed.) - Remove custom override for release-ssh2-ssl-dll-zlib configuration. Nobody knows why it was there and as far as we can see is unnecessary. Closes https://github.com/curl/curl/pull/2474
* winbuild: fix URLkdekker2018-04-091-1/+1
| | | | | | | Follow up on https://github.com/curl/curl/pull/2472. Now using en-us instead of nl-nl as language code in the URL. Closes https://github.com/curl/curl/pull/2475
* winbuild: updated the documentationkdekker2018-04-091-8/+18
| | | | | | | The setenv command no longer exists and visual studio build prompts got changed. Used Visual Studio 2015/2017 as reference. Closes #2472
* winbuild: make the clean target work without build-typekdekker2018-04-062-11/+18
| | | | | | | | | Due to the check in Makefile.vc and MakefileBuild.vc, no make call can be invoked unless a build-type was specified. However, a clean target only existed when a build type was specified. As a result, the clean target was unreachable. Made clean target unconditional. Closes #2455
* winbuild: prefer documented zlib library namesrichardthe3rd2018-03-041-0/+14
| | | | | | | | | | | | Check for existence of import and static libraries with documented names and use them if they do. Fallback to previous names. According to https://github.com/madler/zlib/blob/master/win32/README-WIN32.txt on Windows, the names of the import library is "zdll.lib" and static library is "zlib.lib". closes #2354
* winbuild: Use macros for the names of some build utilitiesRod Widdowson2018-02-231-2/+7
| | | | | | | | | | - Add macros to the top of the makefile for rc and mt utilities so that it is easier to change their locations. Bug: https://curl.haxx.se/mail/lib-2018-02/0075.html Reported-by: Stefan Kanthak Closes https://github.com/curl/curl/issues/2329
* winbuild: Use CALL to run batch scriptsRod Widdowson2018-02-221-2/+2
| | | | | | | Co-authored-by: Stefan Kanthak Closes https://github.com/curl/curl/issues/2330 Closes https://github.com/curl/curl/pull/2331
* build: fix windows build methods for curl_ctype.cJay Satiro2018-01-301-1/+4
| | | | | | | - Fix winbuild and the VS project generator to treat curl_ctype.{c,h} as curlx files since they are required by both src and lib. Follow-up to 4272a0b which added curl_ctype.
* winbuild: make linker generate proper PDBAdam Marcionek2018-01-301-1/+1
| | | | | | | Link.exe requires /DEBUG to properly generate a full pdb file on release builds. Closes #2274
* Makefile.vc: Added our standard copyright headerSteve Holme2017-12-221-0/+22
|
* winbuild: Added support for VC15Steve Holme2017-12-223-4/+4
|
* winbuild/BUILD.WINDOWS.txt: mention WITH_NGHTTP2Daniel Stenberg2017-10-121-0/+1
|
* winbuild: fix embedded manifest optiontheantigod2017-08-261-1/+1
| | | | | | Embedded manifest option didn't work due to incorrect path. Fixes https://github.com/curl/curl/issues/1832
* BUILD.WINDOWS: mention buildconf.bat for builds off gitDaniel Stenberg2017-08-031-3/+10
|
* winbuild: re-enable warning C4127 for curl toolMarcel Raad2017-07-141-1/+1
| | | | | Disabled in cda19a345f6970e22fe8b7a808aeb8f086a21eac. It only needs to be disabled for libcurl.
* winbuild: build with warning level 4Marcel Raad2017-07-131-4/+4
| | | | | | | | | | This is consistent with 7bc64561a2e63ca93e4b0b31d350773ba80955c2, which changed the warning level from 3 to 4 for the Visual Studio project files. But disable the level 4 warning C4127 "conditional expression is constant", as that one is issued by older versions of the Windows SDK as well as curl itself under some circumstances. Closes https://github.com/curl/curl/pull/1667
* curl_setup: always define WIN32_LEAN_AND_MEAN on WindowsMarcel Raad2017-07-111-1/+1
| | | | | | | | | Make sure to always define WIN32_LEAN_AND_MEAN before including any Windows headers to avoid pulling in unnecessary headers. This avoids unnecessary macro clashes and compiler warnings. Ref: https://github.com/curl/curl/issues/1562 Closes https://github.com/curl/curl/pull/1672
* winbuild: fix boringssl buildHenrik S. Gaßmann2017-06-241-1/+4
| | | | | | | | | | | | Compile with `WIN32_LEAN_AND_MEAN` which prevents `windows.h` from including too much clutter including `wincrypt.h` which in turn contains some preprocessor macros that clash with boringssl symbols. Detect boringssl by checking the existance of `is_boringssl.h` and set the corresponding `HAVE_BORINGSSL` for compilation which is used in `ldap.c` to undefine the evil macros. Closes #1610
* includes: remove curl/curlbuild.h and curl/curlrules.hDaniel Stenberg2017-06-141-3/+0
| | | | | | | | Rely entirely on curl/system.h now. Introduced in Aug 2008 with commit 14240e9e109f. Now gone. Fixes #1456
* winbuild: fix the nghttp2 buildAnatol Belski2017-05-242-16/+28
| | | | Closes #1321
* winbuild: add basic support for OpenSSL 1.1.xAnatol Belski2017-03-131-0/+8
| | | | | | - Auto-detect OpenSSL 1.1 libs Closes https://github.com/curl/curl/pull/1322
* winbuild: add note on auto-detection of MACHINE in Makefile.vcSimon Warta2017-02-161-0/+3
| | | | Closes #1265
* VC: remove the makefile.vc6 build infraDaniel Stenberg2017-01-231-81/+0
| | | | | | The winbuild/ build files is now the single MSVC makefile build choice. Closes #1215
* winbuild: add config option ENABLE_NGHTTP2Jan-E2016-11-252-0/+28
| | | | Closes #1141
* winbuild: remove strcase.obj from curl buildDaniel Stenberg2016-11-021-3/+0
| | | | | | Reported-by: Bruce Stephens Fixes #1098
* msvc builds: s/rawstr/strcaseDaniel Stenberg2016-10-311-3/+3
| | | | Follow-up to 811a693b