// Copyright 2020 Siemens Digital Industries Software // ================================================== // Copyright 2009. // Siemens Product Lifecycle Management Software Inc. // All Rights Reserved. // ================================================== // Copyright 2020 Siemens Digital Industries Software /** @file Preprocessor macros for specifying export symbols in base utilities library. */ #include #ifdef EXPORTLIBRARY #define EXPORTLIBRARY something else #error ExportLibrary was already defined #endif #define EXPORTLIBRARY libbase_utils #if !defined(IPLIB) # error IPLIB is not defined #endif /* Handwritten code should use BASE_UTILS_API, not BASE_UTILSEXPORT */ #define BASE_UTILS_API BASE_UTILSEXPORT /* Support BASE_UTILSEXPORT for autogenerated schema/pif code only */ #if IPLIB==libbase_utils # if defined(__lint) # define BASE_UTILSEXPORT __export(base_utils) # define BASE_UTILSGLOBAL extern __global(base_utils) # define BASE_UTILSPRIVATE extern __private(base_utils) # elif defined(_WIN32) # define BASE_UTILSEXPORT __declspec(dllexport) # define BASE_UTILSGLOBAL extern __declspec(dllexport) # define BASE_UTILSPRIVATE extern # else # define BASE_UTILSEXPORT # define BASE_UTILSGLOBAL extern # define BASE_UTILSPRIVATE extern # endif #else # if defined(__lint) # define BASE_UTILSEXPORT __export(base_utils) # define BASE_UTILSGLOBAL extern __global(base_utils) # elif defined(_WIN32) && !defined(WNT_STATIC_LINK) # define BASE_UTILSEXPORT __declspec(dllimport) # define BASE_UTILSGLOBAL extern __declspec(dllimport) # else # define BASE_UTILSEXPORT # define BASE_UTILSGLOBAL extern # endif #endif