2
0
mirror of https://github.com/curl/curl.git synced 2025-03-07 15:27:17 +08:00
Commit Graph

49 Commits

Author SHA1 Message Date
Viktor Szakats
10fbd8b4e3
Makefile.m32: major rework [ci skip]
This patch overhauls `Makefile.m32` scripts, fixing a list of quirks,
making its behaviour and customization envvars align better with other
build systems, aiming for less code, that is easier to read, use and
maintain.

Details:
- Rename customization envvars:
  `CURL_CC` -> `CC`
  `CURL_RC` -> `RC`
  `CURL_AR` -> `AR`
  `CURL_LDFLAG_EXTRAS_DLL` -> `CURL_LDFLAGS_LIB`
  `CURL_LDFLAG_EXTRAS_EXE` -> `CURL_LDFLAGS_BIN`
- Drop `CURL_STRIP` and `CURL_RANLIB`. These tools are no longer used.
- Accept `CFLAGS`, `CPPFLAGS`, `RCFLAGS`, `LDFLAGS` and `LIBS` envvars.
- Drop `CURL_CFLAG_EXTRAS`, `CURL_LDFLAG_EXTRAS`, `CURL_RCFLAG_EXTRAS` in
  favor of the above.
- Do not automatically enable `zlib` with `libssh2`. `zlib` is optional
  with `libssh2`.
- Omit unnecessary `CPPFLAGS` options when building `curl.exe` and
  examples.
- Drop support for deprecated `-winssl` `CFG` option. Use `-schannel`
  instead.
- Avoid late evaluation where not necessary (`=` -> `:=`).
- Drop support for `CURL_DLL_A_SUFFIX` to override the implib suffix.
  Instead, use the standard naming scheme by default: `libcurl.dll.a`.
  The toolchain recognizes the name, and selects it automatically when
  asking for a `-shared` vs. `-static` build.
- Stop applying `strip` to `libcurl.a`. Follow-up from
  16a58e9f93. There was no debug info to
  strip since then.
- Stop setting `-O3`, `-W`, `-Wall` options. You can add these to
  `CFLAGS` as desired.
- Always enable `-DCURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG` with OpenSSL,
  to avoid that vulnerability on Windows.
- Add `-lbrotlicommon` to `LIBS` when using `brotli`.
- Do not enable `-nghttp3` without `-ngtcp2`.
- `-ssh2` and `-rtmp` options no longer try to auto-select a TLS-backend.
  You need to set the backend explicitly. This scales better and avoids
  issues with certain combinations (e.g. `libssh2` + `wolfssl` with no
  `schannel`).
- Default to OpenSSL TLS-backend with `ngtcp2`. Possible to override via
  `NGTCP2_LIBS`.
- Old, alternate method of enabling components (e.g. `SSH2=1`) no longer
  supported.
- Delete `SPNEGO` references. They were no-ops.
- Drop support for Win9x environments.
- Allow setting `OPENSSL_LIBS` independently from `OPENSSL_LIBPATH`.
- Support autotools/CMake `libssh2` builds by default.
- Respect `CURL_DLL_SUFFIX` in `-dyn` mode when building `curl.exe` and
  examples.
- Assume standard directory layout with `LIBCARES_PATH`. (Instead of the
  long gone embedded one.)
- Stop static linking with c-ares by default. Add
  `CPPFLAGS=-DCARES_STATICLIB` to enable it.
- Reorganize internal layout to avoid redundancy and emit clean diffs
  between src/lib and example make files.
- Delete unused variables.
- Code cleanups/rework.
- Comment and indentation fixes.

Closes 
2022-10-03 19:46:56 +00:00
Viktor Szakats
e604a82cae
Makefile.m32: delete legacy component bits [ci skip]
- Drop auto-detection of OpenSSL 1.0.2 and earlier. Now always defaulting
  to OpenSSL 1.1.0 and later, LibreSSL and BoringSSL.

- Drop `Invalid path to OpenSSL package` detection. OpenSSL has been
  using a standard file layout since 1.1.0, so this seems unnecessary
  now.

- Drop special logic to enable Novell LDAP SDK support.

- Drop special logic to enable OpenLDAP LDAP SDK support. This seems
  to be distinct from native OpenLDAP, with support implemented inside
  `lib/ldap.c` (vs. `lib/openldap.c`) back when the latter did not exist
  yet in curl.

- Add `-lwldap32` only if there is no other LDAP library (either native
  OpenLDAP, or SDKs above) present.

- Update `doc/INSTALL.md` accordingly.

After this patch, it's necessary to make configration changes when using
OpenSSL 1.0.2 or earlier, or the two LDAP SDKs.

OpenSSL 1.0.2 and earlier:
```
export OPENSSL_INCLUDE = <path-to-openssl>/outinc
export OPENSSL_LIBPATH = <path-to-openssl>/out
export OPENSSL_LIBS = -lssl32 -leay32 -lgdi32
```

Novell LDAP SDK, previously enabled via `USE_LDAP_NOVELL=1`:
```
export CURL_CFLAG_EXTRAS = -I<path-to-sdk>/inc -DCURL_HAS_NOVELL_LDAPSDK
export CURL_LDFLAG_EXTRAS = -L<path-to-sdk>/lib/mscvc -lldapsdk -lldapssl -lldapx
```

OpenLDAP LDAP SDK, previously enabled via `USE_LDAP_OPENLDAP=1`:
```
export CURL_CFLAG_EXTRAS = -I<path-to-sdk>/include -DCURL_HAS_OPENLDAP_LDAPSDK
export CURL_LDFLAG_EXTRAS = -L<path-to-sdk>/lib -lldap -llber
```

I haven't tested these scenarios, and in general we recommend using
a recent OpenSSL release. Also, WinLDAP (the Windows default) and
OpenLDAP (via `-DUSE_OPENLDAP`) are the LDAP options actively worked on
in curl.

Closes 
2022-10-02 09:50:10 +00:00
Viktor Szakats
7313ffebfe
docs: spelling nits
- MingW -> MinGW (Minimalist GNU for Windows)
- f.e. -> e.g.
- some whitespace and punctuation.

Reviewed-by: Daniel Stenberg

Closes 
2022-09-29 21:29:04 +00:00
Daniel Stenberg
fd1ce3d4b0
docs: spellfixes
Pointed by the new CI job
2022-09-21 15:20:08 +02:00
Samuel Henrique
7e6140cb93
docs: remove mentions of deprecated '--without-openssl' config parameter
Closes 
2022-09-02 14:46:05 +02:00
Kushal Das
94ac2ca775
docs: updates spellings with full words
Closes 
2022-04-21 17:07:10 +02:00
Daniel Stenberg
3a4182d468
docs: lots of minor language polish
Mostly based on recent language decisions from "everything curl":

- remove contractions (isn't => is not)
- *an* HTTP (consistency)
- runtime (no hyphen)
- backend (no hyphen)
- URL is uppercase

Closes 
2022-03-29 13:58:14 +02:00
Daniel Stenberg
5a0644fae8 projects: remove support for MSVC before VC10 (Visual Studio 2010)
- Remove Visual Studio project files for VC6, VC7, VC7.1, VC8 and VC9.

Those versions are too old to be maintained any longer.

Closes https://github.com/curl/curl/pull/8442
2022-02-13 16:00:42 -05:00
Antoine Pietri
b341b7675b
docs: grammar proofread, typo fixes
(Partially automated) proofread of most of the documentation, leading to
various typo fixes.

Closes 
2022-01-30 12:06:05 +01:00
Daniel Stenberg
223f26c28a
mesalink: remove support
Mesalink has ceased development. We can no longer encourage use of it.
It seems to be continued under the name TabbySSL, but no attempts have
(yet) been to make curl support it.

Fixes 
Closes 
2022-01-10 11:27:59 +01:00
Dan Fandrich
470d546048 docs: Update the Reducing Size section
Add many more options that can reduce the size of the binary that were
added since the last update. Update the sample minimal binary size for
version 7.80.0.
2021-11-30 18:33:49 -08:00
Daniel Stenberg
76d6e719d9
docs: address proselint nits
- avoid exclamation marks
- use consistent number of spaces after periods: one
- avoid clichés
- avoid using 'very'

Closes 
2021-11-26 14:27:07 +01:00
Bruno Baguette
2361d11d4c
docs/INSTALL.md: typo fix : added missing "get" verb
Closes 
2021-11-26 08:13:10 +01:00
Daniel Stenberg
a28464ae77
docs: reduce/avoid English contractions
You're => You are
Hasn't => Has not
Doesn't => Does not
Don't => Do not
You'll => You will
etc

Closes 
2021-11-07 23:16:27 +01:00
Érico Nogueira
a2cab81156
INSTALL: update symbol hiding option
--enable-hidden-symbols was deprecated in
9e24b9c7af.

Closes 
2021-10-22 09:08:36 +02:00
Daniel Stenberg
9cf516adc6
docs/INSTALL: remove mentions of configure --with-darwin-ssl
... as it isn't supported since a while back.

Make configure fail with a warning if used.

Reported-by: Vadim Grinshpun
Bug: https://curl.se/mail/lib-2021-06/0008.html
Closes 
2021-06-06 23:55:32 +02:00
Douglas R. Reno
ed38ac86ea
INSTALL: use correct extension for CURL-DISABLE.md
In INSTALL.MD, it's currently set to CURL-DISABLE-md instead of
CURL-DISABLE.md. This generates a 404 on the cURL website as well as
when viewing the docs through Github.

Closes 
2021-05-27 22:59:48 +02:00
Emil Engler
3d3f4efbc8
docs: replace dots with dashes in markdown enums
We use dashes instead of dots nearly everywhere except for those few
cases. This commit addresses this issues and brings more coherency into
it.

Closes 
2021-05-19 00:40:12 +02:00
Calvin Buckley
69bf70d7dc
INSTALL: add IBM i specific quirks
Fixes 
Closes 
2021-05-06 16:59:43 +02:00
Daniel Stenberg
68d89f242c
configure: make the TLS library choice(s) explicit
configure no longer tries to find a TLS library by default, but all
libraries are now equal: the user needs to explicitly ask what TLS
library or libraries to use.

If no TLS library is selected, configure will error out unless
--without-ssl is explicitly used to request a built without TLS (as that
is very rare these days).

Removes: --with-winssl, --with-darwinssl and all --without-* options for
TLS libraries.

Closes 
2021-04-22 23:19:47 +02:00
Daniel Stenberg
7bdec2a08b
configure: provide --with-openssl, deprecate --with-ssl
Makes the option more explicit.

Closes 
2021-04-15 09:08:34 +02:00
Muhammed Yavuz Nuzumlalı
694eab18bc
install: add instructions for Apple Darwin platforms
Closes 
2021-04-07 15:54:32 +02:00
Daniel Stenberg
46f4736356
INSTALL.md: fix typo
Found-by: Marcel Raad
2021-01-20 22:45:12 +01:00
Daniel Stenberg
89918c424c
INSTALL: now at 85 operating systems 2021-01-20 14:58:05 +01:00
Daniel Stenberg
a66df02864
INSTALL: update the list known OSes and CPU archs curl has run on
Closes 
2020-12-25 16:06:49 +01:00
0xflotus
5253444090
docs: enable syntax highlighting in several docs files
... for better readability

Closes 
2020-12-11 18:06:41 +01:00
Daniel Stenberg
2429f45a97
TLS naming: fix more Winssl and Darwinssl leftovers
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 
2020-08-08 00:19:21 +02:00
Daniel Stenberg
52d302ed64
polarssl: remove more references and mentions
Assisted-by: Jay Satiro
Follow-up to 6357a19ff2
Closes 
2020-03-05 07:57:45 +01:00
Daniel Gustafsson
1ff63fa69b docs: fix typos 2019-11-28 12:58:47 +01:00
Michael Forney
9b879160df
TLS: add BearSSL vtls implementation
Closes 
2019-11-26 08:32:23 +01:00
Andreas Falkenhahn
0a906a45af
INSTALL.md: provide Android build instructions
Closes 
2019-11-16 23:37:20 +01:00
Daniel Stenberg
cbaaae44fe
CURL-DISABLE: initial docs for the CURL_DISABLE_* defines
The disable-scan script used in test 1165 is extended to also verify
that the docs cover all used defines and all defines offered by
configure.

Reported-by: SLDiggie on github
Fixes 
Closes 
2019-11-12 09:35:39 +01:00
Trivikram Kamat
4011802b35
INSTALL: add missing space for configure commands
Closes 
2019-10-29 22:51:07 +01:00
grdowns
922dcba613
INSTALL: add vcpkg installation instructions
Closes 
2019-09-27 13:44:40 +02:00
Viktor Szakats
f3e0f071b1 docs: Markdown and misc improvements [ci skip]
Approved-by: Daniel Stenberg
Closes 
2019-05-16 22:11:27 +00:00
Jay Satiro
4d8461ae8a
docs/INSTALL: fix broken link [ci skip]
Reported-by: Joombalaya on github
Fixes 
2019-05-12 16:15:14 +02:00
Daniel Stenberg
b4755887b9
INSTALL: refer to the current TLS library names and configure options 2019-02-28 09:13:09 +01:00
Daniel Gustafsson
8a49b291cb winssl: be consistent in Schannel capitalization
The productname from Microsoft is "Schannel", but in infof/failf
reporting we use "schannel". This removes different versions.

Closes 
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2018-11-07 10:11:13 +01:00
Daniel Stenberg
302d125b42
axtls: removed
As has been outlined in the DEPRECATE.md document, the axTLS code has
been disabled for 6 months and is hereby removed.

Use a better supported TLS library!

Assisted-by: Daniel Gustafsson
Closes 
2018-11-01 10:29:53 +01:00
Daniel Gustafsson
03186b1187 INSTALL: mention mesalink in TLS section
Commit 57348eb97d added support for the
MesaLink vtls backend, but missed updating the TLS section containing
supported backends in the docs.

Closes 
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2018-10-15 09:15:23 +02:00
Darío Hereñú
7212c4cd60
docs/INSTALL.md: minor formatting fixes
Closes 
2018-07-26 16:37:36 +02:00
Daniel Stenberg
aca1aba0bd
build: remove the Borland specific makefiles
According to the user survey 2018, not even one out of 670 users use
them. Nobody on the mailing list spoke up for them either.

Closes 
2018-06-02 11:23:40 +02:00
Daniel Stenberg
c10f3a1e0b
INSTALL: LDFLAGS=-Wl,-R/usr/local/ssl/lib
... the older description doesn't work

Reported-by: Peter Varga
Fixes 
Closes 
2018-05-29 07:59:24 +02:00
Johannes Schindelin
a34e141c09
docs/examples: demonstrate how to select SSL backends
The newly-introduced curl_global_sslset() function deserves to be
show-cased.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-08-28 14:56:59 +02:00
Viktor Szakats
13ef623a81
docs/comments: Update to secure URL versions
Closes 
2017-08-08 21:41:07 +02:00
Marcel Raad
e8c3c92d58
INSTALL.md: fix secure transport configure arguments
--without-ssl is needed instead of --with-winssl.
2017-04-08 14:44:18 +02:00
Daniel Stenberg
8611d985ee VC: remove the makefile.vc6 build infra
The winbuild/ build files is now the single MSVC makefile build choice.

Closes 
2017-01-23 14:27:32 +01:00
Dan Fandrich
50ee3aaf1a INSTALL.md: Updated minimum file sizes for 7.50.3 2016-10-23 22:42:19 +02:00
Daniel Stenberg
8571d1c0b4 INSTALL: converted to markdown => INSTALL.md
Also heavily edited for content. Removed lots of old cruft that we added
like 10+ years ago that is likely incorrect by now.

Also removed INSTALL.devcpp for same reason.
2016-10-21 15:57:29 +02:00