1
0
Fork 0
mirror of https://git.tukaani.org/xz.git synced 2024-04-04 12:36:23 +02:00

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.
This commit is contained in:
Lasse Collin 2009-02-07 11:11:50 +02:00
parent b719e63c5f
commit 3306cf3883
2 changed files with 25 additions and 8 deletions

View file

@ -155,15 +155,32 @@
/*
* 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
#ifndef LZMA_API_IMPORT
# if !defined(LZMA_API_STATIC) && defined(_WIN32)
# define LZMA_API_IMPORT __declspec(dllimport)
# define LZMA_API_CALL __cdecl
# 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
# define LZMA_API(type) LZMA_API_IMPORT type LZMA_API_CALL

View file

@ -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