diff options
author | Andreas Schneider <mail@cynapses.org> | 2009-08-11 18:16:43 +0200 |
---|---|---|
committer | Andreas Schneider <mail@cynapses.org> | 2009-08-11 18:16:43 +0200 |
commit | db284d60b97bbee864d88737b4f8c6ae5b03c8ff (patch) | |
tree | 468b35289d169c3a0c28399145e3a03cbc3fdf55 | |
parent | bfc6c7e6063e81677e0026669f391a5127cf5975 (diff) | |
download | libssh-db284d60b97bbee864d88737b4f8c6ae5b03c8ff.tar.gz libssh-db284d60b97bbee864d88737b4f8c6ae5b03c8ff.tar.xz libssh-db284d60b97bbee864d88737b4f8c6ae5b03c8ff.zip |
Fix static build.
If you want to link against the static library you have to define
LIBSSH_STATIC and link against ssh_static.
gcc -static -DLIBSSH_STATIC -lssh_static foo.c -o foo
-rw-r--r-- | include/libssh/libssh.h | 32 | ||||
-rw-r--r-- | libssh/CMakeLists.txt | 10 |
2 files changed, 21 insertions, 21 deletions
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h index 9a6b9f8f..cf2ab165 100644 --- a/include/libssh/libssh.h +++ b/include/libssh/libssh.h @@ -22,26 +22,30 @@ #ifndef _LIBSSH_H #define _LIBSSH_H -#if defined _WIN32 || defined __CYGWIN__ - #ifdef SSH_EXPORTS - #ifdef __GNUC__ - #define LIBSSH_API __attribute__((dllexport)) +#ifdef LIBSSH_STATIC + #define LIBSSH_API +#else + #if defined _WIN32 || defined __CYGWIN__ + #ifdef LIBSSH_EXPORTS + #ifdef __GNUC__ + #define LIBSSH_API __attribute__((dllexport)) + #else + #define LIBSSH_API __declspec(dllexport) + #endif #else - #define LIBSSH_API __declspec(dllexport) + #ifdef __GNUC__ + #define LIBSSH_API __attribute__((dllimport)) + #else + #define LIBSSH_API __declspec(dllimport) + #endif #endif #else - #ifdef __GNUC__ - #define LIBSSH_API __attribute__((dllimport)) + #if __GNUC__ >= 4 + #define LIBSSH_API __attribute__((visibility("default"))) #else - #define LIBSSH_API __declspec(dllimport) + #define LIBSSH_API #endif #endif -#else - #if __GNUC__ >= 4 - #define LIBSSH_API __attribute__((visibility("default"))) - #else - #define LIBSSH_API - #endif #endif #ifdef _MSC_VER diff --git a/libssh/CMakeLists.txt b/libssh/CMakeLists.txt index 3af8d8a9..9274f6f3 100644 --- a/libssh/CMakeLists.txt +++ b/libssh/CMakeLists.txt @@ -156,10 +156,8 @@ set_target_properties( ${LIBRARY_SOVERSION} OUTPUT_NAME ssh - CLEAN_DIRECT_OUTPUT - 1 DEFINE_SYMBOL - SSH_EXPORTS + LIBSSH_EXPORTS COMPILE_FLAGS ${LIBSSH_SHARED_CFLAGS} ) @@ -183,10 +181,8 @@ if (WITH_STATIC_LIB) ${LIBRARY_VERSION} SOVERSION ${LIBRARY_SOVERSION} - OUTPUT_NAME - ssh - CLEAN_DIRECT_OUTPUT - 1 + COMPILE_FLAGS + "-DLIBSSH_STATIC" ) install( |