aboutsummaryrefslogtreecommitdiff
path: root/winbuild
AgeCommit message (Collapse)Author
2018-02-23winbuild: Use macros for the names of some build utilitiesRod Widdowson
- 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
2018-02-22winbuild: Use CALL to run batch scriptsRod Widdowson
Co-authored-by: Stefan Kanthak Closes https://github.com/curl/curl/issues/2330 Closes https://github.com/curl/curl/pull/2331
2018-01-30build: fix windows build methods for curl_ctype.cJay Satiro
- 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.
2018-01-30winbuild: make linker generate proper PDBAdam Marcionek
Link.exe requires /DEBUG to properly generate a full pdb file on release builds. Closes #2274
2017-12-22Makefile.vc: Added our standard copyright headerSteve Holme
2017-12-22winbuild: Added support for VC15Steve Holme
2017-10-12winbuild/BUILD.WINDOWS.txt: mention WITH_NGHTTP2Daniel Stenberg
2017-08-26winbuild: fix embedded manifest optiontheantigod
Embedded manifest option didn't work due to incorrect path. Fixes https://github.com/curl/curl/issues/1832
2017-08-03BUILD.WINDOWS: mention buildconf.bat for builds off gitDaniel Stenberg
2017-07-14winbuild: re-enable warning C4127 for curl toolMarcel Raad
Disabled in cda19a345f6970e22fe8b7a808aeb8f086a21eac. It only needs to be disabled for libcurl.
2017-07-13winbuild: build with warning level 4Marcel Raad
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
2017-07-11curl_setup: always define WIN32_LEAN_AND_MEAN on WindowsMarcel Raad
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
2017-06-24winbuild: fix boringssl buildHenrik S. Gaßmann
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
2017-06-14includes: remove curl/curlbuild.h and curl/curlrules.hDaniel Stenberg
Rely entirely on curl/system.h now. Introduced in Aug 2008 with commit 14240e9e109f. Now gone. Fixes #1456
2017-05-24winbuild: fix the nghttp2 buildAnatol Belski
Closes #1321
2017-03-13winbuild: add basic support for OpenSSL 1.1.xAnatol Belski
- Auto-detect OpenSSL 1.1 libs Closes https://github.com/curl/curl/pull/1322
2017-02-16winbuild: add note on auto-detection of MACHINE in Makefile.vcSimon Warta
Closes #1265
2017-01-23VC: remove the makefile.vc6 build infraDaniel Stenberg
The winbuild/ build files is now the single MSVC makefile build choice. Closes #1215
2016-11-25winbuild: add config option ENABLE_NGHTTP2Jan-E
Closes #1141
2016-11-02winbuild: remove strcase.obj from curl buildDaniel Stenberg
Reported-by: Bruce Stephens Fixes #1098
2016-10-31msvc builds: s/rawstr/strcaseDaniel Stenberg
Follow-up to 811a693b
2016-08-09winbuild: Allow changing C compiler via environment variable CC (#952)Simon Warta
This makes it possible to use specific compilers or a cache. Sample use for clcache: set CC=clcache.bat nmake /f Makefile.vc DEBUG=no MODE=static VC=14 GEN_PDB=no
2016-08-09winbuild: Free name $(CC) in Makefile (#950)Simon Warta
In the old line number 290, CC and CURL_CC had the same value. After that, /DCURL_STATICLIB was added to CC but not CURL_CC (intended?). This gets rid of the CC variable entirely. It is a first step to make it possible to manualyl set a CC variable in order to be able to change the compiler.
2016-08-08winbuild: Avoid setting redundant CFLAGS to compile commands (#949)Simon Warta
$(CURL_CC) is always used with $(CURL_CFLAGS) appended, so before this, all arguments in CURL_CFLAGS have been added twice.
2016-07-21winbuild: fix embedded manifest optionJay Satiro
Embedded manifest option didn't work due to typo. Reported-by: Stefan Kanthak
2016-06-01schannel: add CURLOPT_CERTINFO supportAndrew Kurushin
Closes #822
2016-05-20winbuild/Makefile.vc: Fix check on SSL, MBEDTLS, WINSSL exclusivityJan-E
Closes #818
2016-04-21winbuild: add mbedtls supportHenrik Gaßmann
Add WITH_MBEDTLS option. Make WITH_SSL, WITH_MBEDTLS and ENABLE_WINSSL options mutual exclusive. Closes #606
2016-04-07Revert "winbuild: trying to set some files eol=crlf for git"Daniel Stenberg
This reverts commit 9c08b4f1e7eced5a4d3782a3e0daa484c9d77d21. Didn't help. Caused problems. Fixes #756
2016-04-06URLs: change http to https in many placesViktor Szakats
Closes #754
2016-04-06winbuild: trying to set some files eol=crlf for gitDaniel Stenberg
Thinking it might help to apply patches etc with git.
2016-03-25build: Updated all makefiles and project files for the new vauth directorySteve Holme
Updated the makefiles and Visual Studio project files to support moving the authentication code to the new lib/vauth directory that was started in commit 0d04e859e1.
2016-02-02URLs: change more http to httpsViktor Szakats
2016-02-03URLs: change all http:// URLs to https://Daniel Stenberg
2015-09-09winbuild: run buildconf.bat if necessaryBenjamin Kircher
2015-07-21makefile: Added support for VC14Steve Holme
2015-06-20INSTALL: Advise use of non-native SSL for Windows <= XPJay Satiro
Advise that WinSSL in versions <= XP will not be able to connect to servers that no longer support the legacy handshakes and algorithms used by those versions, and to use an alternate backend like OpenSSL instead. Bug: https://github.com/bagder/curl/issues/253 Reported-by: zenden2k <zenden2k@gmail.com>
2015-05-08winbuild: Document the option used to statically link the CRTJay Satiro
- Document option RTLIBCFG (runtime library configuration). Bug: https://github.com/bagder/curl/issues/254 Reported-by: Bert Huijben
2015-03-05openssl: remove all uses of USE_SSLEAYDaniel Stenberg
SSLeay was the name of the library that was subsequently turned into OpenSSL many moons ago (1999). curl does not work with the old SSLeay library since years. This is now reflected by only using USE_OPENSSL in code that depends on OpenSSL.
2015-01-08winbuild: Added option to build with c-aresSam Schanken
Added support for a WITH_CARES option to be used when invoking nmake via Makefile.vc. This option enables linking against both the DLL and static versions of the c-ares libraries, as well as the debug and release varients, depending on the value of DEBUG. The USE_ARES preprocessor symbol is also defined.
2014-09-12newlines: fix mixed newlines to LF-onlyRay Satiro
I use the curl repo mainly on Windows with the typical Windows git checkout which converts the LF line endings in the curl repo to CRLF automatically on checkout. The automatic conversion is not done on files in the repo with mixed line endings. I recently noticed some weird output with projects/build-openssl.bat that I traced back to mixed line endings, so I scanned the repo and there are files (excluding the test data) that have mixed line endings. I used this command below to do the scan. Unfortunately it's not as easy as git grep, at least not on Windows. This gets the names of all the files in the repo's HEAD, gets each of those files raw from HEAD, checks for mixed line endings of both LF and CRLF, and prints the name if mixed. I excluded path tests/data/test* because those can have mixed line endings if I understand correctly. for f in `git ls-tree --name-only --full-tree -r HEAD`; do if [ -n "${f##tests/data/test*}" ]; then git show "HEAD:$f" | \ perl -0777 -ne 'exit 1 if /([^\r]\n.*\r\n)|(\r\n.*[^\r]\n)/'; if [ $? -ne 0 ]; then echo "$f"; fi; fi; done
2014-07-16Remove all traces of FBOpenSSL SPNEGO supportDavid Woodhouse
This is just fundamentally broken. SPNEGO (RFC4178) is a protocol which allows client and server to negotiate the underlying mechanism which will actually be used to authenticate. This is *often* Kerberos, and can also be NTLM and other things. And to complicate matters, there are various different OIDs which can be used to specify the Kerberos mechanism too. A SPNEGO exchange will identify *which* GSSAPI mechanism is being used, and will exchange GSSAPI tokens which are appropriate for that mechanism. But this SPNEGO implementation just strips the incoming SPNEGO packet and extracts the token, if any. And completely discards the information about *which* mechanism is being used. Then we *assume* it was Kerberos, and feed the token into gss_init_sec_context() with the default mechanism (GSS_S_NO_OID for the mech_type argument). Furthermore... broken as this code is, it was never even *used* for input tokens anyway, because higher layers of curl would just bail out if the server actually said anything *back* to us in the negotiation. We assume that we send a single token to the server, and it accepts it. If the server wants to continue the exchange (as is required for NTLM and for SPNEGO to do anything useful), then curl was broken anyway. So the only bit which actually did anything was the bit in Curl_output_negotiate(), which always generates an *initial* SPNEGO token saying "Hey, I support only the Kerberos mechanism and this is its token". You could have done that by manually just prefixing the Kerberos token with the appropriate bytes, if you weren't going to do any proper SPNEGO handling. There's no need for the FBOpenSSL library at all. The sane way to do SPNEGO is just to *ask* the GSSAPI library to do SPNEGO. That's what the 'mech_type' argument to gss_init_sec_context() is for. And then it should all Just Work™. That 'sane way' will be added in a subsequent patch, as will bug fixes for our failure to handle any exchange other than a single outbound token to the server which results in immediate success.
2014-06-06winbuild: Don't USE_WINSSL when WITH_SSL is being usedSteve Holme
Regression of commit d39bbcfa8d when compiling against OpenSSL.
2014-06-05winbuild: Fixed static OpenSSL builds following commit c50ce85918Steve Holme
2014-05-21build: Renamed CURLX_ONES file list definition to CURLX_CFILESSteve Holme
Renamed the CURLX_ONES file list definition in order to a) try and be consistent with other file lists and b) to allow for the addition of the curlx header files, which will assist with Visual Studio project files generation rather than hard coding those files.
2014-05-04BUILD.WINDOWS: update URL for windows prereqsDaniel Stenberg
2014-04-05winbuild: Updated the VC++ make instructions following commit 11025613b9Steve Holme
* Added information regarding the February 2003 Platform SDK for VC6 * Updated the introduction to be similar to the IDE projects README
2014-03-28winbuild: added warnless.c to fix buildCody Mack
2014-01-08makefile: Added support for VC12Steve Holme
2014-01-08makefile: Added support for VC11Steve Holme