Go to the documentation of this file.
21 #ifndef LIBSMBIOS_C_AUTO_LINK_H_INCLUDED
22 #define LIBSMBIOS_C_AUTO_LINK_H_INCLUDED
25 # ifndef LIBSMBIOS_C_CONFIG_H
28 #elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
32 # define LIBSMBIOS_C_MSVC _MSC_VER
33 # define LIBSMBIOS_C_STRINGIZE(X) LIBSMBIOS_C_DO_STRINGIZE(X)
34 # define LIBSMBIOS_C_DO_STRINGIZE(X) #X
37 #if (defined(LIBSMBIOS_C_PLATFORM_WIN32) || defined(LIBSMBIOS_C_PLATFORM_WIN64)) && defined(_MSC_VER)
52 #if !defined(LIBSMBIOS_C_ALL_NO_LIB) && !defined(LIBSMBIOS_SOURCE)
55 #if defined(LIBSMBIOS_C_ALL_DYN_LINK)
56 # define LIBSMBIOS_C_DYN_LINK
63 #ifndef LIBSMBIOS_C_LIB_TOOLSET
64 #if defined(LIBSMBIOS_C_MSVC) && (LIBSMBIOS_C_MSVC == 1200)
67 # define LIBSMBIOS_C_LIB_TOOLSET "vc6"
69 #elif defined(LIBSMBIOS_C_MSVC) && (LIBSMBIOS_C_MSVC == 1300)
72 # define LIBSMBIOS_C_LIB_TOOLSET "vc7"
74 #elif defined(LIBSMBIOS_C_MSVC) && (LIBSMBIOS_C_MSVC == 1310)
77 # define LIBSMBIOS_C_LIB_TOOLSET "vc71"
79 #elif defined(LIBSMBIOS_C_MSVC) && (LIBSMBIOS_C_MSVC >= 1400)
82 # define LIBSMBIOS_C_LIB_TOOLSET "vc80"
91 #if (defined(_DLL) || defined(_RTLDLL)) && defined(LIBSMBIOS_C_DYN_LINK)
92 # define LIBSMBIOS_C_LIB_PREFIX
93 #elif defined(LIBSMBIOS_C_DYN_LINK)
94 # error "Mixing a dll boost library with a static runtime is a really bad idea..."
96 # define LIBSMBIOS_C_LIB_PREFIX "lib"
104 #if defined(_MT) || defined(__MT__)
105 # define LIBSMBIOS_C_LIB_THREAD_OPT "-mt"
107 # define LIBSMBIOS_C_LIB_THREAD_OPT
114 #if defined(_MSC_VER) || defined(__MWERKS__)
116 # if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
118 # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
119 # define LIBSMBIOS_C_LIB_RT_OPT "-gdp"
120 # elif defined(_DEBUG)
121 # define LIBSMBIOS_C_LIB_RT_OPT "-gdp"
122 # pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
123 # error "Build options aren't compatible with pre-built libraries"
125 # define LIBSMBIOS_C_LIB_RT_OPT "-p"
128 # elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
130 # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
131 # define LIBSMBIOS_C_LIB_RT_OPT "-gdpn"
132 # elif defined(_DEBUG)
133 # define LIBSMBIOS_C_LIB_RT_OPT "-gdpn"
134 # pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
135 # error "Build options aren't compatible with pre-built libraries"
137 # define LIBSMBIOS_C_LIB_RT_OPT "-pn"
143 # define LIBSMBIOS_C_LIB_RT_OPT "-gd"
145 # define LIBSMBIOS_C_LIB_RT_OPT
151 # if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
153 # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
154 # define LIBSMBIOS_C_LIB_RT_OPT "-sgdp"
155 # elif defined(_DEBUG)
156 # define LIBSMBIOS_C_LIB_RT_OPT "-sgdp"
157 # pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
158 # error "Build options aren't compatible with pre-built libraries"
160 # define LIBSMBIOS_C_LIB_RT_OPT "-sp"
163 # elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
165 # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
166 # define LIBSMBIOS_C_LIB_RT_OPT "-sgdpn"
167 # elif defined(_DEBUG)
168 # define LIBSMBIOS_C_LIB_RT_OPT "-sgdpn"
169 # pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
170 # error "Build options aren't compatible with pre-built libraries"
172 # define LIBSMBIOS_C_LIB_RT_OPT "-spn"
178 # define LIBSMBIOS_C_LIB_RT_OPT "-sgd"
180 # define LIBSMBIOS_C_LIB_RT_OPT "-s"
188 #define LIBSMBIOS_C_LIB_NAME smbios_c
190 #ifndef LIBSMBIOS_C_AUTO_LINK_NOMANGLE
191 # pragma comment(lib, LIBSMBIOS_C_LIB_PREFIX LIBSMBIOS_C_STRINGIZE(LIBSMBIOS_C_LIB_NAME) "-" LIBSMBIOS_C_LIB_TOOLSET LIBSMBIOS_C_LIB_THREAD_OPT LIBSMBIOS_C_LIB_RT_OPT ".lib" )
192 # ifdef LIBSMBIOS_C_LIB_DIAGNOSTIC
193 # pragma message ("Automatically Linking to lib file: " LIBSMBIOS_C_LIB_PREFIX LIBSMBIOS_C_STRINGIZE(LIBSMBIOS_C_LIB_NAME) "-" LIBSMBIOS_C_LIB_TOOLSET LIBSMBIOS_C_LIB_THREAD_OPT LIBSMBIOS_C_LIB_RT_OPT ".lib")
196 # pragma comment(lib, LIBSMBIOS_C_STRINGIZE(LIBSMBIOS_C_LIB_NAME) ".lib" )
197 # ifdef LIBSMBIOS_C_LIB_DIAGNOSTIC
198 # pragma message ("Automatically Linking to lib file: " LIBSMBIOS_C_STRINGIZE(LIBSMBIOS_C_LIB_NAME) ".lib")
206 #ifdef LIBSMBIOS_C_LIB_PREFIX
207 # undef LIBSMBIOS_C_LIB_PREFIX
209 #if defined(LIBSMBIOS_C_LIB_NAME)
210 # undef LIBSMBIOS_C_LIB_NAME
212 #if defined(LIBSMBIOS_C_LIB_TOOLSET)
213 # undef LIBSMBIOS_C_LIB_TOOLSET
215 #if defined(LIBSMBIOS_C_LIB_THREAD_OPT)
216 # undef LIBSMBIOS_C_LIB_THREAD_OPT
218 #if defined(LIBSMBIOS_C_LIB_RT_OPT)
219 # undef LIBSMBIOS_C_LIB_RT_OPT
221 #if defined(LIBSMBIOS_C_LIB_LINK_OPT)
222 # undef LIBSMBIOS_C_LIB_LINK_OPT
224 #if defined(LIBSMBIOS_C_LIB_DEBUG_OPT)
225 # undef LIBSMBIOS_C_LIB_DEBUG_OPT
227 #if defined(LIBSMBIOS_C_DYN_LINK)
228 # undef LIBSMBIOS_C_DYN_LINK
230 #if defined(LIBSMBIOS_C_AUTO_LINK_NOMANGLE)
231 # undef LIBSMBIOS_C_AUTO_LINK_NOMANGLE