summaryrefslogtreecommitdiff
path: root/libs/libssh2/src/libssh2_setup.h
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-06-09 21:40:16 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-06-09 21:40:16 +0300
commit927f00cc19b7239a1fe12abe30b472d61b753d8d (patch)
tree68a190dd83dc2dcceb82464a1953f2701af2a109 /libs/libssh2/src/libssh2_setup.h
parent1b241cad53b8c3c5300409fe681de18e636dcf3d (diff)
fixes #3551 (Update libssh2 to 1.11.0)
Diffstat (limited to 'libs/libssh2/src/libssh2_setup.h')
-rw-r--r--libs/libssh2/src/libssh2_setup.h108
1 files changed, 108 insertions, 0 deletions
diff --git a/libs/libssh2/src/libssh2_setup.h b/libs/libssh2/src/libssh2_setup.h
new file mode 100644
index 0000000000..8e56a06042
--- /dev/null
+++ b/libs/libssh2/src/libssh2_setup.h
@@ -0,0 +1,108 @@
+/* Copyright (C) Viktor Szakats
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef LIBSSH2_SETUP_H
+#define LIBSSH2_SETUP_H
+
+/* Header for platform/compiler-specific initialization.
+ Used by 'src', 'example', 'tests' */
+
+#if defined(_WIN32) && !defined(WIN32)
+#define WIN32
+#endif
+
+/* Define mingw-w64 version macros, eg __MINGW{32,64}_{MINOR,MAJOR}_VERSION */
+#ifdef __MINGW32__
+#include <_mingw.h>
+#endif
+
+/* Configuration provided by build tools (autotools and CMake),
+ and via platform-specific directories for os400 and vms */
+#if defined(HAVE_CONFIG_H) || defined(__OS400__) || defined(__VMS)
+
+#include "libssh2_config.h"
+
+/* Hand-crafted configuration for platforms which lack config tool.
+ Keep this synced with root CMakeLists.txt */
+#elif defined(WIN32)
+
+#define HAVE_SELECT
+#define HAVE_SNPRINTF
+
+#ifdef __MINGW32__
+# define HAVE_UNISTD_H
+# define HAVE_INTTYPES_H
+# define HAVE_SYS_TIME_H
+# define HAVE_SYS_PARAM_H
+# define HAVE_GETTIMEOFDAY
+# define HAVE_STRTOLL
+#elif defined(_MSC_VER)
+# if _MSC_VER >= 1800
+# define HAVE_INTTYPES_H
+# define HAVE_STRTOLL
+# else
+# define HAVE_STRTOI64
+# endif
+# if _MSC_VER < 1900
+# undef HAVE_SNPRINTF
+# endif
+#endif
+
+#endif /* defined(HAVE_CONFIG_H) */
+
+/* Below applies to both auto-detected and hand-crafted configs */
+
+#ifdef WIN32
+
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#ifndef NOGDI
+#define NOGDI
+#endif
+#ifndef NONLS
+#define NONLS
+#endif
+
+#ifdef __MINGW32__
+# ifdef __MINGW64_VERSION_MAJOR
+/* Number of bits in a file offset, on hosts where this is settable. */
+# ifndef _FILE_OFFSET_BITS
+# define _FILE_OFFSET_BITS 64
+# endif
+# endif
+#elif defined(_MSC_VER)
+# ifndef _CRT_SECURE_NO_WARNINGS
+# define _CRT_SECURE_NO_WARNINGS /* for fopen(), getenv() */
+# endif
+# if !defined(LIBSSH2_LIBRARY) || defined(LIBSSH2_TESTS)
+ /* apply to examples and tests only */
+# ifndef _CRT_NONSTDC_NO_DEPRECATE
+# define _CRT_NONSTDC_NO_DEPRECATE /* for strdup(), write() */
+# endif
+# ifndef _WINSOCK_DEPRECATED_NO_WARNINGS
+# define _WINSOCK_DEPRECATED_NO_WARNINGS /* for inet_addr() */
+# endif
+ /* we cannot access our internal snprintf() implementation in examples and
+ tests when linking to a shared libssh2. */
+# if _MSC_VER < 1900
+# undef HAVE_SNPRINTF
+# define HAVE_SNPRINTF
+# define snprintf _snprintf
+# endif
+# endif
+# if _MSC_VER < 1500
+# define vsnprintf _vsnprintf
+# endif
+# if _MSC_VER < 1900
+# define strdup _strdup
+/* Silence bogus warning C4127: conditional expression is constant */
+# pragma warning(disable:4127)
+# endif
+#endif
+
+#endif /* WIN32 */
+
+#endif /* LIBSSH2_SETUP_H */