00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00047 #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_
00048 #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_
00049 
00050 
00051 
00052 
00053 
00054 #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION
00055 # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE__MAJOR      1
00056 # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE__MINOR      7
00057 # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE__REVISION   1
00058 # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE__EDIT       18
00059 #endif 
00060 
00061 
00062 
00063 
00064 
00065 #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS
00066 # include <pantheios/pantheios.h>
00067 #endif 
00068 
00069 #include <platformstl/platformstl.h>
00070 
00071 
00072 
00073 
00074 
00075 #if defined(__MWERKS__)
00076 # if __option(exceptions)
00077 # else 
00078 #  define PANTHEIOS_CF_NOX
00079 # endif 
00080 #elif defined(__WATCOMC__) || \
00081       defined(__VECTORC)
00082 # if defined(__CPPUNWIND)
00083 # else 
00084 #  define PANTHEIOS_CF_NOX
00085 # endif 
00086 #elif defined(__DMC__) || \
00087       defined(__INTEL_COMPILER) || \
00088       defined(_MSC_VER)
00089 # if defined(_CPPUNWIND)
00090 # else 
00091 #  define PANTHEIOS_CF_NOX
00092 # endif 
00093 #endif 
00094 
00095 
00096 
00097 
00098 
00099 #if defined(_WIN32) || \
00100     defined(_WIN64)
00101 
00102 # if defined(__BORLANDC__) || \
00103       \
00104      defined(__INTEL_COMPILER) || \
00105      defined(__MWERKS__) || \
00106      defined(_MSC_VER)
00107 #  if !defined(__COMO__)
00108 #   define PANTHEIOS_IMPLICIT_LINK_SUPPORT
00109 #  endif 
00110 # endif 
00111 
00112 #if defined(PANTHEIOS_IMPLICIT_LINK_SUPPORT) && \
00113     defined(PANTHEIOS_NO_IMPLICIT_LINK)
00114 # undef PANTHEIOS_IMPLICIT_LINK_SUPPORT
00115 #endif 
00116 
00117 # if defined(PANTHEIOS_IMPLICIT_LINK_SUPPORT)
00118 
00119   
00120 
00121 #  define PANTHEIOS_IMPL_LINK_PREFIX
00122 
00123   
00124 
00125 #  define PANTHEIOS_IMPL_LINK_LIBRARY_BASENAME          "pantheios"
00126 
00127   
00128 
00129 #  define PANTHEIOS_IMPL_LINK_MAJOR_VERSION             "." STLSOFT_STRINGIZE(PANTHEIOS_VER_MAJOR)
00130 
00131   
00132 
00133    
00134 
00135   
00136 
00137 #  if defined(__BORLANDC__)
00138 #   if __BORLANDC__ == 0x0550
00139 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "bc55"
00140 #   elif (__BORLANDC__ == 0x0551)
00141 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "bc551"
00142 #   elif (__BORLANDC__ == 0x0560)
00143 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "bc56"
00144 #   elif (__BORLANDC__ == 0x0564)
00145 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "bc564"
00146 #   elif (__BORLANDC__ == 0x0582)
00147 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "bc582"
00148 #   elif (0x0590 == (__BORLANDC__ & 0xfff0))
00149 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "bc59x"
00150 #   elif (0x0610 == (__BORLANDC__ & 0xfff0))
00151 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "bc61x"
00152 #   else 
00153 #    error Unrecognised value of __BORLANDC__
00154 #   endif 
00155 
00156 
00157 
00158 
00159 
00160 
00161 #  elif defined(__INTEL_COMPILER)
00162 #   if __INTEL_COMPILER == 600
00163 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "icl6"
00164 #   elif __INTEL_COMPILER == 700
00165 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "icl7"
00166 #   elif __INTEL_COMPILER == 800
00167 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "icl8"
00168 #   elif __INTEL_COMPILER == 900
00169 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "icl9"
00170 #   elif __INTEL_COMPILER == 1000
00171 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "icl10"
00172 #   elif __INTEL_COMPILER == 1100
00173 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "icl11"
00174 #   else 
00175 #    error Intel C/C++ version not supported
00176 #   endif 
00177 
00178 #  elif defined(__MWERKS__)
00179 #   if ((__MWERKS__ & 0xFF00) == 0x2400)
00180 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "cw7"
00181 #   elif ((__MWERKS__ & 0xFF00) == 0x3000)
00182 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "cw8"
00183 #   elif ((__MWERKS__ & 0xFF00) == 0x3200)
00184 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "cw9"
00185 #   else 
00186 #    error CodeWarrior version not supported
00187 #   endif 
00188 
00189 #  elif defined(_MSC_VER)
00190 #   if _MSC_VER == 1000
00191 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "vc4"
00192 #   elif _MSC_VER == 1020
00193 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "vc42"
00194 #   elif _MSC_VER == 1100
00195 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "vc5"
00196 #   elif _MSC_VER == 1200
00197 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "vc6"
00198 #   elif _MSC_VER == 1300
00199 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "vc7"
00200 #   elif _MSC_VER == 1310
00201 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "vc71"
00202 #   elif _MSC_VER == 1400
00203 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "vc8"
00204 #   elif _MSC_VER == 1500
00205 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "vc9"
00206 #   elif _MSC_VER == 1600
00207 #    define PANTHEIOS_IMPL_LINK_COMPILER_NAME           "vc10"
00208 #   else 
00209 #    error Visual C++ version not supported
00210 #   endif 
00211 
00212 #  else 
00213 #   error Unrecognised compiler
00214 #  endif 
00215 
00216 
00217   
00218 
00219 #  if defined(_STLSOFT_FORCE_ANY_COMPILER) && \
00220       defined(PLATFORMSTL_OS_IS_UNIX) && \
00221       defined(_WIN32)
00222 #   define PANTHEIOS_IMPL_LINK_OS_TAG                   ".unix"
00223 #  endif 
00224 
00225 #  if !defined(PANTHEIOS_IMPL_LINK_OS_TAG)
00226 #   define PANTHEIOS_IMPL_LINK_OS_TAG                   ""
00227 #  endif 
00228 
00229 
00230   
00231 
00232 #  if defined(PLATFORMSTL_ARCH_IS_X86)
00233 #   define PANTHEIOS_IMPL_LINK_ARCH_TAG                 ""
00234 #  elif defined(PLATFORMSTL_ARCH_IS_X64)
00235 #   define PANTHEIOS_IMPL_LINK_ARCH_TAG                 ".x64"
00236 #  elif defined(PLATFORMSTL_ARCH_IS_IA64)
00237 #   define PANTHEIOS_IMPL_LINK_ARCH_TAG                 ".ia64"
00238 #  endif 
00239 
00240 #  if !defined(PANTHEIOS_IMPL_LINK_ARCH_TAG)
00241 #   define PANTHEIOS_IMPL_LINK_ARCH_TAG                 ""
00242 #  endif 
00243 
00244 
00245   
00246 
00247 #  if defined(PANTHEIOS_USE_WIDE_STRINGS)
00248 #   define PANTHEIOS_IMPL_LINK_ENCODING_TAG             ".widestring"
00249 #  else 
00250 #   define PANTHEIOS_IMPL_LINK_ENCODING_TAG             ""
00251 #  endif 
00252 
00253 
00254   
00255 
00256 #  if defined(__MT__) || \
00257       defined(_REENTRANT) || \
00258       defined(_MT)
00259 #   if defined(_DLL) || \
00260        defined(__DLL)
00261 #    define PANTHEIOS_IMPL_LINK_THREADING_TAG           ".dll"
00262 #   else 
00263 #    define PANTHEIOS_IMPL_LINK_THREADING_TAG           ".mt"
00264 #   endif 
00265 #  else 
00266 #    define PANTHEIOS_IMPL_LINK_THREADING_TAG           ""
00267 #  endif 
00268 
00269 
00270   
00271 
00272 #  if defined(PANTHEIOS_CF_NOX)
00273 #   define PANTHEIOS_IMPL_LINK_NOX_TYPE                 ".nox"
00274 #  else 
00275 #   define PANTHEIOS_IMPL_LINK_NOX_TYPE                 ""
00276 #  endif 
00277 
00278 
00279   
00280 
00281 #  if !defined(NDEBUG) && \
00282       defined(_DEBUG)
00283 #   define PANTHEIOS_IMPL_LINK_DEBUG_TAG                ".debug"
00284 #  else 
00285 #   define PANTHEIOS_IMPL_LINK_DEBUG_TAG                ""
00286 #  endif 
00287 
00288 
00289   
00290 
00291 #  define PANTHEIOS_IMPL_LINK_SUFFIX                    ".lib"
00292 
00293 
00294    
00295 
00296 
00297 
00298 
00299 #  define PANTHEIOS_IMPL_LINK_LIBRARY_NAME_(name)       PANTHEIOS_IMPL_LINK_PREFIX \
00300                                                         PANTHEIOS_IMPL_LINK_LIBRARY_BASENAME \
00301                                                         PANTHEIOS_IMPL_LINK_MAJOR_VERSION \
00302                                                         "." name \
00303                                                         "." PANTHEIOS_IMPL_LINK_COMPILER_NAME \
00304                                                         PANTHEIOS_IMPL_LINK_OS_TAG \
00305                                                         PANTHEIOS_IMPL_LINK_ARCH_TAG \
00306                                                         PANTHEIOS_IMPL_LINK_ENCODING_TAG \
00307                                                         PANTHEIOS_IMPL_LINK_THREADING_TAG \
00308                                                         PANTHEIOS_IMPL_LINK_NOX_TYPE \
00309                                                         PANTHEIOS_IMPL_LINK_DEBUG_TAG \
00310                                                         PANTHEIOS_IMPL_LINK_SUFFIX
00311 
00312 #  pragma message("Implicit linking to Pantheios libraries: (" PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("$(XXXX)") "")
00313 
00314 # endif 
00315 
00316 #endif 
00317 
00318 
00319 
00320 #endif 
00321 
00322