aboutsummaryrefslogtreecommitdiff
path: root/libpkgconf/libpkgconf-api.h
diff options
context:
space:
mode:
Diffstat (limited to 'libpkgconf/libpkgconf-api.h')
-rw-r--r--libpkgconf/libpkgconf-api.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/libpkgconf/libpkgconf-api.h b/libpkgconf/libpkgconf-api.h
new file mode 100644
index 000000000000..a924c80ce833
--- /dev/null
+++ b/libpkgconf/libpkgconf-api.h
@@ -0,0 +1,19 @@
+#ifndef LIBPKGCONF_LIBPKGCONF_API_H
+#define LIBPKGCONF_LIBPKGCONF_API_H
+
+/* Makefile.am specifies visibility using the libtool option -export-symbols-regex '^pkgconf_'
+ * Unfortunately, that is not available when building with meson, so use attributes instead.
+ */
+#if defined(PKGCONFIG_IS_STATIC)
+# define PKGCONF_API
+#elif defined(_WIN32) || defined(_WIN64)
+# if defined(LIBPKGCONF_EXPORT) || defined(DLL_EXPORT)
+# define PKGCONF_API __declspec(dllexport)
+# else
+# define PKGCONF_API __declspec(dllimport)
+# endif
+#else
+# define PKGCONF_API __attribute__((visibility("default")))
+#endif
+
+#endif