genericopenlibs/cppstdlib/stl/stlport/stl/config/_detect_dll_or_lib.h
changeset 31 ce057bb09d0b
child 34 5fae379060a7
equal deleted inserted replaced
30:e20de85af2ee 31:ce057bb09d0b
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 /* File used to define macros:
       
    18  * _STLP_USE_DYNAMIC_LIB: To signal use STLport as a dll or build of the
       
    19  *                        STLport dlls.
       
    20  * _STLP_USE_STATIC_LIB: To signal use of STLport as a static lib or build of
       
    21  *                       the STLport static libs.
       
    22  * _STLP_USING_CROSS_NATIVE_RUNTIME_LIB: Signal that we are using a native runtime
       
    23  *                                       in a version different from the STLport one.
       
    24  * If _STLP_USE_DYNAMIC_LIB or _STLP_USE_STATIC_LIB is alreday defined it means that
       
    25  * user forces use of a specific version. In this case _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
       
    26  * will surely be defined otherwise there is no need to force macro defines.
       
    27  *
       
    28  * Before including this file the compiler must define:
       
    29  * _STLP_DLL: If we are building a dll
       
    30  * _STLP_RUNTIME_DLL: If we are using native runtime as a dll
       
    31  */
       
    32 #if defined (__BUILDING_STLPORT)
       
    33 #  undef _STLP_USE_DYNAMIC_LIB
       
    34 #  undef _STLP_USE_STATIC_LIB
       
    35 #  if defined (_STLP_DLL)
       
    36 /* We are building the STLport dll */
       
    37 #    define _STLP_USE_DYNAMIC_LIB
       
    38 #    if !defined (_STLP_RUNTIME_DLL)
       
    39 #      define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
       
    40 #    endif
       
    41 #  else
       
    42 #    define _STLP_USE_STATIC_LIB
       
    43 #    if defined (_STLP_RUNTIME_DLL)
       
    44 #      define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
       
    45 #    endif
       
    46 #  endif
       
    47 #else
       
    48 #  if !defined (_STLP_NO_IOSTREAMS)
       
    49 /* STLport use only depend on _STLP_RUNTIME_DLL as we are replacing
       
    50  * the native runtime.
       
    51  */
       
    52 #    if defined (_STLP_RUNTIME_DLL)
       
    53 #      if !defined (_STLP_USE_STATIC_LIB)
       
    54 #        if !defined (_STLP_USE_DYNAMIC_LIB)
       
    55 #          define _STLP_USE_DYNAMIC_LIB
       
    56 #        endif
       
    57 #      else
       
    58 /* The user is forcing use of STLport as a dynamic library. We signal it so
       
    59  * that the STLport namespace will be modify to report such a combination
       
    60  * and force the user to link with the rebuilt STLport library.
       
    61  */
       
    62 #        define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
       
    63 #      endif
       
    64 #    else
       
    65 #      if !defined(_STLP_USE_DYNAMIC_LIB)
       
    66 #        if !defined (_STLP_USE_STATIC_LIB)
       
    67 #          define _STLP_USE_STATIC_LIB
       
    68 #        endif
       
    69 #      else
       
    70 /* Idem previous remark but the user forces use of the static native runtime.
       
    71  */
       
    72 #        define _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
       
    73 #      endif
       
    74 #    endif
       
    75 #  else
       
    76 /* If we do not build and use STLport libs we consider that we are in a static lib
       
    77  * mode as only dynamic lib needs additional export/import specifier.
       
    78  */
       
    79 #    define _STLP_USE_STATIC_LIB
       
    80 #  endif
       
    81 #endif
       
    82 
       
    83 /* we don't have a static native runtime library on evc3/evc4 */
       
    84 #ifdef _STLP_WCE
       
    85 #  undef _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
       
    86 #endif