xref: /freebsd/contrib/pkgconf/libpkgconf/libpkgconf-api.h (revision a3cefe7f2b4df0f70ff92d4570ce18e517af43ec)
1*a3cefe7fSPierre Pronchery #ifndef LIBPKGCONF_LIBPKGCONF_API_H
2*a3cefe7fSPierre Pronchery #define LIBPKGCONF_LIBPKGCONF_API_H
3*a3cefe7fSPierre Pronchery 
4*a3cefe7fSPierre Pronchery /* Makefile.am specifies visibility using the libtool option -export-symbols-regex '^pkgconf_'
5*a3cefe7fSPierre Pronchery  * Unfortunately, that is not available when building with meson, so use attributes instead.
6*a3cefe7fSPierre Pronchery  */
7*a3cefe7fSPierre Pronchery #if defined(PKGCONFIG_IS_STATIC)
8*a3cefe7fSPierre Pronchery # define PKGCONF_API
9*a3cefe7fSPierre Pronchery #elif defined(_WIN32) || defined(_WIN64)
10*a3cefe7fSPierre Pronchery # if defined(LIBPKGCONF_EXPORT) || defined(DLL_EXPORT)
11*a3cefe7fSPierre Pronchery #  define PKGCONF_API __declspec(dllexport)
12*a3cefe7fSPierre Pronchery # else
13*a3cefe7fSPierre Pronchery #  define PKGCONF_API __declspec(dllimport)
14*a3cefe7fSPierre Pronchery # endif
15*a3cefe7fSPierre Pronchery #else
16*a3cefe7fSPierre Pronchery # define PKGCONF_API __attribute__((visibility("default")))
17*a3cefe7fSPierre Pronchery #endif
18*a3cefe7fSPierre Pronchery 
19*a3cefe7fSPierre Pronchery #endif
20