Mercurial > illumos > onarm
view usr/src/cmd/man/src/util/nsgmls.src/include/config.h @ 4:1a15d5aaf794
synchronized with onnv_86 (6202) in onnv-gate
author | Koji Uno <koji.uno@sun.com> |
---|---|
date | Mon, 31 Aug 2009 14:38:03 +0900 |
parents | c9caec207d52 |
children |
line wrap: on
line source
/* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 1994, 1995, 1996 James Clark * See the file COPYING for copying permission. */ #pragma ident "%Z%%M% %I% %E% SMI" #ifndef _CONFIG_H #define _CONFIG_H #ifndef config_INCLUDED #define config_INCLUDED 1 #define SP_INCLUDE_UNISTD_H #define SP_POSIX_FILENAMES #ifdef __GNUG__ // It's not missing, but it pulls in libg++ #define SP_NEW_H_MISSING #ifndef SP_MANUAL_INST #define SP_MANUAL_INST #endif #ifndef SP_ANSI_CLASS_INST #define SP_ANSI_CLASS_INST #endif #ifndef SP_HAVE_BOOL #define SP_HAVE_BOOL #endif #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) #define SP_ANSI_FOR_SCOPE #endif #endif /* __GNUG__ */ #if defined(sun) || defined(__sun) // struct stat has st_blksize member #define SP_STAT_BLKSIZE #endif #ifdef __MACH__ #define SP_MUTEX_MACH #endif #ifdef __EMX__ // EMX 0.9a for OS/2 #undef SP_POSIX_FILENAMES #define SP_MSDOS_FILENAMES #endif #ifdef _MSC_VER // Microsoft Visual C++ 4.0 #undef SP_INCLUDE_UNISTD_H #define SP_INCLUDE_IO_H #ifndef SP_ANSI_CLASS_INST #define SP_ANSI_CLASS_INST #endif #undef SP_POSIX_FILENAMES #define SP_MSDOS_FILENAMES #define SP_SHORT_HEADERS #pragma warning(disable : 4660) // already instantiated #pragma warning(disable : 4661) // missing def for decl member #pragma warning(disable : 4786) // debug symbol truncated (>255 chars) #pragma warning(disable : 4018) // signed/unsigned mismatch #pragma warning(disable : 4251) // __declspec(dllexport) #pragma warning(disable : 4275) #pragma warning(disable : 4237) // future reserved keyword #define huge verybig #if _MSC_VER == 900 #define SP_DECLARE_PLACEMENT_OPERATOR_NEW #endif #define set_new_handler _set_new_handler // Function passed to set_new_handler() returns int and takes size_t argument. #define SP_FANCY_NEW_HANDLER #if _MSC_VER >= 1100 // Visual C++ 5.0 #define SP_HAVE_BOOL #define SP_SIZEOF_BOOL_1 #pragma warning(disable : 4800) // forcing value to bool 'true' or // 'false' (performance warning) #endif #define SP_HAVE_SETMODE #define SP_DLLEXPORT __declspec(dllexport) #define SP_DLLIMPORT __declspec(dllimport) #ifdef _DLL #define SP_USE_DLL #endif #ifdef SP_USE_DLL #ifndef BUILD_LIBSP // It's not possible to export templates using __declspec(dllexport), // so instead we include the template definitions in the headers, // which allows Visual C++ to instantiate any needed templates // in the client. #define SP_DEFINE_TEMPLATES #endif #endif /* SP_USE_DLL */ #ifndef SP_MANUAL_INST #ifndef SP_DEFINE_TEMPLATES #define SP_MANUAL_INST #endif #endif /* not SP_MANUAL_INST */ #ifdef SP_MULTI_BYTE #define SP_WIDE_SYSTEM #endif // wchar_t's base type is an unsigned short #define SP_WCHAR_T_USHORT // Enable precompiled header support. #define SP_PCH // Don't compile in message text. #define SP_NO_MESSAGE_TEXT #ifdef _MT // Use Win32 critical section facilities #define SP_MUTEX_WIN32 // Use the new Standard C++ library #define SP_ANSI_LIB #if _MSC_VER < 1100 // Versions prior to 5.0 don't use the std namespace #define SP_NO_STD_NAMESPACE #endif #endif /* _MT */ #endif /* _MSC_VER */ #ifdef __WATCOMC__ // Watcom C++ 10.0a #define SP_MANUAL_INST #undef SP_POSIX_FILENAMES #define SP_MSDOS_FILENAMES #undef SP_INCLUDE_UNISTD_H #define SP_INCLUDE_IO_H #pragma warning 004 9 #undef huge // Cannot handle T::~T in template. #define SP_QUAL_TEMPLATE_DTOR_BROKEN #define SP_HAVE_SETMODE #define _setmode setmode #if __WATCOMC__ < 1050 #define _O_BINARY O_BINARY #endif #define SP_WCHAR_T_USHORT #if __WATCOMC__ >= 1100 #define SP_HAVE_BOOL // #define SP_SIZEOF_BOOL_1 #endif #endif /* __WATCOMC__ */ #ifdef __BORLANDC__ // Borland C++ 5.0 #define SP_ANSI_FOR_SCOPE #define SP_HAVE_RTTI #define SP_HAVE_SETMODE #undef SP_INCLUDE_UNISTD_H #define SP_INCLUDE_IO_H #undef SP_POSIX_FILENAMES #define SP_MSDOS_FILENAMES #define SP_HAVE_BOOL #define SP_SHORT_HEADERS #define _O_BINARY O_BINARY #define _setmode setmode #define SP_ANSI_CLASS_INST #define SP_MANUAL_INST // Building as a DLL doesn't work with Borland C++ yet. #define SP_DLLEXPORT __declspec(dllexport) #define SP_DLLIMPORT __declspec(dllimport) #ifdef SP_USE_DLL #ifndef BUILD_LIBSP #define SP_DEFINE_TEMPLATES #endif #endif /* SP_USE_DLL */ #define SP_WCHAR_T_USHORT #endif /* __BORLANDC__ */ #ifdef __IBMCPP__ // IBM CSet++ 2.1 from Horst Szillat <szillat@berlin.snafu.de>. #undef SP_POSIX_FILENAMES #define SP_MANUAL_INST #define SP_SHORT_HEADERS #define SP_MSDOS_FILENAMES #undef SP_INCLUDE_UNISTD_H #define SP_INCLUDE_IO_H #define S_IFMT (S_IFDIR|S_IFCHR|S_IFREG) #endif #ifdef __xlC__ // IBM CSet++ 3.1 on AIX 4.1. // Use CXX=xlC and CC=xlC in the Makefile. // Note that -g creates massive executables and that -O // takes ages to compile and creates core dumping executables! // I havn't tried the socket stuff. // <Chris_Paulson-Ellis@3mail.3com.com> #define SP_MANUAL_INST #define SP_HAVE_LOCALE #define SP_STAT_BLKSIZE #endif /* __xlC__ */ #ifdef macintosh // Apple MacOS. Tested only with Metrowerks CW10. // From Ashley Colin Yakeley <AshleyB@halcyon.com> #undef SP_POSIX_FILENAMES #define SP_MAC_FILENAMES #define SP_LINE_TERM1 '\r' #ifdef __MWERKS__ // Metrowerks for some platform (MacOS in this case) #pragma mpwc_newline off #define SP_DEFINE_TEMPLATES // #define SP_USE_DLL -- __declspec doesn't work with classes (yet) #ifdef SP_USE_DLL #define SP_DLLEXPORT __declspec(export) #define SP_DLLIMPORT __declspec(import) #endif // SP_USE_DLL #if __MWERKS__ >= 0x1000 // bool option only defined for CW10 and later (note __MWERKS__ is BCD) #if __option(bool) #define SP_HAVE_BOOL #endif // __option(bool) #endif // __MWERKS__ >= 0x1000 #endif // __MWERKS__ #if ('\n' != 10) || ('\r' != 13) #error "newlines incorrect" #endif #endif /* macintosh */ #ifdef SP_HAVE_SETMODE #ifndef SP_LINE_TERM1 #define SP_LINE_TERM1 '\r' #define SP_LINE_TERM2 '\n' #endif #endif /* not SP_HAVE_SETMODE */ #ifndef SP_LINE_TERM1 #define SP_LINE_TERM1 '\n' #endif #ifndef SP_ANSI_FOR_SCOPE // This simulates the new ANSI "for" scope rules #define for if (0); else for #endif #ifndef SP_DLLEXPORT #define SP_DLLEXPORT /* as nothing */ #endif #ifndef SP_DLLIMPORT #define SP_DLLIMPORT /* as nothing */ #endif #ifdef SP_USE_DLL #ifdef BUILD_LIBSP #define SP_API SP_DLLEXPORT #else #define SP_API SP_DLLIMPORT #endif #else /* not SP_USE_DLL */ #define SP_API /* as nothing */ #endif /* not SP_USE_DLL */ // SP_WIDE_SYSTEM says that your OS provides wide character interfaces // SP_WIDE_SYSTEM currently works only with Visual C++ and Windows NT/95 // SP_WIDE_SYSTEM implies SP_MULTI_BYTE #ifdef SP_WIDE_SYSTEM #ifndef SP_MULTI_BYTE #define SP_MULTI_BYTE #endif #endif #ifdef SP_NAMESPACE #define SP_NAMESPACE_SCOPE SP_NAMESPACE:: #else #define SP_NAMESPACE_SCOPE #endif #ifdef __GNUC__ using namespace std; #endif #endif /* not config_INCLUDED */ #endif /* _CONFIG_H */