5b77078d6fd2a35e4e876c511fd32e14aa242136
[senf.git] / config.hh
1 # // $Id$
2 # //
3 # // Copyright (C) 2007 
4 # // Fraunhofer Institute for Open Communication Systems (FOKUS) 
5 # // Competence Center NETwork research (NET), St. Augustin, GERMANY 
6 # //     Stefan Bund <g0dil@berlios.de>
7 # //
8 # // This program is free software; you can redistribute it and/or modify
9 # // it under the terms of the GNU General Public License as published by
10 # // the Free Software Foundation; either version 2 of the License, or
11 # // (at your option) any later version.
12 # //
13 # // This program is distributed in the hope that it will be useful,
14 # // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # // GNU General Public License for more details.
17 # //
18 # // You should have received a copy of the GNU General Public License
19 # // along with this program; if not, write to the
20 # // Free Software Foundation, Inc.,
21 # // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22
23 # /** \file
24 #     \brief config public header */
25
26 # ifndef HH_config_
27 # define HH_config_ 1
28
29 # // Custom includes
30
31 # ///////////////////////////////hh.p////////////////////////////////////////
32
33 # include "local_config.hh"
34 #
35 # ifndef SENF_ABSOLUTE_INCLUDE_PATH
36 #     define SENF_ABSOLUTE_INCLUDE_PATH(senf_relative_include_file_path) <senf/senf_relative_include_file_path>
37 # endif
38 #
39 # ifndef SENF_copy_n
40 #     include <algorithm>
41 #     if defined(__GNUC__) && ! defined(_STLP_ALGORITHM) && (__GNUC__>=4 || (__GNUC__==3 && __GNUC_MINOR__>=4))
42 #         include <ext/algorithm>
43 #         define SENF_copy_n __gnu_cxx::copy_n
44 #     else
45 #         define SENF_copy_n std::copy_n
46 #     endif
47 # endif
48 #
49 # ifndef SENF_MPL_RV_ALIGNMENT
50 #     define SENF_MPL_RV_ALIGNMENT 16
51 # endif
52 #
53 # if !defined(SENF_BUFFER_USE_LOCALS) && !defined(SENF_BUFFER_USE_ALLOCA) && !defined(SENF_BUFFER_USE_NEW)
54 #
55 #     if defined(__GNUC__)
56 #         define SENF_BUFFER_USE_LOCALS 1
57 #
58 #     // Add other compilers here ...
59 #
60 #     // dynamic arrays are part of C99. Which is NOT part of C++ 
61 #     // but lets try nonetheless ...
62 #     elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
63 #         define SENF_BUFFER_USE_LOCALS 1
64 #     endif
65 #
66 #     if !defined(SENF_BUFFER_USE_LOCALS) && !defined(SENF_BUFFER_USE_ALLOCA)
67 #         define SENF_BUFFER_USE_NEW 1
68 #     endif
69 #
70 # endif
71 #
72 # ifndef SENF_SENFLOG_LIMIT
73 #     ifdef SENF_NO_DEBUG
74 #         define SENF_SENFLOG_LIMIT senf::log::IMPORTANT
75 #     else
76 #         define SENF_SENFLOG_LIMIT senf::log::VERBOSE
77 #     endif
78 # endif
79
80 # ///////////////////////////////hh.e////////////////////////////////////////
81 # endif
82  
83 \f
84 // Local Variables:
85 // mode: c++
86 // fill-column: 100
87 // comment-column: 40
88 // c-file-style: "senf"
89 // indent-tabs-mode: nil
90 // ispell-local-dictionary: "american"
91 // compile-command: "scons -u all_tests"
92 // End:
93