mirror of
https://github.com/nmap/nmap.git
synced 2025-12-16 20:59:02 +00:00
106 lines
2.5 KiB
C
106 lines
2.5 KiB
C
/* Copyright (c) 2023 Viktor Szakats */
|
|
|
|
#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 */
|