summaryrefslogtreecommitdiff
path: root/winbuild
Commit message (Collapse)AuthorAgeFilesLines
* winbuild: fix makefile cleanJay Satiro2023-02-232-3/+13
| | | | | | | | | | | | | | | | | | | | | - Fix and move 'clean' code that removes the output and obj directories trees from MakefileBuild.vc to Makefile.vc. Prior to this change the 'clean' code did not work right because the variables containing the directory names were not fully initialized and the rmdir syntax was sometimes incorrect (typos). DIRDIST for example was set to ..\builds\ and not ..\builds\$(CONFIG_NAME_LIB)\ so it would remove the former and not the latter. If WITH_PREFIX was set then that directory was removed instead. Also, DIRDIST (the output directory) even if initialized should not be removed by MakefileBuild.vc because by that time it could be set to a user directory that may contain other files if WITH_PREFIX is set (eg we don't want rmdir /s /q C:\usr\local). Therefore we remove from Makefile.vc before any of that happens. I added a comment in both makefiles explaining this. Closes https://github.com/curl/curl/pull/10576
* winbuild: document that arm64 is supportedFredrik2023-01-241-1/+1
| | | | | | Building an arm64 version works flawlessly with the VS arm64 toolset. Closes https://github.com/curl/curl/pull/10332
* copyright: update all copyright lines and remove year rangesDaniel Stenberg2023-01-036-6/+6
| | | | | | | | | | | | - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - saves us from pointless churn - git keeps history for us - the year range is kept in COPYING checksrc is updated to allow non-year using copyright statements Closes #10205
* winidn: drop WANT_IDN_PROTOTYPESViktor Szakats2022-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | | `WANT_IDN_PROTOTYPES` was necessary to avoid using a header that came via an optional package. MS stopped distributing this package some years ago and the winidn definitions are part of standard headers (via `windows.h`) since Vista. Auto-detect Vista inside `lib/idn_win32.c` and enable the manual definitions if building for an older Windows. This allows to delete this manual knob from all build-systems. Also drop the `_SAL_VERSION` sub-case: Our manual definitions are now only enabled with old systems. We assume that code analysis is not run on such systems, allowing us to delete the SAL-friendly flavour of these. Reviewed-by: Jay Satiro Closes #9793
* tidy-up: delete parallel/unused feature flagsViktor Szakats2022-10-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Detecting headers and lib separately makes sense when headers come in variations or with extra ones, but this wasn't the case here. These were duplicate/parallel macros that we had to keep in sync with each other for a working build. This patch leaves a single macro for each of these dependencies: - Rely on `HAVE_LIBZ`, delete parallel `HAVE_ZLIB_H`. Also delete CMake logic making sure these two were in sync, along with a toggle to turn off that logic, called `CURL_SPECIAL_LIBZ`. Also delete stray `HAVE_ZLIB` defines. There is also a `USE_ZLIB` variant in `lib/config-dos.h`. This patch retains it for compatibility and deprecates it. - Rely on `USE_LIBSSH2`, delete parallel `HAVE_LIBSSH2_H`. Also delete `LIBSSH2_WIN32`, `LIBSSH2_LIBRARY` from `winbuild/MakefileBuild.vc`, these have a role when building libssh2 itself. And `CURL_USE_LIBSSH`, which had no use at all. Also delete stray `HAVE_LIBSSH2` defines. - Rely on `USE_LIBSSH`, delete parallel `HAVE_LIBSSH_LIBSSH_H`. Also delete `LIBSSH_WIN32`, `LIBSSH_LIBRARY` and `HAVE_LIBSSH` from `winbuild/MakefileBuild.vc`, these were the result of copy-pasting the libssh2 line, and were not having any use. - Delete unused `HAVE_LIBPSL_H` and `HAVE_LIBPSL`. Reviewed-by: Daniel Stenberg Closes #9652
* docs: spellfixesDaniel Stenberg2022-09-211-26/+25
| | | | Pointed by the new CI job
* winbuild/MakefileBuild.vc: handle spaces in libssh(2) include pathsDaniel Stenberg2022-09-201-2/+2
| | | | | | | Patched-by: Mark Itzcovitz Bug: https://curl.se/mail/lib-2022-09/0038.html Closes #9536
* docs: fix proselint complaintsDaniel Stenberg2022-09-191-1/+1
|
* winbuild: Use NMake batch-rules for compilationchemodax2022-09-161-12/+12
| | | | | | | | | | | - Invoke cl compiler once for each group of .c files. This is significantly improves compilation time. For example in my environment: 40 s --> 20 s. Prior to this change cl was invoked per .c file. Closes https://github.com/curl/curl/pull/9512
* curl_ctype: convert to macros-onlyDaniel Stenberg2022-09-061-3/+0
| | | | | | | | | | | This no longer provide functions, only macros. Runs faster and produces smaller output. The biggest precaution this change brings: DO NOT use post/pre-increments when passing arguments to the macros. Closes #9429
* copyright: make repository REUSE compliantmax.mehl2022-06-136-2/+20
| | | | | | | | | | | Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the file `.reuse/dep5`. This commit also adds a Github workflow to check pull requests and adapts copyright.pl to the changes. Closes #8869
* msh3: add support for QUIC and HTTP/3 using msh3Nick Banks2022-04-103-0/+50
| | | | | | Considered experimental, as the other HTTP/3 backends. Closes #8517
* winbuild: Add a Visual Studio example to the READMEJay Satiro2022-03-221-0/+58
| | | | | | | | | - Add an example that explains in detail how the user can add libcurl to their Visual Studio project. Ref: https://github.com/curl/curl/issues/8591 Closes https://github.com/curl/curl/pull/8592
* winbuild/README.md: fixup dead linkPhilip H2022-03-181-1/+1
| | | | Closes #8597
* winbuild: add parameter WITH_SSHillusory-dream2022-02-263-2/+42
| | | | | For building with libssh Closes #8514
* winbuild/README.md: clarify GEN_PDB optionJeremy Falcon2021-08-091-1/+2
| | | | | | - Document that GEN_PDB option creates an external database. Ref: https://github.com/curl/curl/issues/7502
* winbuild/MakefileBuild.vc: bump copyright yearDaniel Stenberg2021-07-211-1/+1
|
* winbuild: support alternate nghttp2 static lib nameJay Satiro2021-07-201-0/+4
| | | | | | | | | | | | | | | | - Support both nghttp2.lib and nghttp2_static.lib for static nghttp2. nghttp2 briefly changed its static lib name to nghttp2_static, but then made the _static suffix optional. Ref: https://github.com/nghttp2/nghttp2/pull/1394 Ref: https://github.com/nghttp2/nghttp2/pull/1418 Ref: https://github.com/nghttp2/nghttp2/issues/1466 Reported-by: Pierre Yager Fixes https://github.com/curl/curl/issues/7446 Closes https://github.com/curl/curl/pull/7447
* winbuild/README: VC should be set to 6 'or larger'Daniel Stenberg2021-06-141-1/+1
| | | | | | | | | Previously it listed all versions up to 15 (missing 16) but this new phrasing is more open ended. Reported-by: Hugh Macdonald Fixes #7253 Closes #7254
* winbuild: remove docs from Makefiles and refer to README.mdDaniel Stenberg2020-11-223-56/+13
| | | | | | | | | | | | | | | Reduce risk for conflicting docs and makes it to a single place to fix and polish. add these missing options to the readme: ENABLE_OPENSSL_AUTO_LOAD_CONFIG and ENABLE_UNICODE clarify ENABLE_SCHANNEL default varies Fixes #6216 Closes #6227 Co-Authored-by: Jay Satiro
* copyright: fix year rangesDaniel Stenberg2020-11-052-2/+2
| | | | Follow-up from 4d2f8006777
* curl.se: new homeDaniel Stenberg2020-11-044-4/+4
| | | | Closes #6172
* curl: use curlx_dynbuf for realloc when loading config filesDaniel Stenberg2020-09-141-1/+4
| | | | | | | | | ... fixes an integer overflow at the same time. Reported-by: ihsinme on github Assisted-by: Jay Satiro Closes #5946
* winbuild/rundebug.cmd: removeDaniel Stenberg2020-09-051-24/+0
| | | | | | Seems to have been added by mistake? Not included in dists. Closes #5919
* winbuild/README.md: make <options> visibleDaniel Stenberg2020-08-261-1/+1
| | | | Follow-up to be753add31c2d8c
* winbuild: convert the instruction text to README.mdDaniel Stenberg2020-08-262-130/+127
| | | | Closes #5861
* TLS naming: fix more Winssl and Darwinssl leftoversDaniel Stenberg2020-08-083-28/+28
| | | | | | | | | | | | | The CMake option is now called CMAKE_USE_SCHANNEL The winbuild flag is USE_SCHANNEL The CI jobs and build scripts only use the new names and the new name options Tests now require 'Schannel' (when necessary) Closes #5795
* win32: Add Curl_verify_windows_version() to curlxCameron Cawley2020-08-021-1/+4
| | | | Closes https://github.com/curl/curl/pull/5754
* curl_multibyte: add to curlxMarcel Raad2020-05-141-1/+4
| | | | | | | This will also be needed in the tool and tests. Ref: https://github.com/curl/curl/pull/3758#issuecomment-482197512 Closes https://github.com/curl/curl/pull/3784
* copyright: fix out-of-date copyright ranges and missing headersDaniel Stenberg2020-03-241-1/+1
| | | | | | | | | Reported by the new script 'scripts/copyright.pl'. The script has a regex whitelist for the files that don't need copyright headers. Removed three (mostly usesless) README files from docs/ Closes #5141
* 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