diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2009-02-07 11:11:50 +0200 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2009-02-07 11:11:50 +0200 |
commit | 3306cf3883492720b3c34baa02f4eb4227d91c73 (patch) | |
tree | b3fdbb58d3a7c0b85735a6e52bf6e680d6073229 /src/liblzma | |
parent | Another grammar fix (diff) | |
download | xz-3306cf3883492720b3c34baa02f4eb4227d91c73.tar.xz |
Introduced LZMA_API_STATIC macro, which the applications
need to #define when linking against static liblzma on
platforms like Windows. Most developers don't need to
care about LZMA_API_STATIC at all.
Diffstat (limited to '')
-rw-r--r-- | src/liblzma/api/lzma.h | 31 | ||||
-rw-r--r-- | src/liblzma/common/common.h | 2 |
2 files changed, 25 insertions, 8 deletions
diff --git a/src/liblzma/api/lzma.h b/src/liblzma/api/lzma.h index c03a19de..7cab3909 100644 --- a/src/liblzma/api/lzma.h +++ b/src/liblzma/api/lzma.h @@ -155,14 +155,31 @@ /* * Some systems require (or at least recommend) that the functions and - * function pointers are declared specially in the headers. + * function pointers are declared specially in the headers. LZMA_API_IMPORT + * is for importing symbols and LZMA_API_CALL is to specify calling + * convention. + * + * By default it is assumed that the application will link dynamically + * against liblzma. #define LZMA_API_STATIC in your application if you + * want to link against static liblzma. If you don't care about portability + * to operating systems like Windows, or at least don't care about linking + * against static liblzma on them, don't worry about LZMA_API_STATIC. That + * is, most developers will never need to use LZMA_API_STATIC. */ -#ifdef _WIN32 -# define LZMA_API_IMPORT __declspec(dllimport) -# define LZMA_API_CALL __cdecl -#else -# define LZMA_API_IMPORT -# define LZMA_API_CALL +#ifndef LZMA_API_IMPORT +# if !defined(LZMA_API_STATIC) && defined(_WIN32) +# define LZMA_API_IMPORT __declspec(dllimport) +# else +# define LZMA_API_IMPORT +# endif +#endif + +#ifndef LZMA_API_CALL +# ifdef _WIN32 +# define LZMA_API_CALL __cdecl +# else +# define LZMA_API_CALL +# endif #endif #ifndef LZMA_API diff --git a/src/liblzma/common/common.h b/src/liblzma/common/common.h index cbb2eb9b..5a5fe775 100644 --- a/src/liblzma/common/common.h +++ b/src/liblzma/common/common.h @@ -24,7 +24,7 @@ #include "../../common/mythread.h" #include "../../common/integer.h" -#if defined(_WIN32) +#if !defined(LZMA_API_STATIC) && defined(_WIN32) # define LZMA_API_EXPORT __declspec(dllexport) // Don't use ifdef or defined() below. #elif HAVE_VISIBILITY |