From 4501ea093dadd3c44e88da9901eff683b0a91614 Mon Sep 17 00:00:00 2001
From: Stanislaw Halik <sthalik@misaki.pl>
Date: Wed, 30 Oct 2013 17:47:38 +0100
Subject: add visibility modifiers for GNU C

---
 opentrack-api/opentrack.h | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

(limited to 'opentrack-api/opentrack.h')

diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h
index 8d28b5b8..95339d08 100644
--- a/opentrack-api/opentrack.h
+++ b/opentrack-api/opentrack.h
@@ -25,6 +25,12 @@ typedef opentrack_opaque_tracker* opentrack_tracker;
 #   endif
 #endif
 
+#ifdef __GNUC__
+#   define OPENTRACK_VISIBLE __attribute__((visibility ("default")))
+#else
+#   define OPENTRACK_VISIBLE
+#endif
+
 /* for `opentrack_tracker_tick', individual headpose elts */
 #ifndef IN_OPENTRACK
 enum opentrack_dof {
@@ -38,20 +44,20 @@ enum opentrack_dof {
 };
 #endif
 
-opentrack opentrack_make_ctx(const char* dir);
-void opentrack_finalize_ctx(opentrack self);
+opentrack OPENTRACK_VISIBLE opentrack_make_ctx(const char* dir);
+void OPENTRACK_VISIBLE opentrack_finalize_ctx(opentrack self);
 
 /* no need to free the return value; invalid to modify it */
-const char** opentrack_enum_trackers(opentrack self);
+const char** OPENTRACK_VISIBLE opentrack_enum_trackers(opentrack self);
 
 /*
  * don't `opentrack_tracker_tick an unstarted tracker, it's invalid to do so
  * it's also invalid to start a finalized tracker
  */
-opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name);
-void opentrack_tracker_start(opentrack self, opentrack_tracker tracker);
-int opentrack_tracker_tick(opentrack_tracker tracker, double* headpose);
-void opentrack_finalize_tracker(opentrack_tracker tracker);
+opentrack_tracker OPENTRACK_VISIBLE opentrack_make_tracker(opentrack ctx, const char* name);
+void OPENTRACK_VISIBLE opentrack_tracker_start(opentrack self, opentrack_tracker tracker);
+int OPENTRACK_VISIBLE opentrack_tracker_tick(opentrack_tracker tracker, double* headpose);
+void OPENTRACK_VISIBLE opentrack_finalize_tracker(opentrack_tracker tracker);
 #ifdef __cplusplus
 }
 #endif
-- 
cgit v1.2.3