Go to the documentation of this file. 21 #ifndef LIBSMBIOS_AUTO_LINK_H_INCLUDED 22 #define LIBSMBIOS_AUTO_LINK_H_INCLUDED 25 # ifndef LIBSMBIOS_CONFIG_H 28 #elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__) 32 # define BOOST_MSVC _MSC_VER 33 # define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) 34 # define BOOST_DO_STRINGIZE(X) #X 37 #if (defined(LIBSMBIOS_PLATFORM_WIN32) || defined(LIBSMBIOS_PLATFORM_WIN64)) && defined(_MSC_VER) 52 #if !defined(LIBSMBIOS_ALL_NO_LIB) && !defined(LIBSMBIOS_SOURCE) 55 #if defined(LIBSMBIOS_ALL_DYN_LINK) 56 # define LIBSMBIOS_DYN_LINK 63 #ifndef LIBSMBIOS_LIB_TOOLSET 64 #if defined(LIBSMBIOS_MSVC) && (LIBSMBIOS_MSVC == 1200) 67 # define LIBSMBIOS_LIB_TOOLSET "vc6" 69 #elif defined(LIBSMBIOS_MSVC) && (LIBSMBIOS_MSVC == 1300) 72 # define LIBSMBIOS_LIB_TOOLSET "vc7" 74 #elif defined(LIBSMBIOS_MSVC) && (LIBSMBIOS_MSVC == 1310) 77 # define LIBSMBIOS_LIB_TOOLSET "vc71" 79 #elif defined(LIBSMBIOS_MSVC) && (LIBSMBIOS_MSVC >= 1400) 82 # define LIBSMBIOS_LIB_TOOLSET "vc80" 91 #if (defined(_DLL) || defined(_RTLDLL)) && defined(LIBSMBIOS_DYN_LINK) 92 # define LIBSMBIOS_LIB_PREFIX 93 #elif defined(LIBSMBIOS_DYN_LINK) 94 # error "Mixing a dll boost library with a static runtime is a really bad idea..." 96 # define LIBSMBIOS_LIB_PREFIX "lib" 104 #if defined(_MT) || defined(__MT__) 105 # define LIBSMBIOS_LIB_THREAD_OPT "-mt" 107 # define LIBSMBIOS_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_LIB_RT_OPT "-gdp" 120 # elif defined(_DEBUG) 121 # define LIBSMBIOS_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_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_LIB_RT_OPT "-gdpn" 132 # elif defined(_DEBUG) 133 # define LIBSMBIOS_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_LIB_RT_OPT "-pn" 143 # define LIBSMBIOS_LIB_RT_OPT "-gd" 145 # define LIBSMBIOS_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_LIB_RT_OPT "-sgdp" 155 # elif defined(_DEBUG) 156 # define LIBSMBIOS_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_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_LIB_RT_OPT "-sgdpn" 167 # elif defined(_DEBUG) 168 # define LIBSMBIOS_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_LIB_RT_OPT "-spn" 178 # define LIBSMBIOS_LIB_RT_OPT "-sgd" 180 # define LIBSMBIOS_LIB_RT_OPT "-s" 188 #define LIBSMBIOS_LIB_NAME smbios 190 #ifndef LIBSMBIOS_AUTO_LINK_NOMANGLE 191 # pragma comment(lib, LIBSMBIOS_LIB_PREFIX LIBSMBIOS_STRINGIZE(LIBSMBIOS_LIB_NAME) "-" LIBSMBIOS_LIB_TOOLSET LIBSMBIOS_LIB_THREAD_OPT LIBSMBIOS_LIB_RT_OPT ".lib" ) 192 # ifdef LIBSMBIOS_LIB_DIAGNOSTIC 193 # pragma message ("Automatically Linking to lib file: " LIBSMBIOS_LIB_PREFIX LIBSMBIOS_STRINGIZE(LIBSMBIOS_LIB_NAME) "-" LIBSMBIOS_LIB_TOOLSET LIBSMBIOS_LIB_THREAD_OPT LIBSMBIOS_LIB_RT_OPT ".lib") 195 # if defined(LIBSMBIOS_NEED_SMBIOSXML) 196 # undef LIBSMBIOS_LIB_NAME 197 # define LIBSMBIOS_LIB_NAME smbiosxml 198 # pragma comment(lib, LIBSMBIOS_LIB_PREFIX LIBSMBIOS_STRINGIZE(LIBSMBIOS_LIB_NAME) "-" LIBSMBIOS_LIB_TOOLSET LIBSMBIOS_LIB_THREAD_OPT LIBSMBIOS_LIB_RT_OPT ".lib" ) 199 # ifdef LIBSMBIOS_LIB_DIAGNOSTIC 200 # pragma message ("Automatically Linking to lib file: " LIBSMBIOS_LIB_PREFIX LIBSMBIOS_STRINGIZE(LIBSMBIOS_LIB_NAME) "-" LIBSMBIOS_LIB_TOOLSET LIBSMBIOS_LIB_THREAD_OPT LIBSMBIOS_LIB_RT_OPT ".lib") 204 # pragma comment(lib, LIBSMBIOS_STRINGIZE(LIBSMBIOS_LIB_NAME) ".lib" ) 205 # ifdef LIBSMBIOS_LIB_DIAGNOSTIC 206 # pragma message ("Automatically Linking to lib file: " LIBSMBIOS_STRINGIZE(LIBSMBIOS_LIB_NAME) ".lib") 208 # if defined(LIBSMBIOS_NEED_SMBIOSXML) 209 # undef LIBSMBIOS_LIB_NAME 210 # define LIBSMBIOS_LIB_NAME smbiosxml 211 # pragma comment(lib, LIBSMBIOS_STRINGIZE(LIBSMBIOS_LIB_NAME) ".lib" ) 212 # ifdef LIBSMBIOS_LIB_DIAGNOSTIC 213 # pragma message ("Automatically Linking to lib file: " LIBSMBIOS_STRINGIZE(LIBSMBIOS_LIB_NAME) ".lib") 219 #if defined(LIBSMBIOS_NEED_SMBIOSXML) 220 # undef LIBSMBIOS_LIB_NAME 221 # if !defined(_MT) && !defined(__MT__) 222 # error("Xerces DLLs are only distributed as (debug|non-debug) x (multithreaded|multithreaded DLL). Your runtime code-generation must be set to either of these configurations.") 225 # if (defined(_DLL) || defined(_RTLDLL)) 227 # define LIBSMBIOS_LIB_NAME xerces-c_2D 229 # define LIBSMBIOS_LIB_NAME xerces-c_2 233 # define LIBSMBIOS_LIB_NAME Xerces-c_static_2D 235 # define LIBSMBIOS_LIB_NAME Xerces-c_static_2 238 # pragma comment(lib, LIBSMBIOS_STRINGIZE(LIBSMBIOS_LIB_NAME) ".lib" ) 239 # ifdef LIBSMBIOS_LIB_DIAGNOSTIC 240 # pragma message ("Automatically Linking to lib file: " LIBSMBIOS_STRINGIZE(LIBSMBIOS_LIB_NAME) ".lib") 248 #ifdef LIBSMBIOS_LIB_PREFIX 249 # undef LIBSMBIOS_LIB_PREFIX 251 #if defined(LIBSMBIOS_LIB_NAME) 252 # undef LIBSMBIOS_LIB_NAME 254 #if defined(LIBSMBIOS_LIB_TOOLSET) 255 # undef LIBSMBIOS_LIB_TOOLSET 257 #if defined(LIBSMBIOS_LIB_THREAD_OPT) 258 # undef LIBSMBIOS_LIB_THREAD_OPT 260 #if defined(LIBSMBIOS_LIB_RT_OPT) 261 # undef LIBSMBIOS_LIB_RT_OPT 263 #if defined(LIBSMBIOS_LIB_LINK_OPT) 264 # undef LIBSMBIOS_LIB_LINK_OPT 266 #if defined(LIBSMBIOS_LIB_DEBUG_OPT) 267 # undef LIBSMBIOS_LIB_DEBUG_OPT 269 #if defined(LIBSMBIOS_DYN_LINK) 270 # undef LIBSMBIOS_DYN_LINK 272 #if defined(LIBSMBIOS_AUTO_LINK_NOMANGLE) 273 # undef LIBSMBIOS_AUTO_LINK_NOMANGLE