(file) Return to Config.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

  1 mike  1.18 //%/////////////////////////////////////////////////////////////////////////////
  2            //
  3 kumpf 1.29 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
  4            // The Open Group, Tivoli Systems
  5 mike  1.18 //
  6            // Permission is hereby granted, free of charge, to any person obtaining a copy
  7 karl  1.26 // of this software and associated documentation files (the "Software"), to
  8            // deal in the Software without restriction, including without limitation the
  9            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 10 mike  1.18 // sell copies of the Software, and to permit persons to whom the Software is
 11            // furnished to do so, subject to the following conditions:
 12 kumpf 1.29 // 
 13 karl  1.26 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 14 mike  1.18 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 15            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 16 karl  1.26 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 17            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 18            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 19 mike  1.18 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 20            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 21            //
 22            //==============================================================================
 23            //
 24            // Author: Mike Brasher (mbrasher@bmc.com)
 25            //
 26 mike  1.22 // Modified By: Rudy Schuet (rudy.schuet@compaq.com) 11/25/01
 27            //              added NSK platform support and PEGASUS_HAVE_NO_STD option
 28 karl  1.24 //              K. Schopmeyer. Added  PEGASUS_TEST_EXCEPTION_DECLARATION Feb 27 2002
 29 mike  1.18 //
 30            //%/////////////////////////////////////////////////////////////////////////////
 31            
 32            #ifndef Pegasus_Config_h
 33            #define Pegasus_Config_h
 34            
 35            #if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC)
 36            # include <Pegasus/Common/Platform_WIN32_IX86_MSVC.h>
 37            #elif defined (PEGASUS_PLATFORM_LINUX_IX86_GNU)
 38            # include <Pegasus/Common/Platform_LINUX_IX86_GNU.h>
 39            #elif defined (PEGASUS_PLATFORM_AIX_RS_IBMCXX)
 40            # include <Pegasus/Common/Platform_AIX_RS_IBMCXX.h>
 41            #elif defined (PEGASUS_PLATFORM_HPUX_PARISC_ACC)
 42            # include <Pegasus/Common/Platform_HPUX_PARISC_ACC.h>
 43 mike  1.19 #elif defined (PEGASUS_PLATFORM_TRU64_ALPHA_DECCXX)
 44            # include <Pegasus/Common/Platform_TRU64_ALPHA_DECCXX.h>
 45 mike  1.21 #elif defined (PEGASUS_PLATFORM_SOLARIS_SPARC_GNU)
 46            # include <Pegasus/Common/Platform_SOLARIS_SPARC_GNU.h>
 47 mike  1.22 #elif defined (PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
 48            # include <Pegasus/Common/Platform_ZOS_ZSERIES_IBM.h>
 49            #elif defined (PEGASUS_PLATFORM_NSK_NONSTOP_NMCPLUS)
 50            # include <Pegasus/Common/Platform_NSK_NONSTOP_NMCPLUS.h>
 51 kumpf 1.27 #elif defined (PEGASUS_PLATFORM_LINUX_IA64_GNU)
 52            # include <Pegasus/Common/Platform_LINUX_IA64_GNU.h>
 53 mike  1.18 #else
 54            # error "<Pegasus/Common/Config.h>: Unsupported Platform"
 55            #endif
 56            
 57 mike  1.22 #include <iostream>
 58            #include <cstdlib>
 59            
 60            
 61 mike  1.18 #ifdef PEGASUS_HAVE_NAMESPACES
 62            # define PEGASUS_NAMESPACE_BEGIN namespace Pegasus {
 63            # define PEGASUS_NAMESPACE_END }
 64 mike  1.22 
 65            #ifndef PEGASUS_HAVE_NO_STD
 66 mike  1.18 # define PEGASUS_STD(X) std::X
 67            # define PEGASUS_USING_STD using namespace std
 68 mike  1.22 #else
 69            # define PEGASUS_STD(X) X
 70            # define PEGASUS_USING_STD
 71            #endif
 72 mike  1.18 # define PEGASUS_USING_PEGASUS using namespace Pegasus
 73            #else
 74            # define PEGASUS_NAMESPACE_BEGIN /* empty */
 75            # define PEGASUS_NAMESPACE_END /* empty */
 76            # define PEGASUS_STD(X) X
 77            # define PEGASUS_USING_STD
 78            # define PEGASUS_USING_PEGASUS
 79            #endif
 80            
 81            #ifdef PEGASUS_HAVE_EXPLICIT
 82            # define PEGASUS_EXPLICIT explicit
 83            #else
 84            # define PEGASUS_EXPLICIT /* empty */
 85            #endif
 86            
 87            #ifdef PEGASUS_HAVE_MUTABLE
 88            # define PEGASUS_MUTABLE mutable
 89            #else
 90            # define PEGASUS_MUTABLE /* empty */
 91            #endif
 92            
 93 mike  1.18 #ifndef PEGASUS_HAVE_FOR_SCOPE
 94            # define for if (0) ; else for
 95            #endif
 96            
 97            #ifdef PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
 98            # define PEGASUS_TEMPLATE_SPECIALIZATION template <>
 99            #else
100            # define PEGASUS_TEMPLATE_SPECIALIZATION
101 karl  1.24 #endif
102            
103 mike  1.18 
104            PEGASUS_NAMESPACE_BEGIN
105            
106            #ifdef PEGASUS_HAVE_BOOLEAN
107              typedef bool Boolean;
108            #else
109            # include <Pegasus/Common/Boolean.h>
110            #endif
111            
112            typedef unsigned char Uint8;
113            typedef char Sint8;
114            typedef unsigned short Uint16;
115            typedef short Sint16;
116            typedef unsigned int Uint32;
117            typedef int Sint32;
118            typedef float Real32;
119            typedef double Real64;
120            typedef PEGASUS_UINT64 Uint64;
121            typedef PEGASUS_SINT64 Sint64;
122            
123            #define PEGASUS_NOT_FOUND Uint32(-1)
124 mike  1.18 #define PEG_NOT_FOUND Uint32(-1)
125            
126            PEGASUS_NAMESPACE_END
127            
128            #define PEGASUS_TRACE \
129                PEGASUS_STD(cout) << __FILE__ << '(' << __LINE__ << ')' << PEGASUS_STD(endl)
130            
131            #define PEGASUS_OUT(X) \
132                PEGASUS_STD(cout) << #X << "=[" << X << "]" << PEGASUS_STD(endl)
133            
134 mike  1.20 #ifdef PEGASUS_SUPPRESS_UNREACHABLE_STATEMENTS
135            # define PEGASUS_UNREACHABLE(CODE)
136            #else
137            # define PEGASUS_UNREACHABLE(CODE) CODE
138            #endif
139            
140 sage  1.25 // used for zOS only
141            #ifndef PEGASUS_STATIC_CDECL
142            #define PEGASUS_STATIC_CDECL
143            #endif
144            
145 mike  1.18 #endif  /* Pegasus_Config_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2