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 #ifndef _OSGCONFIG_H_
00040 #define _OSGCONFIG_H_
00041
00042 #ifdef __sgi
00043 #pragma once
00044 #endif
00045
00046 #ifdef __hpux
00047 #include <sys/types.h>
00048 #endif
00049
00050
00051
00052
00062 #define OSG_VERSION_STRING "1.8.0Alpha1"
00063
00068 #define OSG_VERSION 0x010800
00069
00073 #define OSG_MAJOR_VERSION 1
00074
00078 #define OSG_MINOR_VERSION 8
00079
00083 #define OSG_RELEASE_VERSION 0
00084
00085
00088
00089
00090 #ifdef __APPLE__
00091 #define darwin
00092 #endif
00093
00094
00095
00096
00097 #if defined(__sgi)
00098 #include <standards.h>
00099 #include <sys/endian.h>
00100
00101 # ifndef BYTE_ORDER
00102 # define LITTLE_ENDIAN _LITTLE_ENDIAN
00103 # define BIG_ENDIAN _BIG_ENDIAN
00104 # define BYTE_ORDER _BYTE_ORDER
00105 # endif
00106 #elif defined(__hpux)
00107 #include <arpa/nameser.h>
00108 #include <pthread.h>
00109 #elif defined(__sun)
00110 #include <arpa/nameser_compat.h>
00111 #elif defined(__APPLE__)
00112 #include <machine/endian.h>
00113 #elif defined(__linux)
00114 #include <endian.h>
00115 #ifndef __USE_BSD
00116 # define LITTLE_ENDIAN __LITTLE_ENDIAN
00117 # define BIG_ENDIAN __BIG_ENDIAN
00118 # define PDP_ENDIAN __PDP_ENDIAN
00119 # define BYTE_ORDER __BYTE_ORDER
00120 #endif
00121 #elif defined(WIN32) // HACK until I find a better solution
00122 #define LITTLE_ENDIAN 1234
00123 #define BIG_ENDIAN 4321
00124 #define BYTE_ORDER LITTLE_ENDIAN
00125 #else
00126 #error Endian determination : could not guess your plattform
00127 #endif
00128
00129
00130
00131
00132
00133
00134 #ifdef __ICL
00135 #ifndef __INTEL_COMPILER
00136 #define __INTEL_COMPILER __ICL
00137 #endif
00138 #endif
00139
00140
00141
00142
00143
00144
00145 # ifdef __GNUC__
00146
00151 # define OSG_HAS_NAMESPACE
00152
00157 # define OSG_HAS_STD_NAMESPACE
00158
00163 # define OSG_STREAM_RDBUF_HAS_PARAM
00164
00169 # define OSG_STREAM_HAS_ISOPEN
00170
00175 # define OSG_HAS_VSNPRINTF
00176
00181 # define OSG_HAS_NILBUF
00182
00187 # define OSG_LONGLONG_HAS_LL
00188
00189 # if __GNUC__ >= 3
00190 # define OSG_HASH_MAP_AS_EXT
00191
00196 # define OSG_SGI_STL
00197
00198 # define OSG_THROW_NOTHING() throw()
00199
00200 # define OSG_STDEXCEPTION_NAMESPACE std
00201
00202 # if __GNUC__ >= 4 || __GNUC_MINOR__ >=1
00203 # define OSG_STDEXTENSION_NAMESPACE __gnu_cxx
00204 # define OSG_HAS_SSTREAM
00205 # else
00206 # define OSG_STDEXTENSION_NAMESPACE std
00207 # endif
00208
00209 # define OSG_STL_HAS_HASH_MAP
00210
00211 # else
00212 # define OSG_THROW_NOTHING()
00213 # if __GNUC_MINOR__ <= 96
00214 # define OSG_GCC_NO_IOS_BASE
00215 # endif
00216 # endif
00217
00218 # endif
00219
00220
00221
00222
00223
00224 # if defined(__sgi) && !defined(__GNUC__)
00225
00226 # if _COMPILER_VERSION < 730
00227 # error compiler version < 730 not supported, please upgrade
00228 # endif
00229
00234 # define OSG_HAS_NAMESPACE
00235
00240 # define OSG_HAS_STD_NAMESPACE
00241
00242 # if defined(_STANDARD_C_PLUS_PLUS)
00243
00244 # endif
00245
00250 # define OSG_STREAM_RDBUF_HAS_PARAM
00251
00256 # define OSG_STREAM_HAS_ISOPEN
00257
00262 # define OSG_HAS_VSNPRINTF
00263
00268 # define OSG_HAS_NILBUF
00269
00274 # define OSG_SGI_TYPES
00275
00280 # define OSG_HAS_ATANF2
00281
00286 # define OSG_HAS_FLOATMATH
00287
00292 # define OSG_SGI_STL
00293
00294 # define OSG_STL_HAS_HASH_MAP
00295
00300 # define OSG_USE_GLX
00301
00306 # define OSG_LONGLONG_HAS_LL
00307
00308 # define OSG_THROW_NOTHING() THROW_NOTHING()
00309
00310 # define OSG_SGI_CC
00311
00312 # define OSG_FOUND_OS
00313
00314 # define OSG_STDEXCEPTION_NAMESPACE std
00315
00316 # endif // defined(__sgi) && !defined(__GNUC__)
00317
00318
00319
00320
00321
00322
00323
00324 # if defined(__GNUC__) && defined(__linux)
00325
00330 # define OSG_LINUX_TYPES
00331
00332 # define OSG_HAS_ATANF2
00333
00334 # define OSG_HAS_FLOATMATH
00335
00336
00343 # define OSG_USE_STDMATH
00344
00345 # define OSG_USE_GLX
00346
00347 # define OSG_USE_PTHREADS
00348
00349 # define OSG_LINUX_GCC
00350
00351 # define OSG_FOUND_OS
00352
00353 # endif // defined(__GNUC__) && defined(__linux)
00354
00355
00356
00357
00358 # if defined(__GNUC__) && defined(__linux) && defined(__ia64)
00359
00360 # define SIZE_T_NEQ_UINT32
00361
00362 # endif // defined(__GNUC__) && defined(__linux) && defined(__ia64)
00363
00364
00365
00366
00367 # if defined(__INTEL_COMPILER) && defined(__linux)
00368
00369 # ifndef __ICL
00370 # define __ICL __INTEL_COMPILER
00371 # endif
00372
00373 # ifndef __INTEL_COMPILER_VERSION
00374 # define __INTEL_COMPILER_VERSION __INTEL_COMPILER
00375 # endif
00376
00377 # define OSG_HAS_NAMESPACE
00378
00379 # define OSG_HAS_STD_NAMESPACE
00380
00381 # define OSG_STREAM_RDBUF_HAS_PARAM
00382
00383 # define OSG_STREAM_HAS_IOPEN
00384
00385 # define OSG_HAS_NILBUF
00386
00387 # define OSG_LINUX_TYPES
00388
00389 # define OSG_HAS_ATANF2
00390
00391 # define OSG_HAS_FLOATMATH
00392
00393 # define OSG_USE_STDMATH
00394
00395 # define OSG_USE_GLX
00396
00397 # define OSG_LONGLONG_HAS_LL
00398
00399 # if __INTEL_COMPILER_VERSION >= 710
00400 # define OSG_THROW_NOTHING() throw()
00401 # else
00402 # define OSG_THROW_NOTHING()
00403 # endif
00404
00405
00406
00407 # define OSG_USE_PTHREADS
00408
00409 # define OSG_LINUX_ICC
00410
00411 # define OSG_FOUND_OS
00412
00413
00414 #if __INTEL_COMPILER_VERSION < 810 || ! defined(__GNUC__)
00415 # define OSG_STDEXTENSION_NAMESPACE std
00416 # define OSG_STDEXCEPTION_NAMESPACE std
00417 #endif
00418
00419 # define OSG_STL_HAS_HASH_MAP
00420
00421 # define OSG_HAS_SSTREAM
00422
00423 # define OSG_HAS_VSNPRINTF
00424
00425 # if __INTEL_COMPILER_VERSION >= 800
00426 # define OSG_USE_HASH_COMPARE
00427 # endif
00428
00429 #if defined(__GNUC__)
00430 #if __INTEL_COMPILER_VERSION >= 900 && __GNUC__ >= 4
00431 #define __builtin_powi(x,i) pow(x, i)
00432 #define __builtin_powif(x,i) pow(x, i)
00433 #define __builtin_powil(x,i) pow(x, i)
00434 #endif
00435 #endif
00436
00437 # endif // defined(__INTEL_COMPILER) && defined(__linux)
00438
00439 # if defined(__INTEL_COMPILER) && defined(__linux) && defined(__ia64)
00440
00441 # define OSG_NO_INT8_PNT
00442
00443 # endif // defined(__GNUC__) && defined(__linux) && defined(__ia64)
00444
00445
00446
00447
00448 # if defined(__INTEL_COMPILER) && !defined(__linux)
00449
00450 # ifndef __ICL
00451 # define __ICL __INTEL_COMPILER
00452 # endif
00453
00454
00455 # define OSG_WIN_TYPES
00456
00457
00458 # define OSG_USE_WINTHREADS
00459
00460
00461 # define OSG_HAS_NAMESPACE
00462
00463
00464 # define OSG_HAS_STD_NAMESPACE
00465
00466
00467 # define OSG_HAS_FLOATMATH
00468
00469
00470 # define OSG_USE_WGL
00471
00472 # define OSG_STREAM_HAS_ISOPEN
00473
00474
00475 # define OSG_HAS_VSNPRINTF
00476 # define vsnprintf _vsnprintf
00477
00478 # define OSG_HAS_NILBUF
00479 # define OSG_STREAM_RDBUF_HAS_PARAM
00480
00481 # define OSG_LONGLONG_HAS_LL
00482
00483 # define OSG_THROW_NOTHING()
00484
00485 # define OSG_WIN32_ICL
00486
00487 # define OSG_FOUND_OS
00488
00489 # endif // defined(__INTEL_COMPILER) && !defined(__linux)
00490
00491
00492
00493
00494 # if defined(_MSC_VER) && !defined(__ICL)
00495
00496 # define OSG_SPEZ_IMPL_DLLMAPPING
00497
00498 # define OSG_WIN_TYPES
00499
00500 # define OSG_HAS_NAMESPACE
00501
00502 # define OSG_USE_WINTHREADS
00503
00504 # define OSG_HAS_STD_NAMESPACE
00505
00506 # define OSG_HAS_FLOATMATH
00507
00508
00509
00510 # ifndef OSG_PSDK_COMPILER
00511 # define OSG_USE_STDMATH
00512 # endif
00513
00514 # define OSG_STREAM_HAS_ISOPEN
00515
00516
00517 # define OSG_HAS_VSNPRINTF
00518 # define vsnprintf _vsnprintf
00519
00520 # define OSG_HAS_NILBUF
00521 # define OSG_STREAM_RDBUF_HAS_PARAM
00522
00523 # define OSG_MICROSOFT_COMPILER_ALERT
00524 # define OSG_MICROSOFT_COMPILER_HACKS
00525
00526 # define OSG_USE_WGL
00527
00528
00529
00530 # define OSG_NEED_EXPLICIT_INST_FOR_STATIC
00531
00532 # define OSG_THROW_NOTHING()
00533
00534 # define OSG_WIN32_CL
00535
00536 # define OSG_FOUND_OS
00537
00538 # if _MSC_VER >= 1300 && _MSC_VER < 1310
00539 # define OSG_WIN32_CL_NET70 1
00540 # endif
00541
00542 # if _MSC_VER > 1300
00543 # define OSG_NEED_BOOL_MFIELD_SPEZ
00544 # endif
00545
00546
00547 # if _MSC_VER >= 1400
00548 # define OSG_STDEXCEPTION_NAMESPACE std
00549 # endif
00550
00551 # endif // defined(_MSC_VER) && !defined(__ICL)
00552
00553
00554
00555
00556 # if defined(__APPLE__)
00557
00558 # define darwin
00559
00560 # define OSG_LINUX_TYPES
00561 # define OSG_NO_CONCEPT_CHECKS
00562 # define SIZE_T_NEQ_UINT32
00563 # define OSG_GLENUM_NEQ_UINT32
00564
00565 # define OSG_USE_PTHREADS
00566
00567 # define OSG_DLSYM_NEEDS_UNDERSCORE
00568
00569 # define OSG_USE_STDMATH
00570
00571 #define OSG_FOUND_OS
00572
00573 # endif // if defined(__APPLE__)
00574
00575
00576
00577
00578 #if defined(__hpux) && defined(__GNUC__)
00579
00583 # define OSG_HPUX_TYPES
00584
00585 # define OSG_USE_PTHREADS
00586
00587 # define OSG_FOUND_OS
00588
00589 #endif
00590
00591
00592
00593
00594 # if defined(__hpux) && !defined(__GNUC__)
00595
00600 # define OSG_HAS_NAMESPACE
00601
00606 # define OSG_HAS_STD_NAMESPACE
00607
00608 # if defined(_STANDARD_C_PLUS_PLUS)
00609
00610 # endif
00611
00616 # define OSG_STREAM_RDBUF_HAS_PARAM
00617
00622 # define OSG_STREAM_HAS_ISOPEN
00623
00628 # define OSG_HAS_VSNPRINTF
00629
00634 # define OSG_HAS_NILBUF
00635
00640 # define OSG_HPUX_TYPES
00641
00646 # define OSG_HAS_ATANF2
00647
00652 # define OSG_HAS_FLOATMATH
00653
00654 # define OSG_USE_STDMATH
00655
00660
00661
00666 # define OSG_USE_GLX
00667
00672 # define OSG_LONGLONG_HAS_LL
00673
00674 # define OSG_THROW_NOTHING() __THROWSPEC_NULL
00675
00676 # define OSG_USE_PTHREADS
00677
00678 # define OSG_HPUX_ACC
00679
00680 # define OSG_FOUND_OS
00681
00682
00683
00684 # define OSG_STDEXCEPTION_NAMESPACE std
00685
00686 # endif // defined(__hpux) && !defined(__GNUC__)
00687
00688
00689
00690
00691
00692 # if defined(__sun) && !defined(__GNUC__)
00693
00698 # define OSG_HAS_NAMESPACE
00699
00704 # define OSG_HAS_STD_NAMESPACE
00705
00706 # if defined(_STANDARD_C_PLUS_PLUS)
00707
00708 # endif
00709
00714 # define OSG_STREAM_RDBUF_HAS_PARAM
00715
00720 # define OSG_STREAM_HAS_ISOPEN
00721
00726 # define OSG_HAS_VSNPRINTF
00727
00732 # define OSG_HAS_NILBUF
00733
00738 # define OSG_SUN_TYPES
00739
00744
00745
00750
00751
00752 # define OSG_USE_STDMATH
00753
00758 # define OSG_SGI_STL
00759
00764 # define OSG_USE_GLX
00765
00770 # define OSG_LONGLONG_HAS_LL
00771
00772 # define OSG_THROW_NOTHING() throw()
00773
00774 # define OSG_USE_PTHREADS
00775
00776 # define OSG_SUN_CC
00777
00778 # define OSG_FOUND_OS
00779
00780 # define OSG_NO_INT8_PNT
00781
00782
00783
00784 # define OSG_STDEXCEPTION_NAMESPACE std
00785
00786 # endif // defined(__sun) && !defined(__GNUC__)
00787
00788
00789 #ifndef OSG_FOUND_OS
00790 # error Could not determine compiler / os combination
00791 #endif
00792
00793
00794
00795
00796
00797 #if defined(STLPORT) ||defined(OSG_WITH_STLPORT)
00798 #undef OSG_USE_STDMATH
00799 #endif
00800
00801
00802
00803 #if defined(OSG_HAS_STD_NAMESPACE)
00804 # define OSG_USING_STD_NAMESPACE namespace std {} using namespace std;
00805 # define OSG_STD std
00806 #endif
00807
00808 #if defined(OSG_HAS_NAMESPACE)
00809
00814
00820 # define OSG osg
00821
00826 # define OSG_BEGIN_NAMESPACE namespace OSG {
00827
00832 # define OSG_END_NAMESPACE }
00833
00838 # define OSG_USING_NAMESPACE namespace OSG {} using namespace OSG;
00839
00842 # else
00843
00844 # define OSG
00845 # define OSG_BEGIN_NAMESPACE
00846 # define OSG_END_NAMESPACE
00847 # define OSG_USING_NAMESPACE
00848
00849 #endif
00850
00851
00852 #if defined(OSG_DLSYM_NEEDS_UNDERSCORE)
00853 #define OSG_DLSYM_UNDERSCORE "_"
00854 #else
00855 #define OSG_DLSYM_UNDERSCORE
00856 #endif
00857
00858 #ifndef _OSG_HAVE_CONFIGURED_H_
00859 # if defined (OSG_USE_WINTHREADS)
00860 # define OSG_ASPECT_USE_DECLSPEC
00861 # endif
00862 #endif
00863
00864 #define OSG_COMPILETIME_NUM_ASPECTS
00865
00866 #define OSG_NUM_ASPECTS 2
00867
00868
00869 #ifdef OSG_WIN_TYPES
00870 #ifndef OSG_NO_WINDOWD_H_INCLUDE
00871 #include <windows.h>
00872 #endif
00873 #endif
00874
00875 #ifndef OSG_WIN_TYPES
00876 #define OSG_APIENTRY
00877 #else
00878 #ifdef APIENTRY
00879 #define OSG_APIENTRY APIENTRY
00880 #elif defined(GLAPIENTRY)
00881 #define OSG_APIENTRY GLAPIENTRY
00882 #else
00883 #error "Neither APIENTRY nor GLAPIENTRY defined"
00884 #endif
00885 #endif
00886
00887 #ifdef OSG_DEBUG
00888 #define OSG_DEBUG_LOCK_STAT
00889 #endif
00890
00891 #ifdef OSG_DEBUG_ARG
00892 #define OSG_CHECK_ARG(ARG) ARG
00893 #else
00894 #define OSG_CHECK_ARG(ARG)
00895 #endif
00896
00897 #ifdef OSG_DEBUG
00898 #define OSG_DEBUG_CHECK_ARG(ARG) ARG
00899 #else
00900 #define OSG_DEBUG_CHECK_ARG(ARG)
00901 #endif
00902
00903
00904 #include <OSGBase.h>
00905 #include <OSGExportDefines.h>
00906
00907 #ifdef _OSG_HAVE_CONFIGURED_H_
00908 #include <OSGConfigured.h>
00909 #endif
00910
00911 #if defined(OSG_DEBUG_NO_FCPTR_ARITHM)
00912 # if defined(OSG_NUM_ASPECTS)
00913 # undef OSG_NUM_ASPECTS
00914 # endif
00915 # define OSG_NUM_ASPECTS 1
00916 #endif
00917
00918 #define OSG_ASSERT(expr) assert(expr)
00919
00920
00921
00922
00923
00924
00925 #if !defined(OSG_STDEXCEPTION_NAMESPACE)
00926 # define OSG_STDEXCEPTION_NAMESPACE
00927 #endif
00928
00929 #ifndef OSG_STDEXTENSION_NAMESPACE
00930 # define OSG_STDEXTENSION_NAMESPACE std
00931 #endif
00932
00933 #if !defined(OSG_DOC_LEVEL)
00934 # define OSG_DOC_LEVEL 0
00935 #endif
00936
00937 #define OSG_FLEX_USE_IOSTREAM_INPUT 1
00938
00939 #if defined(OSG_ICC_GNU_COMPAT)
00940
00941 # undef OSG_USE_HASH_COMPARE
00942
00943 # if __GNUC__ >= 3
00944 # define OSG_HASH_MAP_AS_EXT
00945
00949 # ifdef OSG_STDEXTENSION_NAMESPACE
00950 # undef OSG_STDEXTENSION_NAMESPACE
00951 # endif
00952
00953 # if __GNUC__ >= 4 || __GNUC_MINOR__ >=1
00954 # define OSG_STDEXTENSION_NAMESPACE __gnu_cxx
00955 # else
00956 # define OSG_STDEXTENSION_NAMESPACE std
00957 # endif
00958 # endif
00959 #endif
00960
00961 #endif