From c070bdacc7adde6ac4aca4999e7c6b21a85a952f Mon Sep 17 00:00:00 2001 From: Sara Golemon Date: Sat, 1 Jan 2005 23:38:34 +0000 Subject: [PATCH] Move towards a working win32 build --- Makefile.in | 2 +- configure.in | 16 +++++++++++++--- include/libssh2.h | 17 +++++++++++------ include/libssh2_priv.h | 2 +- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/Makefile.in b/Makefile.in index 766c29f..0abb71e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -43,7 +43,7 @@ dist: tar -zcf $(DISTLIB).tar.gz \ $(DISTLIB)/configure $(DISTLIB)/Makefile.in $(DISTLIB)/ssh2_sample.c \ $(DISTLIB)/LICENSE $(DISTLIB)/README $(DISTLIB)/TODO $(DISTLIB)/INSTALL \ - $(DISTLIB)/mkinstalldirs $(DISTLIB)/install-sh \ + $(DISTLIB)/mkinstalldirs $(DISTLIB)/install-sh $(DISTLIB)/config.sub $(DISTLIB)/config.guess \ $(DISTLIB)/src/*.c $(DISTLIB)/src/Makefile.in \ $(DISTLIB)/include/libssh2.h $(DISTLIB)/include/libssh2_priv.h $(DISTLIB)/include/libssh2_sftp.h \ $(DISTLIB)/include/libssh2_config.h.in diff --git a/configure.in b/configure.in index 5542664..823a746 100644 --- a/configure.in +++ b/configure.in @@ -3,9 +3,19 @@ AC_INIT(libssh2,0.4,sarag@libssh2.org) AC_CONFIG_SRCDIR([src]) AC_CONFIG_HEADER([include/libssh2_config.h]) -SHLIB_SUFFIX_NAME="so" -SHLIB_LDFLAGS="-shared" - +# Check for the OS. +AC_CANONICAL_HOST +case "$host" in + *-cygwin) + SHLIB_SUFFIX_NAME="dll" + SHLIB_LDFLAGS="-shared" + CFLAGS="$CFLAGS -DLIBSSH2_WIN32" + ;; + *) + SHLIB_SUFFIX_NAME="so" + SHLIB_LDFLAGS="-shared" + ;; +esac AC_SUBST(SHLIB_SUFFIX_NAME) AC_SUBST(SHLIB_LDFLAGS) diff --git a/include/libssh2.h b/include/libssh2.h index be85e56..fc50bdf 100644 --- a/include/libssh2.h +++ b/include/libssh2.h @@ -42,6 +42,17 @@ #include #include +#ifdef LIBSSH2_WIN32 +#ifdef LIBSSH2_LIBRARY +#define LIBSSH2_API __declspec(dllexport) +#else +#define LIBSSH2_API __declspec(dllimport) +#endif +#include +#else +#define LIBSSH2_API +#endif + #define LIBSSH2_VERSION "0.4" #define LIBSSH2_APINO 200412301450 @@ -158,12 +169,6 @@ typedef struct _LIBSSH2_SESSION LIBSSH2_SESSION; typedef struct _LIBSSH2_CHANNEL LIBSSH2_CHANNEL; typedef struct _LIBSSH2_LISTENER LIBSSH2_LISTENER; -#ifdef WIN_32 -#define LIBSSH2_API __declspec(dllexport) -#else -#define LIBSSH2_API -#endif - #define LIBSSH2_HOSTKEY_HASH_MD5 1 #define LIBSSH2_HOSTKEY_HASH_SHA1 2 diff --git a/include/libssh2_priv.h b/include/libssh2_priv.h index 9f59038..4b90f07 100644 --- a/include/libssh2_priv.h +++ b/include/libssh2_priv.h @@ -38,7 +38,7 @@ #ifndef LIBSSH2_PRIV_H #define LIBSSH2_PRIV_H 1 -/* Definitions shared with the public */ +#define LIBSSH2_LIBRARY #include "libssh2_config.h" #include "libssh2.h"