Go to the documentation of this file. 24 #ifndef LOG4CPLUS_CONFIG_HXX 25 #define LOG4CPLUS_CONFIG_HXX 29 #elif (defined(__MWERKS__) && defined(__MACOS__)) 35 # if ! defined (LOG4CPLUS_WORKING_LOCALE) \ 36 && ! defined (LOG4CPLUS_WORKING_C_LOCALE) \ 37 && ! defined (LOG4CPLUS_WITH_ICONV) 38 # define LOG4CPLUS_POOR_MANS_CHCONV 41 #ifndef LOG4CPLUS_DECLSPEC_EXPORT 42 #define LOG4CPLUS_DECLSPEC_EXPORT 45 #ifndef LOG4CPLUS_DECLSPEC_IMPORT 46 #define LOG4CPLUS_DECLSPEC_IMPORT 49 #ifndef LOG4CPLUS_DECLSPEC_PRIVATE 50 #define LOG4CPLUS_DECLSPEC_PRIVATE 53 #define LOG4CPLUS_PRIVATE LOG4CPLUS_DECLSPEC_PRIVATE 56 # define LOG4CPLUS_USE_BSD_SOCKETS 57 # if !defined(LOG4CPLUS_SINGLE_THREADED) 58 # define LOG4CPLUS_USE_PTHREADS 60 # if defined (INSIDE_LOG4CPLUS) 61 # define LOG4CPLUS_EXPORT LOG4CPLUS_DECLSPEC_EXPORT 63 # define LOG4CPLUS_EXPORT LOG4CPLUS_DECLSPEC_IMPORT 64 # endif // defined (INSIDE_LOG4CPLUS) 68 #if defined (LOG4CPLUS_INLINES_ARE_EXPORTED) \ 69 && defined (LOG4CPLUS_BUILD_DLL) 70 # define LOG4CPLUS_INLINE_EXPORT inline 72 # define LOG4CPLUS_INLINE_EXPORT 76 # if defined (_MSC_VER) && _MSC_VER >= 1400 77 # define LOG4CPLUS_FSTREAM_ACCEPTS_WCHAR_T 79 # if defined (_MSC_VER) && _MSC_VER >= 1600 80 # define LOG4CPLUS_HAVE_CODECVT_UTF8_FACET 81 # define LOG4CPLUS_HAVE_CODECVT_UTF16_FACET 87 #if ! defined (__has_feature) 88 # define __has_feature(X) 0 93 #if __has_feature (cxx_noexcept) \ 94 || (defined (__GNUC__) \ 96 || __GNUC__ == 4 && __GNUC_MINOR__ >= 6)) \ 97 || (defined (_MSC_VER) && _MSC_VER >= 1900) 98 # define LOG4CPLUS_NOEXCEPT noexcept 99 # define LOG4CPLUS_NOEXCEPT_FALSE noexcept(false) 101 # define LOG4CPLUS_NOEXCEPT 102 # define LOG4CPLUS_NOEXCEPT_FALSE 105 #if ! defined (UNICODE) && defined (__GNUC__) && __GNUC__ >= 3 106 # define LOG4CPLUS_FORMAT_ATTRIBUTE(archetype, format_index, first_arg_index) \ 107 __attribute__ ((format (archetype, format_index, first_arg_index))) 109 # define LOG4CPLUS_FORMAT_ATTRIBUTE(archetype, fmt_index, first_arg_index) \ 113 #if defined (__GNUC__) \ 114 && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) \ 115 && ! defined (__INTEL_COMPILER) 116 # define LOG4CPLUS_CALLER_FILE() __builtin_FILE () 117 # define LOG4CPLUS_CALLER_LINE() __builtin_LINE () 118 # define LOG4CPLUS_CALLER_FUNCTION() __builtin_FUNCTION () 120 # define LOG4CPLUS_CALLER_FILE() (nullptr) 121 # define LOG4CPLUS_CALLER_LINE() (-1) 122 # define LOG4CPLUS_CALLER_FUNCTION() (nullptr) 125 #if defined (__GNUC__) && __GNUC__ >= 3 126 # define LOG4CPLUS_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) 127 # define LOG4CPLUS_ATTRIBUTE_PURE __attribute__ ((__pure__)) 128 # define LOG4CPLUS_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) 129 # define LOG4CPLUS_BUILTIN_EXPECT(exp, c) __builtin_expect ((exp), (c)) 131 # if ! defined (LOG4CPLUS_ATTRIBUTE_NORETURN) 132 # define LOG4CPLUS_ATTRIBUTE_NORETURN 134 # define LOG4CPLUS_ATTRIBUTE_PURE 135 # define LOG4CPLUS_ATTRIBUTE_DEPRECATED 136 # define LOG4CPLUS_BUILTIN_EXPECT(exp, c) (exp) 139 #define LOG4CPLUS_LIKELY(cond) LOG4CPLUS_BUILTIN_EXPECT(!! (cond), 1) 140 #define LOG4CPLUS_UNLIKELY(cond) LOG4CPLUS_BUILTIN_EXPECT(!! (cond), 0) 142 #if defined (_MSC_VER) \ 143 || (defined (__BORLANDC__) && __BORLANDC__ >= 0x0650) \ 144 || (defined (__COMO__) && __COMO_VERSION__ >= 400) \ 145 || (defined (__DMC__) && __DMC__ >= 0x700) \ 146 || (defined (__clang__) && __clang_major__ >= 3) \ 147 || (defined (__GNUC__) && (__GNUC__ >= 4 \ 148 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))) 149 # define LOG4CPLUS_HAVE_PRAGMA_ONCE 153 #if defined (LOG4CPLUS_HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY) 154 # define LOG4CPLUS_CONSTRUCTOR_FUNC(prio) \ 155 __attribute__ ((__constructor__ ((prio)))) 156 #elif defined (LOG4CPLUS_HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR) 157 # define LOG4CPLUS_CONSTRUCTOR_FUNC(prio) \ 158 __attribute__ ((__constructor__)) 160 # define LOG4CPLUS_CONSTRUCTOR_FUNC(prio) 163 #if defined (LOG4CPLUS_HAVE_VAR_ATTRIBUTE_INIT_PRIORITY) 164 # define LOG4CPLUS_INIT_PRIORITY(prio) \ 165 __attribute__ ((__init_priority__ ((prio)))) 167 # define LOG4CPLUS_INIT_PRIORITY(prio) 170 #define LOG4CPLUS_INIT_PRIORITY_BASE (65535 / 2) 174 #if defined (LOG4CPLUS_SINGLE_THREADED) 175 #define LOG4CPLUS_THREADED(x) 177 #define LOG4CPLUS_THREADED(x) x 180 #if defined(__cplusplus) 198 #endif // LOG4CPLUS_CONFIG_HXX