1
0
mirror of https://github.com/libssh2/libssh2.git synced 2025-07-28 01:41:49 +03:00

build: hand-crafted config rework & header tidy-up

- introduce the concept of a project level setup header
  `src/libssh2_setup.h`, that is used by `src`, `example` and `tests`
  alike. Move there all common platform/compiler configuration from
  `src/libssh2_priv.h`, individual sources and `CMakeFiles.txt` files.
  Also move there our hand-crafted (= not auto-generated by CMake or
  autotools) configuration `win32/libssh2-config.h`.

- `win32` directory is empty now, delete it.

- `Makefile.mk`: adapt to the above. Build-directory is the target
  triplet, or any custom name set via `BLD_DIR`.

- sync header path order between build systems:
  build/src -> source/src -> source/include

- delete redundant references to `windows.h`, `winsock2.h`,
  `ws2tcpip.h`.

- delete unnecessary #includes, update order (`libssh2_setup.h` first,
  `winsock2.h` first), simplify where possible.

  This makes the code warning-free without `WIN32_LEAN_AND_MEAN`.
  At the same time this patch applies this macro globally, to avoid
  header bloat.

- example: add missing *nix header guards.

- example: fix misindented `HAVE_UNISTD_H` `#ifdef`s.

- set `WIN32` with all build-tools.

- set `HAVE_SYS_PARAM_H` in the hand-crafted config for MinGW.
  To match auto-detection.

- move a source-specific macro to `misc.c` from `libssh2_priv.h`.

See the PR's individual commits for step-by-step updates.

Closes #932
This commit is contained in:
Viktor Szakats
2023-04-07 23:32:42 +00:00
parent 8774f4973f
commit 59666e03f0
77 changed files with 250 additions and 466 deletions

View File

@ -7,12 +7,11 @@
* "sftp_nonblock 192.168.0.1 user password /tmp/secrets"
*/
#include "libssh2_config.h"
#include "libssh2_setup.h"
#include <libssh2.h>
#include <libssh2_sftp.h>
#ifdef WIN32
# include <winsock2.h>
# define write(f, b, c) write((f), (b), (unsigned int)(c))
#endif
#ifdef HAVE_SYS_SOCKET_H
@ -24,8 +23,8 @@
#ifdef HAVE_SYS_SELECT_H
# include <sys/select.h>
#endif
# ifdef HAVE_UNISTD_H
#include <unistd.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#ifdef HAVE_ARPA_INET_H
# include <arpa/inet.h>
@ -40,10 +39,6 @@
#include <stdio.h>
#include <ctype.h>
#if defined(_MSC_VER) && _MSC_VER < 1900
#pragma warning(disable:4127)
#endif
#ifdef HAVE_GETTIMEOFDAY
/* diff in ms */
static long tvdiff(struct timeval newer, struct timeval older)