Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4680 right-hear 1
// Predefined symbols and macros -*- C++ -*-
2
 
3
// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
4
//
5
// This file is part of the GNU ISO C++ Library.  This library is free
6
// software; you can redistribute it and/or modify it under the
7
// terms of the GNU General Public License as published by the
8
// Free Software Foundation; either version 2, or (at your option)
9
// any later version.
10
 
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
// GNU General Public License for more details.
15
 
16
// You should have received a copy of the GNU General Public License along
17
// with this library; see the file COPYING.  If not, write to the Free
18
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19
// USA.
20
 
21
// As a special exception, you may use this file as part of a free software
22
// library without restriction.  Specifically, if other files instantiate
23
// templates or use macros or inline functions from this file, or you compile
24
// this file and link it with other files to produce an executable, this
25
// file does not by itself cause the resulting executable to be covered by
26
// the GNU General Public License.  This exception does not however
27
// invalidate any other reasons why the executable file might be covered by
28
// the GNU General Public License.
29
 
30
#ifndef _CPP_CPPCONFIG
31
#define _CPP_CPPCONFIG 1
32
 
33
// Pick up any OS-specific definitions.
34
#include 
35
 
36
// The current version of the C++ library in compressed ISO date format.
37
#define __GLIBCPP__ 20010615
38
 
39
// This is necessary until GCC supports separate template
40
// compilation.
41
#define _GLIBCPP_NO_TEMPLATE_EXPORT 1
42
 
43
// This is a hack around not having either pre-compiled headers or
44
// export compilation. If defined, the io, string, and valarray
45
// headers will include all the necessary bits. If not defined, the
46
// implementation optimizes the headers for the most commonly-used
47
// types. For the io library, this means that larger, out-of-line
48
// member functions are only declared, and definitions are not parsed
49
// by the compiler, but instead instantiated into the library binary.
50
#define _GLIBCPP_FULLY_COMPLIANT_HEADERS 1
51
 
52
// Define this to permit user-level control of the expansion of string
53
// buffers (via a fn pointer), see basic_string.* for more.
54
//#define _GLIBCPP_ALLOC_CONTROL
55
 
56
// To enable older, ARM-style iostreams and other anachronisms use this.
57
//#define _GLIBCPP_DEPRECATED 1
58
 
59
// Use corrected code from the committee library group's issues list.
60
#define _GLIBCPP_RESOLVE_LIB_DEFECTS 1
61
 
62
// Enable concept checking code from the boost libraries.
63
//#define _GLIBCPP_CONCEPT_CHECKS 1
64
 
65
// Map gthr.h abstraction to that required for STL.  Do not key off of
66
// __GTHREADS at this point since we haven't seen the correct symbol
67
// yet, instead setup so that include/bits/stl_threads.h will know to
68
// include gthr.h instead of any other type of thread support.  Note:
69
// that gthr.h may well map to gthr-single.h which is a correct way to
70
// express no threads support in gcc.  As a user, do not define
71
// _NOTHREADS without consideration of the consequences (e.g. it is an
72
// internal ABI change).
73
#define __STL_GTHREADS
74
#define __STL_THREADS
75
#define __STL_VOLATILE volatile
76
 
77
// This is also a user hook, but via -f[no-]exceptions, not direct #defines.
78
#ifdef __EXCEPTIONS
79
# define __STL_USE_EXCEPTIONS
80
# define __STL_TRY try
81
# define __STL_CATCH_ALL catch(...)
82
# define __STL_THROW(x) throw x
83
# define __STL_RETHROW throw
84
# define __STL_NOTHROW throw()
85
# define __STL_UNWIND(action) catch(...) { action; throw; }
86
#else
87
# define __STL_TRY
88
# define __STL_CATCH_ALL if (false)
89
# define __STL_THROW(x)
90
# define __STL_RETHROW
91
# define __STL_NOTHROW
92
# define __STL_UNWIND(action)
93
#endif
94
 
95
// Default to the typically high-speed, pool-based allocator (as
96
// libstdc++-v2) instead of the malloc-based allocator (libstdc++-v3
97
// snapshots).  See libstdc++-v3/docs/html/17_intro/howto.html for
98
// details on why you don't want to override this setting.  Ensure
99
// that threads are properly configured on your platform before
100
// assigning blame to the STL container-memory allocator.  After doing
101
// so, please report any possible issues to libstdc++@gcc.gnu.org .
102
// Do not blindly #define __USE_MALLOC here or on the command line.
103
 
104
// The remainder of the prewritten config is mostly automatic; all the
105
// user hooks are listed above.
106
 
107
// XXX
108
// Only used in the SGI rope extensions; this is from stl_config.h and
109
// should be cleaned up.
110
# define __stl_assert(expr)
111
 
112
// End of prewritten config; the discovered settings follow.