X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.fmil.core%2Fnative%2FFMUSimulator%2Finclude%2Fwin64%2Ffmilib_config.h;fp=org.simantics.fmil.core%2Fnative%2FFMUSimulator%2Finclude%2Fwin64%2Ffmilib_config.h;h=7d9861aad03af43ff3f8fb5c502efe57005f7fb6;hb=4bed8078f3f6d15b8539d7357b8815f8bfeec2c4;hp=0000000000000000000000000000000000000000;hpb=87cc423aefd98832c6c8d0979afc21551f8ceca3;p=simantics%2Ffmil.git diff --git a/org.simantics.fmil.core/native/FMUSimulator/include/win64/fmilib_config.h b/org.simantics.fmil.core/native/FMUSimulator/include/win64/fmilib_config.h new file mode 100644 index 0000000..7d9861a --- /dev/null +++ b/org.simantics.fmil.core/native/FMUSimulator/include/win64/fmilib_config.h @@ -0,0 +1,163 @@ +/* + Copyright (C) 2012 Modelon AB + + This program is free software: you can redistribute it and/or modify + it under the terms of the BSD style license. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + FMILIB_License.txt file for more details. + + You should have received a copy of the FMILIB_License.txt file + along with this program. If not, contact Modelon AB . +*/ + +#ifndef CONFIG_FMILIB_H_ +#define CONFIG_FMILIB_H_ + +/** \file fmilib_config.h + \brief Library configuration file generated by the build system. +*/ + +#ifndef WIN32 +#define WIN32 +#ifdef WIN32 +/** \def WIN32 + \brief WIN32 is used to identify Windows OS (set on both Win32 and Win64) +*/ +#endif +#endif + +/* #undef MINGW */ +#ifdef MINGW +/** \def MINGW + \brief MINGW is used to identify MSYS/MinGW environment +*/ +#endif + +#ifndef CMAKE_INTDIR +#define CMAKE_INTDIR "." +/** \def CMAKE_INTDIR + \brief The macro #CMAKE_INTDIR gives intermediate directory for the current configuration (Debug/Release). + +It is redefined to "." for Makefile based build environments. Otherwise is set by MSVC. */ +#endif + +/** \brief Platform folder separator */ +#define FMI_FILE_SEP "\\" + +/** \brief DLL file name suffix(.so, .dll, ...) */ +#define FMI_DLL_EXT ".dll" + +/** \brief Folder name inside FMU in which the DLL is found for this platform */ +#define FMI_PLATFORM "win64" + +/** \brief Folder name inside FMU where binaries are */ +#define FMI_BINARIES "binaries" +/** \brief Model description XML file name */ +#define FMI_MODEL_DESCRIPTION_XML "modelDescription.xml" + +/* #undef FMILIB_STATIC_LIB_ONLY */ +#ifdef FMILIB_STATIC_LIB_ONLY +/** +\def FMILIB_STATIC_LIB_ONLY +\brief The macro #FMILIB_STATIC_LIB_ONLY is defined if no fmilib_shared is build. */ +#endif + +#ifndef FMILIB_STATIC_LIB_ONLY + #if defined WIN32 + #ifdef FMILIB_BUILDING_LIBRARY + #if 0 /* defined(__GNUC__) MSYS currently does not support visibility attribute */ + #define FMILIB_EXPORT __attribute__ ((dllexport)) + #else + /* Note: actually gcc seems to also supports this syntax. */ + #define FMILIB_EXPORT __declspec(dllexport) + #endif + #else + #if 0 /* defined(__GNUC__) MSYS currently does not support visibility attribute */ + #define FMILIB_EXPORT __attribute__ ((dllimport)) + #else + /* Note: actually gcc seems to also supports this syntax. */ + #define FMILIB_EXPORT __declspec(dllimport) + #endif + #endif + #define FMILIB_PRIVATE + #else + #if __GNUC__ >= 4 + #define FMILIB_EXPORT __attribute__ ((visibility ("default"))) + #define FMILIB_PRIVATE __attribute__ ((visibility ("hidden"))) + #else + #define FMILIB_EXPORT + #define FMILIB_PRIVATE + #endif + #endif +#else + #if __GNUC__ >= 4 + #define FMILIB_EXPORT __attribute__ ((visibility ("default"))) + #define FMILIB_PRIVATE __attribute__ ((visibility ("hidden"))) + #else + #define FMILIB_EXPORT + #define FMILIB_PRIVATE + #endif +#endif + +/** \def FMILIB_EXPORT + \brief Used to declare the public API of the library needed for dynamic linking. + \def FMILIB_PRIVATE + \brief Intended for declaration of the private library functions. +*/ + +/* #undef FMILIB_ENABLE_LOG_LEVEL_DEBUG */ +#ifndef FMILIB_ENABLE_LOG_LEVEL_DEBUG +/* Just for doxygen */ +#define FMILIB_ENABLE_LOG_LEVEL_DEBUG +#undef FMILIB_ENABLE_LOG_LEVEL_DEBUG +#endif +/** +\def FMILIB_ENABLE_LOG_LEVEL_DEBUG +\brief Activates debug level log messages. If not defined the debug messages are compiled out. +*/ + +#if defined _MSC_VER + #define FMILIB_SIZET_FORMAT "%Iu" +#else + #define FMILIB_SIZET_FORMAT "%zu" +#endif + +/* #undef FMILIB_GENERATE_BUILD_STAMP */ +#ifndef FMILIB_GENERATE_BUILD_STAMP +/* Just for Doxygen */ +#define FMILIB_GENERATE_BUILD_STAMP +#undef FMILIB_GENERATE_BUILD_STAMP +#endif +/** +\def FMILIB_GENERATE_BUILD_STAMP +\brief Generate build-stamp file and enable fmilib_get_build_stamp(). +*/ + +#ifdef FMILIB_GENERATE_BUILD_STAMP +#ifdef __cplusplus +extern "C" { +#endif + +/** \brief Get the library build stamp. + \return A string giving SVN revision and build time for the library. + + The function is only active if the library was configured with #FMILIB_GENERATE_BUILD_STAMP ON +*/ +FMILIB_EXPORT const char* fmilib_get_build_stamp(void); +#ifdef __cplusplus +} +#endif +#endif + +#define HAVE_VA_COPY +/* #undef HAVE___VA_COPY */ + +#define HAVE_VSNPRINTF +#ifdef HAVE_VSNPRINTF +#define jm_rpl_vsnprintf vsnprintf +#endif + +#endif