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