summaryrefslogtreecommitdiff
path: root/src/internal/treebnf_visibility_impl.h
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2024-04-29 02:39:30 +0000
committermidipix <writeonce@midipix.org>2024-05-07 20:07:25 +0000
commit02e59c946d51faf976a85610e44d7b0ccf4a6e59 (patch)
tree660056e01b242e947e27c470b9989c7b1ae6b2b7 /src/internal/treebnf_visibility_impl.h
parente9098c5591f439cdf8a923c9298b8fc7ff28a3ac (diff)
downloadtreebnf-02e59c946d51faf976a85610e44d7b0ccf4a6e59.tar.bz2
treebnf-02e59c946d51faf976a85610e44d7b0ccf4a6e59.tar.xz
driver: created program skeleton.
Diffstat (limited to 'src/internal/treebnf_visibility_impl.h')
-rw-r--r--src/internal/treebnf_visibility_impl.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/internal/treebnf_visibility_impl.h b/src/internal/treebnf_visibility_impl.h
new file mode 100644
index 0000000..9599010
--- /dev/null
+++ b/src/internal/treebnf_visibility_impl.h
@@ -0,0 +1,26 @@
+#ifndef TREEBNF_VISIBILITY_IMPL_H
+#define TREEBNF_VISIBILITY_IMPL_H
+
+/**********************************************************************/
+/* PE targets: __dllexport suffices for the purpose of exporting only */
+/* the desired subset of global symbols; this makes the visibility */
+/* attribute not only redundant, but also tricky if not properly */
+/* supported by the toolchain. */
+/* */
+/* When targeting Midipix, __PE__, __dllexport and __dllimport are */
+/* always defined by the toolchain. Otherwise, the absnece of these */
+/* macros has been detected by sofort's ccenv.sh during ./configure, */
+/* and they have accordingly been added to CFLAGS_OS. */
+/**********************************************************************/
+
+#ifdef __PE__
+#define tbnf_hidden
+#else
+#ifdef _ATTR_VISIBILITY_HIDDEN
+#define tbnf_hidden _ATTR_VISIBILITY_HIDDEN
+#else
+#define tbnf_hidden
+#endif
+#endif
+
+#endif