Commit Graph

222 Commits

Author SHA1 Message Date
Cristian Morales Vega
3862c37b63
libcurl.pc: make it relocatable
It supposes when people specify the libdir/includedir they do it to
change where under prefix/exec_prefix it should be, not to make it
independent of prefix/exec_prefix.

Closes #6061
2020-10-15 16:04:21 +02:00
Daniel Stenberg
be753add31
winbuild: convert the instruction text to README.md
Closes #5861
2020-08-26 15:49:21 +02:00
Don
7f8863f741
dist: add missing CMake Find modules to the distribution
Closes #5836
2020-08-21 00:12:55 +02:00
Peter Wu
5bfc874a35
CMake: add HTTP/3 support (ngtcp2+nghttp3, quiche)
Add three new CMake Find modules (using the curl license, but I grant
others the right to apply the CMake BSD license instead).

This CMake config is simpler than the autotools one because it assumes
ngtcp2 and nghttp3 to be used together. Another difference is that this
CMake config checks whether QUIC is actually supported by the TLS
library (patched OpenSSL or boringssl) since this can be a common
configuration mistake that could result in build errors later.

Unlike autotools, CMake does not warn you that the features are
experimental. The user is supposed to already know that and read the
documentation. It requires a very special build environment anyway.

Tested with ngtcp2+OpenSSL+nghttp3 and quiche+boringssl, both built from
current git master. Use `LD_DEBUG=files src/curl |& grep need` to figure
out which features (libldap-2.4, libssh2) to disable due to conflicts
with boringssl.

Closes #5359
2020-05-10 23:36:41 +02:00
Daniel Stenberg
9a8b3b3e13
copyright: fix out-of-date copyright ranges and missing headers
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
2020-03-24 15:05:59 +01:00
Daniel Stenberg
37a0541882
cmake: add support for building with wolfSSL
My working build cmdline:

$ cmake -DCMAKE_PREFIX_PATH=$HOME/build-wolfssl -DCMAKE_USE_WOLFSSL=ON .

Assisted-by: Brad King
Closes #5095
2020-03-16 22:56:50 +01:00
Muhammad Herdiansyah
0cc66ff5a4
Makefile: run the cd commands in a subshell
In bmake, if the directory is changed (with cd or anything else), bmake
won't return to the "root directory" on the next command (in the same
Makefile rule). This commit runs the cd command in a subshell so it
would work in bmake.

Closes #5073
2020-03-11 10:15:06 +01:00
Michael Forney
9b879160df
TLS: add BearSSL vtls implementation
Closes #4597
2019-11-26 08:32:23 +01:00
Jay Satiro
ee5c68a963 projects: Fix Visual Studio projects SSH builds
- Generate VQUIC and VSSH filenames in Visual Studio project files.

Prior to this change generated Visual Studio project configurations that
enabled SSH did not build properly. Broken since SSH files were moved to
lib/vssh 3 months ago in 5b2d703.

Fixes https://github.com/curl/curl/issues/4492
Fixes https://github.com/curl/curl/issues/4630
Closes https://github.com/curl/curl/pull/4607
2019-11-24 03:15:32 -05:00
lufia
84aba180e2
plan9: add support for running on Plan 9
Closes #3701
2019-07-31 00:23:25 +02:00
Simon Legner
e075b2149b
scripts/completion.pl: also generate fish completion file
This is the renamed script formerly known as zsh.pl

Closes #3545
2019-03-02 11:31:18 +01:00
Daniel Stenberg
be20814191
Makefile: add 'tidy' target that runs clang-tidy
Available in the root, src and lib dirs.

Closes #3163
2018-10-27 15:59:38 +02:00
Viktor Szakats
b801b453af whitespace fixes
- 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
2018-09-23 22:24:02 +00:00
John Butterfield
7867aaa9a0
cmake: link curl to the OpenSSL targets instead of lib absolute paths
Reviewed-by: Jakub Zakrzewski
Reviewed-by: Sergei Nikulov
Closes #2753
2018-08-08 09:35:27 +02:00
Steve Holme
b399b04902 build: Fixed incorrect script termination from commit ad1dc10e61 2017-12-22 20:21:40 +00:00
Steve Holme
ad1dc10e61 build: Added Visual Studio 2017 project files 2017-12-22 17:58:41 +00:00
Daniel Stenberg
9f691be3d4
make: fix "make distclean"
Fixes #2097
Closes #2108
2017-11-24 08:38:29 +01:00
Jakub Zakrzewski
1cb4f5d6e8 cmake: Export libcurl and curl targets to use by other cmake projects
The config files define curl and libcurl targets as imported targets
CURL::curl and CURL::libcurl. For backward compatibility with CMake-
provided find-module the CURL_INCLUDE_DIRS and CURL_LIBRARIES are
also set.

Closes #1879
2017-10-28 17:22:47 +02:00
Max Dymond
4f38db1d28
fuzzer: move to using external curl-fuzzer
Use the external curl-fuzzer repository for fuzzing.

Closes #1923
2017-10-04 15:33:36 +02:00
Max Dymond
efeb4a3176
ossfuzz: moving towards the ideal integration
- Start with the basic code from the ossfuzz project.
- Rewrite fuzz corpora to be binary files full of Type-Length-Value
  data, and write a glue layer in the fuzzing function to convert
  corpora into CURL options.
- Have supporting functions to generate corpora from existing tests
- Integrate with Makefile.am
2017-09-01 11:22:51 +02:00
Daniel Stenberg
ac8af84527
cmake: move cmake_uninstall.cmake to CMake/
Closes #1756
2017-08-10 15:05:49 +02:00
Daniel Stenberg
050e3532f4
dist: fix the cmake build by shipping cmake_uninstall.cmake.in too
Fixes #1755
2017-08-10 13:20:39 +02:00
Daniel Stenberg
f864bd8c88
build: fix 'make install' with configure, install docs/libcurl/* too
Broken since d24838d4da

Reported-by: Bernard Spil
2017-08-09 10:29:49 +02:00
Daniel Stenberg
d24838d4da make: build the docs subdir only from within src
... and don't build at all in include

Prompted-by-work-by: Simon Warta
Ref: #1590
Closes #1591
2017-06-30 17:09:01 +02:00
Daniel Stenberg
11c2fb0446 dist: make the hugehelp.c not get regenerated unnecessarily
The maketgz script now makes sure the generated hugehelp.c file in the
tarball is newer than the generated curl.1 man page, so that it doesn't
have to get unnecessarily rebuilt first thing in a typical build. It
thus also removes the need for perl to build off a plain release
tarball.

Fixes #1565
2017-06-14 15:44:37 +01:00
Daniel Stenberg
73a2fcea0b includes: remove curl/curlbuild.h and curl/curlrules.h
Rely entirely on curl/system.h now.

Introduced in Aug 2008 with commit 14240e9e10. Now gone.

Fixes #1456
2017-06-14 11:07:33 +02:00
Daniel Stenberg
b5e143e7a5 coverage: run event tests too
... the torture ones are commented out only because they are slooooow.
2017-06-02 13:15:06 +02:00
Daniel Stenberg
f6e0f4556e build: provide easy code coverage measuring
Closes #1528
2017-06-02 13:15:06 +02:00
Daniel Stenberg
2ff9c3e145 dist: add missing files to the tarball 2017-03-31 00:05:31 +02:00
Maksim Stsepanenka
d1ddda7e75 make: use the variable MAKE for recursive calls
Closes #1366
2017-03-29 08:17:13 +02:00
klemens
f7df67cff0 spelling fixes
Closes #1356
2017-03-26 23:56:23 +02:00
Daniel Stenberg
207f588987 make: introduce 'test-nonflaky' target
Running this in the root build dir will invoke the test suite to only
run tests not marked as 'flaky'.
2017-03-22 10:48:20 +01:00
Daniel Stenberg
c25e0761d0 make: regenerate docs/curl.1 by runinng make in docs
... previously, docs/ was only a dist subdir, now also a build subdir.

Reported-by: Dan Fandrich
Bug: https://curl.haxx.se/mail/lib-2017-03/0017.html
2017-03-13 08:01:27 +01:00
Steve Brokenshire
e159fff13d Makefile.am: Added scripts/updatemanpages.pl to EXTRA_DIST 2017-03-07 23:27:31 +01:00
Daniel Stenberg
8611d985ee VC: remove the makefile.vc6 build infra
The winbuild/ build files is now the single MSVC makefile build choice.

Closes #1215
2017-01-23 14:27:32 +01:00
Torben Dannhauer
3b36bd8e1a dist: add missing cmake modules to the tarball
Closes https://github.com/curl/curl/pull/1070
2016-10-11 22:57:36 -04:00
Daniel Stenberg
82279c82c8 dist: add CurlSymbolHiding.cmake to the tarball
Follow-up to 6140dfcf3e

Reported-by: Alexander Sinditskiy
2016-09-21 23:17:39 +02:00
Daniel Stenberg
6afcf82857 build: include scripts/ in the dist 2016-04-09 23:44:53 +02:00
Daniel Stenberg
51fb24ce7f make checksrc: run it in docs/examples too by default 2016-04-03 22:52:34 +02:00
Daniel Stenberg
0c6204a51f root/make: have checksrc run in include/curl too 2016-04-03 22:38:36 +02:00
Daniel Stenberg
d3252e000c checksrc: run checksrc in tests when 'make checksrc' in root 2016-04-03 22:38:36 +02:00
Daniel Stenberg
ccfa8407a6 Makefile.am: skip the scripts dir
Skipping the scripts dir is primarily done for 'make install' so that it
does not attempt to install the zsh completion script as we've not yet
found a proper way to do/run that at install time.

By leaving the script dir's Makefile in place, a user can still opt to
run make install manually in there.

Closes #620
2016-03-28 00:03:42 +02: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
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
Daniel Stenberg
50525f4f40 dist: ship buildconf.bat too
As the winbuild/* stuff uses it!
2016-02-12 16:45:25 +01:00
Daniel Stenberg
4af40b3646 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
Daniel Shahaf
be0d4141af build: Install zsh completion
Fixes #534
Closes #537
2015-11-24 22:22:01 +01:00
Daniel Shahaf
80562083da build: Fix theoretical infinite loops
Add error-checking to 'cd' in a few cases where omitting the checks
might result in an infinite loop.

Closes #535
2015-11-20 00:25:42 +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
2d7e165761 build: Added VC14 project files to Makefile.am 2015-07-29 19:07:08 +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
Alessandro Ghedini
f9f22b0d63 scripts: add zsh.pl for generating zsh completion 2015-05-24 00:03:14 +02:00
Dan Fandrich
431c5261d2 docs/libcurl: check that all options with man pages are referenced
If a man page exists in the opts/ directory, it must also be referenced
either in curl_easy_setopt.3 or curl_multi_setopt.3
2015-03-18 23:44:45 +01:00
Daniel Stenberg
6f494c5e34 Makefile.am: fix 'make distcheck'
... by removing generated files from the *_DIST variable [*] and instead
generate them with a .dist suffix, since that is then handled and put
into the release archive by our generic dist-hook.

[*] = 'make distcheck' fails with non-existing files listed there
2015-02-02 23:11:44 +01: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
Daniel Stenberg
721fbf63f4 Makefile.am: two cmake files are gone
8cb010144 removed the CurlCheckCSourceCompiles.cmake and
CurlCheckCSourceRuns.cmake files
2014-11-04 08:58:01 +01:00
Daniel Stenberg
18b82345dc cmake: add CMake/Macros.cmake to the release tarball 2014-10-17 22:55:21 +02:00
Jakub Zakrzewski
558814e16d Cmake: Build with GSSAPI (MIT or Heimdal)
It tries hard to recognise SDK's on different platforms. On windows MIT
Kerberos installs SDK with other things and puts path into registry.
Heimdal have separate zip archive. On linux pkg-config is tried, then
krb5-config script and finally old-style libs and headers detection.

Command line args:
* CMAKE_USE_GSSAPI - enables GSSAPI detection
* GSS_ROOT_DIR - if set, should point to the root of GSSAPI installation
                 (the one with include and lib directories)
2014-10-09 13:48:31 +02:00
Steve Holme
1d2ffb4712 build: Added batch wrapper to checksrc.pl 2014-09-13 11:33:54 +01:00
Daniel Stenberg
202aa9f775 dist: two cmake files are no more
CMake/FindOpenSSL.cmake and FindZLIB.cmake are gone since 14aa8f0c11
2014-09-10 08:07:58 +02:00
Steve Holme
a9388b73b1 build: Use CURLX_* file lists for Visual Studio curl tool project generation 2014-05-22 23:10:38 +01:00
Steve Holme
f5e73640f0 Makefile.am: Fixed missing / in VC10+ project file generation 2014-05-19 23:45:54 +01:00
Steve Holme
6f6646d6e9 build: Slight rename of new LIB_* makefile file variables
In order to try and be consistent between curl and libcurl renamed the
recently introduced LIB_* makefile file variables.
2014-05-18 22:16:54 +01:00
Steve Holme
6cfeeb3bb0 Makefile.am: Corrected a couple of grammar errors 2014-05-18 00:13:00 +01:00
Steve Holme
c346df065e Makefile.am: Added new Visual Studio project file generation for curl tool 2014-05-18 00:10:44 +01:00
Steve Holme
c8224d7ede Makefile.am: Added new Visual Studio project file generation for libcurl 2014-05-17 22:49:29 +01:00
Steve Holme
b121de9d7f Makefile.am: Removed old Visual Studio project file generation 2014-05-17 22:38:53 +01:00
Steve Holme
4b60db7e50 Makefile.am: Added build-openssl.bat as README file references it
Missed in commit dce748d3f1.
2014-05-01 23:56:53 +01:00
Steve Holme
50b3111b63 build: Added Visual Studio 2003 .NET (VC7.1) project files
Carrying on from commit 11025613b9 added VC7.1 project files which are
capable of supporting side-by-side compilation, as well as support for
some of the third-party libraries curl uses.
2014-05-01 20:33:22 +01:00
Steve Holme
0d854de5f0 build: Added Visual Studio .NET (VC7) project files
Carrying on from commit 11025613b9 added VC7 project files which are
capable of supporting side-by-side compilation, as well as support for
some of the third-party libraries curl uses.
2014-04-27 17:58:18 +01:00
Steve Holme
c506e03f54 build: Added Visual Studio 6.0 (VC6) project files
Carrying on from commit 11025613b9 added a more thorough version of
the VC6 project files which are capable of supporting side-by-side
compilation, as well as support for some of the third-party libraries
curl uses.
2014-04-27 13:37:09 +01:00
Steve Holme
cf9342e275 build: Added Visual Studio 2013 (VC12) project files
Carrying on from commit 11025613b9 added VC12 project files which are
capable of supporting side-by-side compilation, 32-bit and 64-bit
builds as well as support for some of the third-party libraries curl
uses.
2014-04-23 20:49:01 +01:00
Steve Holme
0160cb2e19 build: Added Visual Studio 2012 (VC11) project files
Carrying on from commit 11025613b9 added VC11 project files which are
capable of supporting side-by-side compilation, 32-bit and 64-bit
builds as well as support for some of the third-party libraries curl
uses.
2014-04-18 10:28:11 +01:00
Steve Holme
5a23aeb00d Makefile.am: Missed separator in commit fbaa2f8660 2014-04-16 23:50:17 +01:00
Steve Holme
fbaa2f8660 build: Added Visual Studio 2010 (VC10) project files
Carrying on from commit 11025613b9 added VC10 project files which are
capable of supporting side-by-side compilation, 32-bit and 64-bit
builds as well as support for some of the third-party libraries curl
uses.
2014-04-16 21:24:33 +01:00
Steve Holme
78e3844a4a build: Added Visual Studio 2008 (VC9) project files
Carrying on from commit 11025613b9, added VC9 project files which are
capable of supporting side-by-side compilation, 32-bit and 64-bit
builds as well as support for some of the third-party libraries curl
uses.
2014-04-09 00:20:44 +01:00
Daniel Stenberg
a700f9002c dist: include the projects/ files in releases
... the recent MSVC project files added by Steve Holme
2014-04-08 10:17:03 +02:00
Yang Tse
cc8fad9a7f move msvc IDE related files to 'vs' directory tree
Use 'vs' directory tree given that 'vc' intended one clashes
with an already existing build target in file Makefile.dist.
2013-02-13 17:14:21 +01:00
Yang Tse
beae838ed5 move msvc IDE related files to 'vc' directory tree 2013-02-13 13:28:13 +01:00
Daniel Stenberg
4ed469a56f Revert "vc: remove explicit MSVC6 IDE project file and documentation"
This reverts commit 0e66d5878e.
2013-02-07 14:58:01 +01:00
Daniel Stenberg
0e66d5878e vc: remove explicit MSVC6 IDE project file and documentation
VC6 is _very_ old and we provide working makefiles even for that
compiler. Users who build with the IDE never use that method and project
file anyway and it was just lingering in the root dir.
2013-02-06 23:30:41 +01:00
Daniel Stenberg
632e50ca8d msvc: move Makefile.msvc.names into winbuild/
In an attempt to clear up misc files from the root dir
2013-02-06 23:14:11 +01:00
Daniel Stenberg
7be925aefc build: move Android.mk to packages/Android/ 2013-02-06 23:08:05 +01:00
Daniel Stenberg
611ec0a190 emacs files: remove from git and dist
We don't need them and I doubt many people used them. We also don't have
any configs for other editors and we wouldn't want that.
2013-02-06 23:04:02 +01:00
Daniel Stenberg
14dc679ce0 test: offer "automake" output and check for perl better
runtests.pl -am now uses the "PASS/FAIL: [desc]" output for each
executed test. You can run 'make test-am' in the root build directory to
invoke that. The reason for this output style is to better allow generic
test suite parsers to also grok our test output.

The test Makefile now also tests that perl was indeed found and that the
PERL variable points to an executable before it tries to run the main
test perl script runtests.pl,
2012-11-23 11:56:26 +01:00
Daniel Stenberg
b0735f3165 make: make distclean work again
The clean-local hook needed some polish to make sure make distclean
works. Added comment describing why.
2012-07-20 21:56:27 +02:00
Alessandro Ghedini
7cc2e8b349 configure: add symbols versioning option
Allow, at configure time, the production of versioned symbols. The
symbols will look like "CURL_<FLAVOUR>_<VERSION> <SYMBOL>", where
<FLAVOUR> represents the SSL flavour (e.g. OPENSSL, GNUTLS, NSS, ...),
<VERSION> is the major SONAME version and <SYMBOL> is the actual symbol
name. If no SSL library is enabled the symbols will be just
"CURL_<VERSION> <SYMBOL>".
2011-12-19 23:25:36 +01:00
Daniel Stenberg
2ef7a28a71 include: cleanup
Made the public headers checksrc compliant

Removed types.h (it's been unused since April 2004)

Made the root makefile do make in include by default as well, so that
TAGS and the checksrc will work better.
2011-05-09 10:20:31 +02:00
Daniel Stenberg
45de057920 make: add 'checksrc' as target to check code style
The make target checksrc now works in the root makefile and in both the
src and lib directories.

It is also run automatically on "all" if configure --enable-debug was
used.
2011-04-27 10:23:27 +02:00
Pierre Joye
76ac6b94ed Windows build: alternative makefile
This is a separate makefile for MSVC builds. It is deliberately put in
another dir than src/ and lib/ to allow a different build experience
than the previous - at least during a period. Eventually we should
unify.
2011-01-28 22:24:39 +01:00
Daniel Stenberg
9ba42a023d cmake: removed two files
CMake/CheckTypeSize.c.in and CMake/CheckTypeSize.cmake were removed in
the previous cmake commit
2011-01-06 23:41:45 +01:00
Yang Tse
1e739e781e distrib: add new file to EXTRA_DIST 2010-12-20 21:58:13 +01:00
Daniel Stenberg
2309b4e330 remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
Daniel Stenberg
6bf9d56485 fix the find command line 2009-11-04 12:34:48 +00:00
Daniel Stenberg
367114bc87 avoid fiddling in the ares subdir since that isn't part of the release
tarball
2009-11-04 12:33:06 +00:00
Dan Fandrich
33368ebd02 Include the Android make file in the source package even though the
config.h issue hasn't been completely solved.  This will save some effort
for someone desperate to use curl on Android.
2009-08-11 18:11:40 +00:00
Yang Tse
89f6567fda Remove buildconf.bat from release and daily snapshot archives.
buildconf.bat is only for CVS tree builds.
2009-06-08 14:31:35 +00:00
Daniel Stenberg
d27519c0ca Add missing cmake files to the tarball (thanks to Richard Atterer's report) 2009-04-27 12:26:41 +00:00
Daniel Stenberg
1272621ebc removed pointless file 2009-04-25 21:01:28 +00:00
Daniel Stenberg
dd0b38b32f first take at bundling cmake-related files in the tarball 2009-04-14 22:00:37 +00:00