Ipopt Documentation  
 
Loading...
Searching...
No Matches
IpoptConfig.h
Go to the documentation of this file.
1/* Copyright (C) 2011
2 * All Rights Reserved.
3 * This code is published under the Eclipse Public License.
4 */
5
22#ifndef __IPOPTCONFIG_H__
23#define __IPOPTCONFIG_H__
24
25#ifdef HAVE_CONFIG_H
26
27#ifdef IPOPTLIB_BUILD
28#include "config.h"
29#else
30#include "config_ipopt.h"
31#endif
32
33#else /* HAVE_CONFIG_H */
34
35#ifdef IPOPTLIB_BUILD
36#include "config_default.h"
37#else
39#endif
40
41#endif /* HAVE_CONFIG_H */
42
43
44/* overwrite XYZ_EXPORT from config.h when building XYZ
45 * we want it to be __declspec(dllexport) when building a DLL on Windows
46 * we want it to be __attribute__((__visibility__("default"))) when building with GCC,
47 * so user can compile with -fvisibility=hidden
48 */
49#ifdef IPOPTLIB_BUILD
50#ifdef DLL_EXPORT
51#undef IPOPTLIB_EXPORT
52#define IPOPTLIB_EXPORT __declspec(dllexport)
53#elif defined(__GNUC__) && __GNUC__ >= 4
54#undef IPOPTLIB_EXPORT
55#define IPOPTLIB_EXPORT __attribute__((__visibility__("default")))
56#endif
57#endif
58
59#ifdef IPOPTAMPLINTERFACELIB_BUILD
60#ifdef DLL_EXPORT
61#undef IPOPTAMPLINTERFACELIB_EXPORT
62#define IPOPTAMPLINTERFACELIB_EXPORT __declspec(dllexport)
63#elif defined(__GNUC__) && __GNUC__ >= 4
64#undef IPOPTAMPLINTERFACELIB_EXPORT
65#define IPOPTAMPLINTERFACELIB_EXPORT __attribute__((__visibility__("default")))
66#endif
67#endif
68
69#ifdef SIPOPTLIB_BUILD
70# ifdef DLL_EXPORT
71# define SIPOPTLIB_EXPORT __declspec(dllexport)
72# elif defined(__GNUC__) && __GNUC__ >= 4
73# define SIPOPTLIB_EXPORT __attribute__((__visibility__("default")))
74# endif
75#else
76# ifdef DLL_EXPORT
77# define SIPOPTLIB_EXPORT __declspec(dllimport)
78# else
79# define SIPOPTLIB_EXPORT
80# endif
81#endif
82
83#endif /*__IPOPTCONFIG_H__*/