curl/packages/DOS
Viktor Szakats 0c327464ca
tidy-up: delete parallel/unused feature flags
Detecting headers and lib separately makes sense when headers come in
variations or with extra ones, but this wasn't the case here. These were
duplicate/parallel macros that we had to keep in sync with each other
for a working build. This patch leaves a single macro for each of these
dependencies:

- Rely on `HAVE_LIBZ`, delete parallel `HAVE_ZLIB_H`.

  Also delete CMake logic making sure these two were in sync, along with
  a toggle to turn off that logic, called `CURL_SPECIAL_LIBZ`.

  Also delete stray `HAVE_ZLIB` defines.

  There is also a `USE_ZLIB` variant in `lib/config-dos.h`. This patch
  retains it for compatibility and deprecates it.

- Rely on `USE_LIBSSH2`, delete parallel `HAVE_LIBSSH2_H`.

  Also delete `LIBSSH2_WIN32`, `LIBSSH2_LIBRARY` from
  `winbuild/MakefileBuild.vc`, these have a role when building libssh2
  itself. And `CURL_USE_LIBSSH`, which had no use at all.

  Also delete stray `HAVE_LIBSSH2` defines.

- Rely on `USE_LIBSSH`, delete parallel `HAVE_LIBSSH_LIBSSH_H`.

  Also delete `LIBSSH_WIN32`, `LIBSSH_LIBRARY` and `HAVE_LIBSSH` from
  `winbuild/MakefileBuild.vc`, these were the result of copy-pasting the
  libssh2 line, and were not having any use.

- Delete unused `HAVE_LIBPSL_H` and `HAVE_LIBPSL`.

Reviewed-by: Daniel Stenberg

Closes #9652
2022-10-06 15:30:13 +00:00
..
common.dj tidy-up: delete parallel/unused feature flags 2022-10-06 15:30:13 +00:00
README docs: spelling nits 2022-09-29 21:29:04 +00:00

Gisle Vanem made curl build fine on DOS (and MinGW) with djgpp, OpenSSL and his
Watt-32 stack.

'make -f Makefile.dist djgpp' in the root curl dir should build it fine.
Or enter 'lib' and do a 'make -f Makefile.dj clean all' to first delete
'lib/curl_config.h' which is possibly from a previous incompatible Windows-build.

Note 1: djgpp 2.04 beta has a sscanf() bug so the URL parsing isn't
        done properly. Use djgpp 2.03 until they fix it.

Note 2: Compile Watt-32 (and OpenSSL) with the same version of djgpp.
        Otherwise things go wrong because things like FS-extensions and
        errnos have been changed between releases.

Note 3: Several 'USE_x' variables in 'common.dj' are on the 'USE_x ?= 0'
        form (conditional variable assignment). So one can build like this:
          c:\curl\lib> make -f makefile.dj USE_OPENSSL=1 USE_ZLIB=1 clean all