/home/ntakagi/work/STLport-5.1.5/stlport/stl/config/_detect_dll_or_lib.h

Go to the documentation of this file.
00001 /* File used to define macros:
00002  * _STLP_USE_DYNAMIC_LIB: To signal use STLport as a dll or build of the
00003  *                        STLport dlls.
00004  * _STLP_USE_STATIC_LIB: To signal use of STLport as a static lib or build of
00005  *                       the STLport static libs.
00006  * _STLP_USING_CROSS_NATIVE_RUNTIME_LIB: Signal that we are using a native runtime
00007  *                                       in a version different from the STLport one.
00008  * If _STLP_USE_DYNAMIC_LIB or _STLP_USE_STATIC_LIB is alreday defined it means that
00009  * user forces use of a specific version. In this case _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
00010  * will surely be defined otherwise there is no need to force macro defines.
00011  *
00012  * Before including this file the compiler must define:
00013  * _STLP_DLL: If we are building a dll
00014  * _STLP_RUNTIME_DLL: If we are using native runtime as a dll
00015  */
00016 #if defined (__BUILDING_STLPORT)
00017 #  undef _STLP_USE_DYNAMIC_LIB
00018 #  undef _STLP_USE_STATIC_LIB
00019 #  if defined (_STLP_DLL)
00020 /* We are building the STLport dll */
00021 #    define _STLP_USE_DYNAMIC_LIB
00022 #    if !defined (_STLP_RUNTIME_DLL)
00023 #      define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
00024 #    endif
00025 #  else
00026 #    define _STLP_USE_STATIC_LIB
00027 #    if defined (_STLP_RUNTIME_DLL)
00028 #      define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
00029 #    endif
00030 #  endif
00031 #else
00032 #  if !defined (_STLP_NO_IOSTREAMS)
00033 /* STLport use only depend on _STLP_RUNTIME_DLL as we are replacing
00034  * the native runtime.
00035  */
00036 #    if defined (_STLP_RUNTIME_DLL)
00037 #      if !defined (_STLP_USE_STATIC_LIB)
00038 #        if !defined (_STLP_USE_DYNAMIC_LIB)
00039 #          define _STLP_USE_DYNAMIC_LIB
00040 #        endif
00041 #      else
00042 /* The user is forcing use of STLport as a dynamic library. We signal it so
00043  * that the STLport namespace will be modify to report such a combination
00044  * and force the user to link with the rebuilt STLport library.
00045  */
00046 #        define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
00047 #      endif
00048 #    else
00049 #      if !defined(_STLP_USE_DYNAMIC_LIB)
00050 #        if !defined (_STLP_USE_STATIC_LIB)
00051 #          define _STLP_USE_STATIC_LIB
00052 #        endif
00053 #      else
00054 /* Idem previous remark but the user forces use of the static native runtime.
00055  */
00056 #        define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
00057 #      endif
00058 #    endif
00059 #  else
00060 /* If we do not build and use STLport libs we consider that we are in a static lib
00061  * mode as only dynamic lib needs additional export/import specifier.
00062  */
00063 #    define _STLP_USE_STATIC_LIB
00064 #  endif
00065 #endif
00066 
00067 /* we don't have a static native runtime library on evc3/evc4 */
00068 #ifdef _STLP_WCE
00069 #  undef _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
00070 #endif



Generated on Mon Mar 10 15:32:46 2008 by  doxygen 1.5.1