minor fixes for clang++
[senf.git] / senf / config.hh
1 // $Id$
2 //
3 // Copyright (C) 2007
4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
5 //
6 // The contents of this file are subject to the Fraunhofer FOKUS Public License
7 // Version 1.0 (the "License"); you may not use this file except in compliance
8 // with the License. You may obtain a copy of the License at 
9 // http://senf.berlios.de/license.html
10 //
11 // The Fraunhofer FOKUS Public License Version 1.0 is based on, 
12 // but modifies the Mozilla Public License Version 1.1.
13 // See the full license text for the amendments.
14 //
15 // Software distributed under the License is distributed on an "AS IS" basis, 
16 // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
17 // for the specific language governing rights and limitations under the License.
18 //
19 // The Original Code is Fraunhofer FOKUS code.
20 //
21 // The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. 
22 // (registered association), Hansastraße 27 c, 80686 Munich, Germany.
23 // All Rights Reserved.
24 //
25 // Contributor(s):
26 //   Stefan Bund <g0dil@berlios.de>
27
28 /** \file
29     \brief config public header */
30
31 #ifndef HH_config_
32 #define HH_config_ 1
33
34 // Custom includes
35 #include <boost/cstdint.hpp>
36 #include <limits.h>
37
38 //-/////////////////////////////////////////////////////////////////////////////////////////////////
39
40 namespace senf {
41 namespace config {
42
43     typedef boost::int_fast64_t time_type;
44
45 }}
46
47 # include "autoconf.hh"
48 # include "local_config.hh"
49 #
50 # ifndef SENF_ABSOLUTE_INCLUDE_PATH
51 #     define SENF_ABSOLUTE_INCLUDE_PATH(senf_relative_include_file_path) \
52           <senf/senf_relative_include_file_path>
53 # endif
54 #
55 # ifndef SENF_copy_n
56 #     ifdef HAVE_GNUCXX_COPYN
57 #         include <ext/algorithm>
58           namespace senf { namespace config { using __gnu_cxx::copy_n; }}
59 #     endif
60 #     ifdef HAVE_STD_COPYN
61 #         include <algorithm>
62           namespace senf { namespace config { using std::copy_n; }}
63 #     endif
64 #  endif
65 #
66 # ifndef SENF_MPL_RV_ALIGNMENT
67 #     define SENF_MPL_RV_ALIGNMENT 16
68 # endif
69 #
70 # if    !defined(SENF_BUFFER_USE_LOCALS) \
71      && !defined(SENF_BUFFER_USE_ALLOCA) \
72      && !defined(SENF_BUFFER_USE_NEW)
73 #     define SENF_BUFFER_USE_NEW 1
74 # endif
75 #
76 # ifndef SENF_SENFLOG_LIMIT
77 #     ifndef SENF_DEBUG
78 #         define SENF_SENFLOG_LIMIT senf::log::IMPORTANT
79 #     else
80 #         define SENF_SENFLOG_LIMIT senf::log::NOTICE
81 #     endif
82 # endif
83 #
84 # ifndef SENF_DEBUG_BACKTRACE_NUMCALLERS
85 #     define SENF_DEBUG_BACKTRACE_NUMCALLERS 64
86 # endif
87 #
88 # ifndef SENF_CONSOLE_MAX_COMMAND_ARITY
89 #     define SENF_CONSOLE_MAX_COMMAND_ARITY 6
90 # endif
91 #
92 # ifndef PHOENIX_LIMIT
93 #     define PHOENIX_LIMIT 6
94 # endif
95 #
96 # ifndef SENF_PACKET_ANNOTATION_SLOTS
97 #     define SENF_PACKET_ANNOTATION_SLOTS 8
98 # endif
99 #
100 # ifndef SENF_PACKET_ANNOTATION_SLOTSIZE
101 #     define SENF_PACKET_ANNOTATION_SLOTSIZE 16
102 # endif
103 #
104 # ifdef SENF_DEBUG
105 #     ifdef HAVE_EXECINFO_H
106 #          define SENF_BACKTRACE
107 #     endif
108 # endif
109 //-/////////////////////////////////////////////////////////////////////////////////////////////////
110 #endif
111
112 \f
113 // Local Variables:
114 // mode: c++
115 // fill-column: 100
116 // comment-column: 40
117 // c-file-style: "senf"
118 // indent-tabs-mode: nil
119 // ispell-local-dictionary: "american"
120 // compile-command: "scons -u all_tests"
121 // End: