19720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* File used to define macros: 29720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * _STLP_USE_DYNAMIC_LIB: To signal use STLport as a dll or build of the 39720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * STLport dlls. 49720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * _STLP_USE_STATIC_LIB: To signal use of STLport as a static lib or build of 59720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * the STLport static libs. 69720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * _STLP_USING_CROSS_NATIVE_RUNTIME_LIB: Signal that we are using a native runtime 79720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * in a version different from the STLport one. 89720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * If _STLP_USE_DYNAMIC_LIB or _STLP_USE_STATIC_LIB is alreday defined it means that 99720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * user forces use of a specific version. In this case _STLP_USING_CROSS_NATIVE_RUNTIME_LIB 109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * will surely be defined otherwise there is no need to force macro defines. 119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * 129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Before including this file the compiler must define: 139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * _STLP_DLL: If we are building a dll 149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * _STLP_RUNTIME_DLL: If we are using native runtime as a dll 159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if defined (__BUILDING_STLPORT) 179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# undef _STLP_USE_DYNAMIC_LIB 189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# undef _STLP_USE_STATIC_LIB 199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if defined (_STLP_DLL) 209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* We are building the STLport dll */ 219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_USE_DYNAMIC_LIB 229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if !defined (_STLP_RUNTIME_DLL) 239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB 249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# else 269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_USE_STATIC_LIB 279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if defined (_STLP_RUNTIME_DLL) 289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB 299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#else 329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if !defined (_STLP_NO_IOSTREAMS) 339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* STLport use only depend on _STLP_RUNTIME_DLL as we are replacing 349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * the native runtime. 359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if defined (_STLP_RUNTIME_DLL) 379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if !defined (_STLP_USE_STATIC_LIB) 389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if !defined (_STLP_USE_DYNAMIC_LIB) 399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_USE_DYNAMIC_LIB 409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# else 429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* The user is forcing use of STLport as a dynamic library. We signal it so 439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * that the STLport namespace will be modify to report such a combination 449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * and force the user to link with the rebuilt STLport library. 459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB 479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# else 499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if !defined(_STLP_USE_DYNAMIC_LIB) 509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if !defined (_STLP_USE_STATIC_LIB) 519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_USE_STATIC_LIB 529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# else 549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* Idem previous remark but the user forces use of the static native runtime. 559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB 579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# else 609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* If we do not build and use STLport libs we consider that we are in a static lib 619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * mode as only dynamic lib needs additional export/import specifier. 629720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 639720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_USE_STATIC_LIB 649720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 659720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 669720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 679720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* we don't have a static native runtime library on evc3/evc4 */ 689720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifdef _STLP_WCE 699720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# undef _STLP_USING_CROSS_NATIVE_RUNTIME_LIB 709720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 71e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 72e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined (_STLP_USE_DYNAMIC_LIB) && !defined (_STLP_USE_STATIC_LIB) 73e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# error Unknown STLport usage config (dll/lib?) 74e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 75