Port: win32 DLLs don't support hidden symbols
[babeltrace.git] / include / babeltrace / babeltrace-internal.h
index 917e3f5d62058baf6f9f957aecac72f89f9d29a6..1a438ded8abf616b627ebb3792e6135cafd3bfd0 100644 (file)
 #include <stdint.h>
 #include <stdlib.h>
 #include <errno.h>
-#include <stdbool.h>
 #include <babeltrace/compat/string-internal.h>
+#include <babeltrace/types.h>
 
 #define PERROR_BUFLEN  200
 
-extern bool babeltrace_verbose, babeltrace_debug;
+extern bt_bool babeltrace_verbose, babeltrace_debug;
 
 #define printf_verbose(fmt, args...)                                   \
        do {                                                            \
@@ -174,8 +174,14 @@ extern bool babeltrace_verbose, babeltrace_debug;
 
 /*
  * BT_HIDDEN: set the hidden attribute for internal functions
+ * On Windows, symbols are local unless explicitly exported,
+ * see https://gcc.gnu.org/wiki/Visibility
  */
+#if defined(_WIN32) || defined(__CYGWIN__)
+#define BT_HIDDEN
+#else
 #define BT_HIDDEN __attribute__((visibility("hidden")))
+#endif
 
 #define __STRINGIFY(x) #x
 #define TOSTRING(x)    __STRINGIFY(x)
This page took 0.023684 seconds and 4 git commands to generate.