// // ================================================================== // Copyright 2014 Autodesk, Inc. All rights reserved. // // This computer source code and related instructions and comments are // the unpublished confidential and proprietary information of Autodesk, // Inc. and are protected under applicable copyright and trade secret // law. They may not be disclosed to, copied or used by any third party // without the prior written consent of Autodesk, Inc. // ================================================================== // //! \file synColor/synExport.h //! //! \brief Definition of macros for library symbol visibility. //! #ifdef SYN_LINK_STATIC #define SYN_HIDDEN #define SYN_EXPORT #define SYN_VISIBILITY_PUSH #define SYN_VISIBILITY_POP #elif defined _WIN32 #define SYN_HIDDEN #ifdef SYN_BUILD_DLL #define SYN_EXPORT __declspec(dllexport) #else #define SYN_EXPORT __declspec(dllimport) #endif #define SYN_VISIBILITY_PUSH #define SYN_VISIBILITY_POP #elif __GNUC__ >= 4 #define SYN_EXPORT __attribute__ ((visibility ("default"))) #define SYN_HIDDEN __attribute__ ((visibility ("hidden"))) #define SYN_VISIBILITY_PUSH #define SYN_VISIBILITY_POP #else #define SYN_EXPORT #define SYN_HIDDEN #define SYN_VISIBILITY_PUSH _Pragma( "GCC visibility push(default)" ) #define SYN_VISIBILITY_POP _Pragma( "GCC visibility pop" ) #endif