summaryrefslogtreecommitdiffhomepage
path: root/include/perk/perk_api.h
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2015-05-08 21:39:57 -0400
committermidipix <writeonce@midipix.org>2016-11-10 23:35:19 -0500
commit1ef00310a8458f251a7f6aaf88c64295b3d8f7eb (patch)
tree8f2817c5eb519102c1d8c1a04bce6fea15a7f55e /include/perk/perk_api.h
parent8d1514ca651ffa92f7d49ca5e20718287e4e9b05 (diff)
downloadperk-1ef00310a8458f251a7f6aaf88c64295b3d8f7eb.tar.bz2
perk-1ef00310a8458f251a7f6aaf88c64295b3d8f7eb.tar.xz
add perk_api.h and define perk_api to cleanly support PE import libraries.
Diffstat (limited to 'include/perk/perk_api.h')
-rw-r--r--include/perk/perk_api.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/perk/perk_api.h b/include/perk/perk_api.h
new file mode 100644
index 0000000..36221a4
--- /dev/null
+++ b/include/perk/perk_api.h
@@ -0,0 +1,35 @@
+#ifndef PERK_API_H
+#define PERK_API_H
+
+#include <limits.h>
+
+/* perk_export */
+#if defined(__attr_export__)
+#define perk_export __attr_export__
+#else
+#define perk_export
+#endif
+
+/* perk_import */
+#if defined(__attr_import__)
+#define perk_import __attr_import__
+#else
+#define perk_import
+#endif
+
+/* perk_api */
+#ifndef PERK_APP
+#if defined (PERK_BUILD)
+#define perk_api perk_export
+#elif defined (PERK_SHARED)
+#define perk_api perk_import
+#elif defined (PERK_STATIC)
+#define perk_api
+#else
+#define perk_api
+#endif
+#else
+#define perk_api
+#endif
+
+#endif