curl/src
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 #9632
2022-10-03 19:46:56 +00:00
..
.gitignore copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
CMakeLists.txt tool_hugehelp: make hugehelp a blank macro when disabled 2022-09-14 08:04:49 +02:00
curl.rc copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
Makefile.am windows: add .rc support to autotools builds 2022-09-18 12:05:35 +00:00
makefile.amiga copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
makefile.dj copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
Makefile.inc curl_ctype: convert to macros-only 2022-09-06 08:36:33 +02:00
Makefile.m32 Makefile.m32: major rework [ci skip] 2022-10-03 19:46:56 +00:00
mkhelp.pl tool_hugehelp: make hugehelp a blank macro when disabled 2022-09-14 08:04:49 +02:00
slist_wc.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
slist_wc.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_binmode.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_binmode.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_bname.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_bname.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_cb_dbg.c trace: 0x7F character is non-printable 2022-07-17 10:10:35 +00:00
tool_cb_dbg.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_cb_hdr.c tool: remove protocol count limitation 2022-09-22 13:49:10 +02:00
tool_cb_hdr.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_cb_prg.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_cb_prg.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_cb_rea.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_cb_rea.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_cb_see.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_cb_see.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_cb_wrt.c tool_cfgable: make 'synthetic_error' a plain bool 2022-07-23 13:39:20 +02:00
tool_cb_wrt.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_cfgable.c setopt: add CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STR 2022-07-04 08:35:09 +02:00
tool_cfgable.h NPN: remove support for and use of 2022-09-05 07:39:02 +02:00
tool_dirhie.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_dirhie.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_doswin.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_doswin.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_easysrc.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_easysrc.h tool_operate: avoid a few #ifdefs for disabled-libcurl builds 2022-09-13 10:28:50 +02:00
tool_filetime.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_filetime.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_findfile.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_findfile.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_formparse.c curl_ctype: convert to macros-only 2022-09-06 08:36:33 +02:00
tool_formparse.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_getparam.c tool: remove protocol count limitation 2022-09-22 13:49:10 +02:00
tool_getparam.h getparam: correctly clean args 2022-08-31 01:03:36 +02:00
tool_getpass.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_getpass.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_help.c tool: remove protocol count limitation 2022-09-22 13:49:10 +02:00
tool_help.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_helpers.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_helpers.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_hugehelp.c.cvs copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_hugehelp.h tool_hugehelp: make hugehelp a blank macro when disabled 2022-09-14 08:04:49 +02:00
tool_libinfo.c tool: remove protocol count limitation 2022-09-22 13:49:10 +02:00
tool_libinfo.h tool: remove protocol count limitation 2022-09-22 13:49:10 +02:00
tool_listhelp.c lib: sanitize conditional exclusion around MIME 2022-09-29 10:51:04 +02:00
tool_main.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_main.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_msgs.c misc: ISSPACE() => ISBLANK() 2022-09-06 08:34:30 +02:00
tool_msgs.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_operate.c docs: spelling nits 2022-09-29 21:29:04 +00:00
tool_operate.h tool_operate: reduce errorbuffer allocs 2022-09-01 09:25:00 +02:00
tool_operhlp.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_operhlp.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_panykey.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_panykey.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_paramhlp.c tool: remove dead code 2022-09-23 13:55:52 +02:00
tool_paramhlp.h tool: remove protocol count limitation 2022-09-22 13:49:10 +02:00
tool_parsecfg.c getparam: correctly clean args 2022-08-31 01:03:36 +02:00
tool_parsecfg.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_progress.c tool_progress: remove 'Qd' from the parallel progress bar 2022-08-31 15:58:15 +02:00
tool_progress.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_sdecls.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_setopt.c cli tool: do not use disabled protocols 2022-09-16 23:29:08 +02:00
tool_setopt.h cli tool: do not use disabled protocols 2022-09-16 23:29:08 +02:00
tool_setup.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_sleep.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_sleep.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_strdup.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_strdup.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_urlglob.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_urlglob.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_util.c tool: remove protocol count limitation 2022-09-22 13:49:10 +02:00
tool_util.h tool: remove protocol count limitation 2022-09-22 13:49:10 +02:00
tool_version.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_vms.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_vms.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_writeout.c tool_operate: reduce errorbuffer allocs 2022-09-01 09:25:00 +02:00
tool_writeout.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_writeout_json.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_writeout_json.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_xattr.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tool_xattr.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00