Blame src/internal/slibtool_visibility_impl.h

4b56de
#ifndef SLIBTOOL_VISIBILITY_IMPL_H
4b56de
#define SLIBTOOL_VISIBILITY_IMPL_H
4b56de
2accd1
/**********************************************************************/
2accd1
/* PE targets: __dllexport suffices for the purpose of exporting only */
2accd1
/* the desired subset of global symbols; this makes the visibility    */
2accd1
/* attribute not only redundant, but also tricky if not properly      */
2accd1
/* supported by the toolchain.                                        */
2accd1
/*                                                                    */
f524b0
/* When targeting Midipix hosts, where elf-like visibility is fully   */
f524b0
/* supported and may be detected via the __PE_VISIBILITY__ macro,     */
f524b0
/* we utilize the attribute to render private symbols invisibile      */
f524b0
/* to dlsym(), as well as reduce the size of the .gotstrs section.    */
2accd1
/**********************************************************************/
2accd1
f524b0
#if defined(__PE_VISIBILITY__)
f524b0
#define slbt_hidden _ATTR_VISIBILITY_HIDDEN
f524b0
#elif defined(__PE__)
2accd1
#define slbt_hidden
f524b0
#elif defined(_ATTR_VISIBILITY_HIDDEN)
4b56de
#define slbt_hidden _ATTR_VISIBILITY_HIDDEN
4b56de
#else
4b56de
#define slbt_hidden
4b56de
#endif
4b56de
4b56de
#endif