1
0
mirror of https://github.com/libssh2/libssh2.git synced 2025-08-05 20:55:47 +03:00

build: be friendly with 3rd-party build tools

After recent build changes, 3rd party build that took the list of
C source to compile them as-is, stopped working as expected, due to
`blowfish.c` and crypto-backend C sources no longer expected to compile
separately but via `bcrypt_pbkdf.c` and `crypto.c`, respectively.

This patch ensures that compiling these files directly result in an
empty object instead of redundant code and duplicated symbols.

Also:
- add a compile-time error if none of the supported crypto backends
  are enabled.
- fix `libssh2_crypto_engine()` for wolfSSL and os400qc3.
  Rearrange code to avoid a hard-to-find copy of crypto-backend
  selection guards.

Follow-up to 4f0f4bff5a
Follow-up to ff3c774e03

Closes #951
This commit is contained in:
Viktor Szakats
2023-04-12 09:17:10 +00:00
parent fe02bd2b2d
commit 73d95a055c
16 changed files with 38 additions and 47 deletions

View File

@@ -1010,7 +1010,8 @@ typedef enum {
libssh2_openssl,
libssh2_gcrypt,
libssh2_mbedtls,
libssh2_wincng
libssh2_wincng,
libssh2_os400qc3
} libssh2_crypto_engine_t;
LIBSSH2_API