ReactOS 0.4.15-dev-7928-g68a8619
_auto_link.h
Go to the documentation of this file.
1/* We do not use auto link feature when:
2 * - user asked not to use it (_STLP_DONT_USE_AUTO_LINK)
3 * - STLport is used only as a STL library (_STLP_NO_IOSTREAMS || _STLP_USE_NO_IOSTREAMS)
4 * - we are building a C translation unit, STLport is a C++ Standard library implementation
5 */
6#if !defined (__BUILDING_STLPORT) && !defined (_STLP_DONT_USE_AUTO_LINK) && \
7 !defined (_STLP_NO_IOSTREAMS) && !defined (_STLP_USE_NO_IOSTREAMS) && \
8 defined (__cplusplus)
9
10# define _STLP_STRINGIZE(X) _STLP_STRINGIZE_AUX(X)
11# define _STLP_STRINGIZE_AUX(X) #X
12
13# if defined (_STLP_DEBUG)
14# define _STLP_LIB_OPTIM_MODE "stld"
15# elif defined (_DEBUG)
16# define _STLP_LIB_OPTIM_MODE "d"
17# else
18# define _STLP_LIB_OPTIM_MODE ""
19# endif
20
21# if defined (_STLP_LIB_NAME_MOTIF)
22# define _STLP_LIB_MOTIF "_"_STLP_LIB_NAME_MOTIF
23# else
24# define _STLP_LIB_MOTIF ""
25# endif
26
27# if defined (_STLP_USE_DYNAMIC_LIB)
28# if defined (_STLP_USING_CROSS_NATIVE_RUNTIME_LIB)
29# define _STLP_LIB_TYPE "_x"
30# else
31# define _STLP_LIB_TYPE ""
32# endif
33# else
34# if defined (_STLP_USING_CROSS_NATIVE_RUNTIME_LIB)
35# define _STLP_LIB_TYPE "_statix"
36# else
37# define _STLP_LIB_TYPE "_static"
38# endif
39# endif
40
41# if defined (_STLP_USE_DYNAMIC_LIB)
42# define _STLP_VERSION_STR "."_STLP_STRINGIZE(_STLPORT_MAJOR)"."_STLP_STRINGIZE(_STLPORT_MINOR)
43# else
44# define _STLP_VERSION_STR ""
45# endif
46
47# define _STLP_STLPORT_LIB "stlport"_STLP_LIB_OPTIM_MODE""_STLP_LIB_TYPE""_STLP_LIB_MOTIF""_STLP_VERSION_STR".lib"
48
49# if defined (_STLP_VERBOSE)
50# pragma message ("STLport: Auto linking to "_STLP_STLPORT_LIB)
51# endif
52# pragma comment (lib, _STLP_STLPORT_LIB)
53
54# undef _STLP_STLPORT_LIB
55# undef _STLP_LIB_OPTIM_MODE
56# undef _STLP_LIB_TYPE
57# undef _STLP_STRINGIZE_AUX
58# undef _STLP_STRINGIZE
59
60#endif /* _STLP_DONT_USE_AUTO_LINK */
61