Commit Graph

186 Commits

Author SHA1 Message Date
Jay Satiro e702df7a84 build-openssl.bat: Warn OpenSSL 1.1.0 not yet supported
Ref: https://github.com/curl/curl/issues/1002
2017-10-04 01:04:43 -04:00
Marcel Raad afc9651a64
build: check out *.sln files with Windows line endings
Visual Studio doesn't like LF line endings in solution files and always
converts them to CRLF when doing changes to the solution. Notably, this
affects the solutions in the release archive.

Closes https://github.com/curl/curl/pull/1746
2017-08-10 09:11:46 +02:00
Jay Satiro 534056297f build-wolfssl: Sync config with wolfSSL 3.11
wolfSSL configure script relevant changes from 3.10 to 3.11:

- Async threading support added; disabled by default without async
  crypto, which continues to be disabled by default.

wolfSSL configure script relevant changes from 3.11 to 3.11.1 (beta):

- TLS 1.3 beta support added; disabled by default.

For experimenting I put in a comment block the defines needed to enable
TLS 1.3 support (ie the equivalent of --enable-tls13).
2017-05-31 01:40:39 -04:00
Jay Satiro 14cd405d27 checksrc.bat: Ignore curl_config.h.in, curl_config.h 2017-03-02 02:51:13 -05:00
Jay Satiro 57cad81091 build-wolfssl: Sync config with wolfSSL 3.10
wolfSSL configure script relevant changes from 3.9 to 3.10:

- DES3 no longer enabled by default
- Shamir no longer enabled by default
- Extended master secret enabled by default
- RSA and ECC timing protections enabled by default

For backwards compatibility I enabled DES3 and ECC shamir config options
(ie no change from 3.9), and the other changes are included.
2016-12-24 13:51:12 -05:00
Jay Satiro 0e727979a5 generate.bat: Include include/curl in libcurl VS projects
.. because including those headers helps Visual Studio's Intellisense.
2016-11-01 21:31:10 -04:00
Jay Satiro ee96ffa2a4 generate.bat: Remove strcase.[ch] from curl tool VS projects
..because they're no longer needed in the tool build. strcase is still
built by the libcurl project and exports curl_str(n)equal which is used
by the curl tool.

Bug: https://github.com/curl/curl/commit/9363f1a#all_commit_comments
2016-11-01 21:29:44 -04:00
Dan Fandrich 9363f1a37f strcasecompare: replaced remaining rawstr.h with strcase.h
This is a followup to commit 811a693b
2016-10-31 12:57:58 +01:00
Steve Holme dafef391f7 README: Corrected the supported Visual Studio versions
Missed from commit 8356022d17.
2016-08-31 11:34:50 +01:00
Steve Holme 7c6c2194b8 KNOWN_BUGS: Move the Visual Studio project shortcomings from local README 2016-08-31 11:33:22 +01:00
Steve Holme 1979008703 README: Mention wolfSSL in the 'Dependencies' section 2016-07-23 21:34:46 +01:00
Joel Depooter 66c447e51e VC: Add crypt32.lib to Visual Sudio project template files
Closes #854
2016-06-22 10:57:55 +02:00
Steve Holme a3a8bba3ff checksrc.bat: Added support for the examples 2016-04-03 22:09:07 +01:00
Steve Holme e729aa99f9 checksrc.bat: Re-enabled the tests directory by default
Following the recent changes to the source in the tests directory,
re-enabled tests for the default scan.
2016-04-03 21:57:38 +01:00
Steve Holme 6264f617f8 checksrc.bat: Added tests/server directory support
In addition to commit 83b174b3f0 and following the recent changes.
2016-04-03 21:57:38 +01:00
Steve Holme e805fb9884 checksrc.bat: Disable tests by default until warnings are fixed 2016-04-03 20:55:19 +01:00
Steve Holme 83b174b3f0 checksrc.bat: Added support for the tests directory 2016-04-03 20:52:38 +01:00
Steve Holme 7bc64561a2 build: Changed the Visual Studio projects warning level from 3 to 4
After squashing most of our compiler warnings, up'ed the default
warning level from 3 to 4 in order to increase the likelyhood of
catching future warnings.
2016-04-01 20:39:34 +01:00
Steve Holme 8010376fad .gitignore: Added new VC14 SQLite based program database files 2016-04-01 20:00:05 +01:00
Jay Satiro 7921628714 wolfssl: Use ECC supported curves extension
https://github.com/wolfSSL/wolfssl/issues/366
2016-03-29 19:06:55 -04:00
Jay Satiro 27c99a37ba build-wolfssl: Allow a broader range of ciphers (Visual Studio)
This is an update to the build-time options used to build wolfSSL in
Visual Studio for greater compatibility, and make it behave similar to
the way OpenSSL 1.0.2 behaves. Starting in wolfSSL v3.6.6 static ciphers
and SSLv3 are disabled by default at build time, but we can use both.

- Enable static cipher suites TLS_ECDH_ and TLS_RSA_.

- Enable SSLv3 hello. Though in libcurl we disable it by default at
runtime, we make it available so the user can manually select it if
necessary.
2016-03-29 18:50:12 -04:00
Jay Satiro a43b22e05b wolfssl: Add ALPN support 2016-03-28 18:18:09 -04:00
Steve Holme 709991d548 checksrc.bat: Added support for checking the new vauth directory 2016-03-25 09:12:00 +00:00
Steve Holme dc72f8df0c build: Updated all makefiles and project files for the new vauth directory
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-03-25 09:11:59 +00:00
Steve Holme b5ecc43fa9 checksrc.bat: Updated the help to be consistent with generate.bat
Follow up to commit a8c7f0fcbf prior to release.
2016-03-23 07:06:36 +00:00
Jay Satiro f7bb1fc1d7 build-wolfssl: Update VS properties for wolfSSL v3.9.0
- Do not use wolfSSL's sample user-setting files.

wolfSSL starting in v3.9.0 has added their own sample user settings that
are applied by default, but we don't use them because we have our own
settings.

- Do not use wolfSSL's Visual Studio Unicode character setting.

wolfSSL Visual Studio projects use the Unicode character set however our
settings and options imitate mingw build which does not use the Unicode
character set. This does not appear to have any effect at the moment but
better safe than sorry.


These changes are backwards compatible with earlier versions.
2016-03-22 03:03:11 -04:00
Steve Holme e66109c1e3 build: Added missing Visual Studio filter files for VC10 onwards
As these files don't need to contain references to the source files,
although typically do, added basic files which only include three
filters and don't require the project file generator to be modified.

These files allow the source code to be viewed in the Solution Explorer
in versions of Visual Studio from 2010 onwards in the same manner as
previous versions did rather than one large view of files.
2016-03-19 17:57:43 +00:00
Steve Holme a8c7f0fcbf checksrc.bat: Added the ability to scan src and lib source independently 2016-03-13 01:01:33 +00:00
Steve Holme 8f9be011b1 build-openssl/checksrc.bat: Fixed prepend vs append of Perl path
Fixed inconsistency from commit 1eae114065 and 0ad6c72227 of the order
in which Perl was added to the PATH.
2016-03-06 20:02:58 +00:00
Steve Holme b188fe407d .gitignore: Added *.VC.opendb and *.vcxproj.user files for VC14 2016-03-05 21:49:09 +00:00
Steve Holme 1eae114065 build-openssl.bat: Fixed cannot find perl if installed but not in path 2016-03-05 21:40:53 +00:00
Steve Holme 0ad6c72227 checksrc.bat: Fixed cannot find perl if installed but not in path 2016-03-05 21:40:53 +00:00
Jay Satiro 464a1d03bd generate.bat: Fix comment bug by removing old comments
Remove NOTES section, it's no longer needed since we aren't setting the
errorlevel and more importantly the recently updated URL in the comments
is causing some unusual behavior that breaks the script.

Closes https://github.com/curl/curl/issues/649
2016-02-12 23:48:54 -05:00
Viktor Szakats d49881cb19 URLs: change more http to https 2016-02-04 18:46:54 -05:00
Viktor Szakats b4f595bde4 URLs: change more http to https 2016-02-02 22:29:47 -05:00
Daniel Stenberg 4af40b3646 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
Daniel Stenberg 25a2e8ebaf projects/Windows/.gitignore: ignore generated files for release 2015-09-03 23:34:53 +02:00
Jay Satiro 9518139c73 gitignore: Sort for readability
find . -name .gitignore -print0 | xargs -i -0 sort -o '{}' '{}'
2015-08-18 01:03:05 -04:00
Steve Holme bedf0a588e generate.bat: Added support for generating only the prerequisite files 2015-08-14 20:59:48 +01:00
Steve Holme 6ba9a1b952 generate.bat: Only call buildconf.bat if it exists 2015-08-14 20:46:11 +01:00
Steve Holme bc66c21c23 generate.bat: Fixed issues when ran in directories with special chars 2015-08-14 20:38:57 +01:00
Steve Holme cde447217f generate.bat: Use buildconf.bat for prerequisite file generation 2015-08-09 18:02:53 +01:00
Steve Holme d712da787e checksrc.bat: Fixed error when missing *.c and *.h files
File Not Found
2015-08-08 21:01:31 +01:00
Steve Holme 2b743dcf8e checksrc.bat: Fixed incorrect 'lib\vtls' path check in commit 333c36b276 2015-08-08 21:01:29 +01:00
Steve Holme 333c36b276 checksrc.bat: Fixed error when [directory] isn't a curl source directory
The system cannot find the file specified.
2015-08-08 11:36:47 +01:00
Steve Holme 1ab763acce checksrc.bat: Added check for unknown arguments 2015-08-08 11:36:47 +01:00
Steve Holme a8e9e0c205 scripts: Added missing comments 2015-08-08 11:36:45 +01:00
Steve Holme 4a21346ef3 scripts: Always perform setlocal and endlocal calls in pairs
Ensure that there isn't a mismatch between setlocal and endlocal calls,
which could have happened due to setlocal being called after certain
error conditions were checked for.
2015-08-08 11:13:21 +01:00
Steve Holme 4aee1f9cf5 scripts: Allow -help to be specified in any argument
Allow the -help command line argument to be specified in any argument
and not just as the first.
2015-08-08 11:13:19 +01:00
Steve Holme 84d122a8d6 README: Added notes about 'Running DLL based configurations'
...as well as a TODO for a future enhancement to the project files.

Thanks-to: Jay Satiro
2015-08-06 22:00:35 +01:00
Steve Holme 0342ada31f generate.bat: Added a check for the presence of a git repository 2015-08-06 18:53:30 +01:00
Jay Satiro 3f5f042e5d build: Added wolfSSL configurations to VC10+ project files
URL: https://github.com/bagder/curl/pull/174
2015-08-06 18:13:09 +01:00
Jay Satiro bb6b521f69 build: Added wolfSSL build script for Visual Studio projects
Added the wolfSSL build script, based on build-openssl.bat, as well as
the property sheet and header file required for the upcoming additions
to the Visual Studio project files.
2015-08-06 18:02:19 +01:00
Steve Holme 473807b95f generate.bat: Use buildconf.bat for prerequisite file clean-up 2015-08-05 19:15:46 +01:00
Steve Holme 3725748599 generate.bat: Only clean prerequisite files when in ALL mode 2015-08-04 19:22:36 +01:00
Steve Holme 1e67bc5eaf generate.bat: Moved error messages out of sub-routines 2015-08-04 19:15:13 +01:00
Steve Holme 12f915ca2a generate.bat: More use of lower-case for commands and reserved keywords 2015-08-04 19:09:15 +01:00
Steve Holme 8356022d17 build: Added VC14 project files
Updates to Makefile.am for the generation of the project files in
the tarball to follow.
2015-07-29 18:42:48 +01:00
Steve Holme b656715da3 generate.bat: Use lower-case for commands and reserved keywords
Whilst there are no coding standards for the batch files used in curl,
most tend to use lower-case for keywords and upper-case for variables.
2015-07-28 23:08:24 +01:00
Steve Holme 9b95306d4c build: Added initial VC14 support to generate.bat
Visual Studio project files and updates to makefile.am to follow.
2015-07-28 22:55:49 +01:00
Steve Holme 98e8b050ef build: Fixed missing .opensdf files from VC10+ .gitignore files 2015-07-28 20:46:56 +01:00
Steve Holme d9efd36907 build: Use $(ProjectName) macro for curl.exe and curld.exe filenames
This wasn't possible with the old curlsrc project filenames, but like
commit 2a615a2b64 and 11397eb6dd for libcurl use the built in Visual
Studio macros for the output filenames.
2015-07-28 20:44:59 +01:00
Steve Holme 1627930177 build: Renamed curl src Visual Studio project files
Following commit 957fcd9049 and in preparation for adding the VC14
project files renamed the curl source project files.
2015-07-28 20:44:14 +01:00
Steve Holme 7db03e5c21 README: Corrected formatting for 'Legacy Windows and SSL' section
...as well as some wording.
2015-07-27 00:48:53 +01:00
Steve Holme a728225a92 build-openssl.bat: Added support for VC14 2015-07-26 23:58:36 +01:00
Jay Satiro 6d62d2c55d build-openssl.bat: Show syntax if required args are missing 2015-07-25 19:03:20 -04:00
Jay Satiro 6842afbf44 INSTALL: Advise use of non-native SSL for Windows <= XP
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-06-20 18:45:25 -04:00
Jay Satiro 139141f8d7 build: Generate source prerequisites for Visual Studio in generate.bat
Prior to this change Visual Studio builds could fail due to missing
prerequisites src/tool_hugehelp.c and include/curl/curlbuild.h.

http://curl.haxx.se/mail/lib-2015-04/0034.html
2015-04-11 02:16:59 -04:00
Viktor Szakats f2a0b2164a checksrc.bat: quotes to support an SRC_DIR with spaces 2015-04-05 18:07:40 +02:00
Jay Satiro abf6bddc14 checksrc.bat: Check lib\vtls source 2015-04-03 10:53:31 +02:00
Jay Satiro e2a9ebb321 build-openssl.bat: Fix mixed line endings
Use LF not CRLF, throughout.  msysgit will only convert a file to CRLF
on checkout if it's not mixed.
2015-04-02 17:21:09 +02:00
Jay Satiro 6419aee248 checksrc: Windows-specific input fixes
lib/config-win32ce.h
- Fix whitespace for checksrc compliance.

lib/checksrc.pl
- Remove trailing carriage returns from input.

projects/checksrc.bat
- Ignore tool_hugehelp.c.
2015-03-30 22:39:13 +02:00
Jay Satiro dab4ff179f build: Fix libcurl.sln erroneous mixed configurations
Prior to this change some Release configurations had an active
configuration assignment to their Debug counterpart.
2015-03-27 23:10:42 +01:00
Steve Holme 9fa1abe9fe openssl: Removed use of USE_SSLEAY from the Visual Studio project files
In addition to commit 709cf76f6b, removed the USE_SSLEAY preprocessor
variable from the Visual Studio project files as it isn't required
anymore.
2015-03-05 20:47:14 +00:00
Steve Holme adf27bf60f build: Removed DataExecutionPrevention directive from VC9+ project files
Removed the DataExecutionPrevention directive from the project files for
Visual Studio 2008 and above. The XML value in the VC9 project files was
set to "0" (Default) whilst the VC10+ project files contained an empty
XML element.
2015-02-26 20:58:02 +00:00
Steve Holme e71bcb659c build: Use default RandomizedBaseAddress directive in VC9+ project files
Visual Studio 2008 introduced support for the address space layout
randomization (ASLR) feature of Windows Vista. However, upgrading the
VC8 project files to VC9 and above disabled this feature.

Removed the RandomizedBaseAddress directive to enabled the default
setting (/DYNAMICBASE). Note: This doesn't appear to have any negative
impact when compiled and ran on Windows XP.
2015-02-26 20:57:19 +00:00
Steve Holme 0d04e859e1 build: Added support to Generate.bat for files in the upcoming vauth folder 2015-02-26 20:47:23 +00:00
Steve Holme 1385199e80 build: Removed Visual Studio SuppressStartupBanner directive for VC8+
Visual Studio 2005 and above defaults to disabling the startup banner
for the Compiler, Linker and MIDL tools (with /NOLOGO). As such there
is no need to explicitly set the SuppressStartupBanner directive, as
this is a leftover from the VC7 and VC7.1 projects being upgraded to
VC8 and above.
2015-02-14 20:26:03 +00:00
Steve Holme c49e228916 build: Added removal of Visual Studio project files
Added the removal of the locally generated project files so one
may revert to a clean repository.
2015-02-02 12:43:04 +00:00
Steve Holme 957fcd9049 build: Renamed top level Visual Studio solution files
In preparation for adding the test suite and examples projects renamed
the top level "all" solution files to better describe what they are.

This will also enable us to use "curl" rather than "curlsrc" for the
command line tool solution and project files, which will simplify some
of the configuration.
2015-02-02 12:43:03 +00:00
Steve Holme f826bf37ea build: Enabled DEBUGBUILD in Visual Studio debug builds
Defined the DEBUGBUILD pre-processor variable to allow extra logging,
which is particularly useful in debug builds, as we use this and Visual
Studio typically uses _DEBUG.

We could define DEBUBBUILD, in curl_setup.h, when _MSC_VER and _DEBUG is
defined but that would also affect the makefile based builds which we
probably don't want to do.
2015-02-02 12:43:02 +00:00
Steve Holme 564b7b6dd0 build: Removed unused Visual Studio bscmake settings 2015-02-02 12:43:00 +00:00
Steve Holme 5f09947d28 build-openssl.bat: Added check for Perl installation 2015-01-16 21:15:52 +00:00
Steve Holme 224cf1c274 checksrc.bat: Better detection of Perl installation 2015-01-16 21:14:22 +00:00
Steve Holme 097fc121e6 checksrc.bat: Fixed a problem opening files with spaces in the filename 2014-12-28 01:10:03 +00:00
Steve Holme 383a4d0990 build: Removed WIN32 definition from the Visual Studio projects
As this pre-processor definition is defined in curl_setup.h there is no
need to include it in the Visual Studio project files.
2014-12-24 14:57:06 +00:00
Steve Holme 0beccdf580 build: Removed WIN64 definition from the libcurl Visual Studio projects
Removed the WIN64 pre-processor definition from the libcurl project
files as:

* WIN64 is not used in our source code
* The curl projects files don't define it
* It isn't required by or used in the platform SDK
* For backwards compatability curl_setup.h defines WIN32
* The compiler automatically defines _WIN64 for x64 builds

Historically Visual Studio projects have defined WIN32, in addition to
the compiler defined _WIN32 definition, and I had incorrectly changed
that to WIN64 for the x64 libcurl builds but not in the curl projects.

As such, it is questionable whether this should be defined or not. For
more information see the following cache of a discussion that took
place on the microsoft.public.vc.mfc newsgroup:

http://www.tech-archive.net/Archive/VC/microsoft.public.vc.mfc/2008-06/msg00074.html
2014-12-24 14:33:18 +00:00
Steve Holme 3aa51450c4 build: Fixed Visual Studio project file generation of strdup.[c|h]
As the curl command-line tool now includes it's own version of strdup(),
for platforms that don't have it, fixed up the git respository Visual
Studio project file generator to not include the version from lib in the
tool project files, rather than having both lib\strdup.[c|h] and
src\tool_strdup.[c|h] present.
2014-11-05 23:04:43 +00:00
Steve Holme 13989be71b README: Corrected inconsistent use of --help 2014-11-04 12:32:33 +00:00
Steve Holme 0a33c971aa README: Added note about using Visual Studio projects out of git repository 2014-11-04 11:45:35 +00:00
Steve Holme d71ea7c01e build: Added WinIDN build configuration options
Added support for WinIDN build configurations to the VC6 project files.
2014-11-02 18:21:54 +00:00
Steve Holme ab4b49262a build: Added WinIDN build configuration options
Added support for WinIDN build configurations to the VC7 and VC7.1
project files.
2014-11-02 16:31:20 +00:00
Steve Holme 850346cbaf build: Fixed the pre-processor separator in Visual Studio project files
A left over from the VC6 project files, so mainly cosmetic in Visual
Studio .NET as it can handle both comma and semi-colon characters for
separating multiple pre-processor definitions.

However, the IDE uses semi-colons if the value is edited, and as such,
this may cause problems in future for anyone updating the files or
merging patches.

Used the Visual Studio IDE to correct the separator character.
2014-11-02 16:04:19 +00:00
Steve Holme 9029297dcb build: Added optional specific version generation of VC project files
..when working from the git repository. This is particularly useful
for single development environments where the project files for all
supported versions of Visual Studio may not be required.
2014-11-02 13:06:26 +00:00
Jay Satiro 80c5ae1d0e build-openssl.bat: Fix x64 release build
Prior to this change if x64 release was specified a failed attempt was
made to build x86 release instead.
2014-11-02 11:57:43 +00:00
Steve Holme 0fd714d2c3 build: Added WinIDN build configuration options
Added support for WinIDN build configurations to the VC8 and VC9
project files.
2014-10-25 12:56:19 +01:00
Steve Holme 7b85b332cb build: Added WinIDN build configuration options
Added initial support for WinIDN build configurations to the VC10+
project files.
2014-09-19 12:43:10 +01:00
Steve Holme 1d2ffb4712 build: Added batch wrapper to checksrc.pl 2014-09-13 11:33:54 +01:00
Ray Satiro 006b61eb0b newlines: fix mixed newlines to LF-only
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-09-12 10:22:34 +02:00
Steve Holme 12bf451ca4 build: Removed unnecessary XML Documentation file directive from VC8 to VC12
The curl tool project files for VC8 to VC12 would set this setting to
$(IntDir) which is the Visual Studio default value. To avoid confusion
when viewing settings from within Visual Studio and for consistency
with the libcurl project files removed this setting.

Conflicts:
	projects/Windows/VC10/src/curlsrc.tmpl
	projects/Windows/VC11/src/curlsrc.tmpl
	projects/Windows/VC12/src/curlsrc.tmpl
	projects/Windows/VC8/src/curlsrc.tmpl
	projects/Windows/VC9/src/curlsrc.tmpl
2014-07-17 20:40:18 +01:00