diff options
author | midipix <writeonce@midipix.org> | 2024-02-22 04:41:47 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2024-02-22 04:48:31 +0000 |
commit | 2accd1d80cf6b32cb42130c21cf3feadc42f87cd (patch) | |
tree | c99164c603086d60d83d7081a31c29309b6d9e4c /src/internal | |
parent | 4c3598a30c33daf9e49c1db9db01a32b70f3e5a6 (diff) | |
download | slibtool-2accd1d80cf6b32cb42130c21cf3feadc42f87cd.tar.bz2 slibtool-2accd1d80cf6b32cb42130c21cf3feadc42f87cd.tar.xz |
code base: internal (hidden) visibility: properly support legacy PE targets.
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/slibtool_visibility_impl.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/internal/slibtool_visibility_impl.h b/src/internal/slibtool_visibility_impl.h index 7b1e50f..2bdded0 100644 --- a/src/internal/slibtool_visibility_impl.h +++ b/src/internal/slibtool_visibility_impl.h @@ -1,10 +1,26 @@ #ifndef SLIBTOOL_VISIBILITY_IMPL_H #define SLIBTOOL_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 slbt_hidden +#else #ifdef _ATTR_VISIBILITY_HIDDEN #define slbt_hidden _ATTR_VISIBILITY_HIDDEN #else #define slbt_hidden #endif +#endif #endif |