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