X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=inline;f=include%2Fcompat.h;h=8fbd2acad05d8ddb3e530489e83d33b167e38127;hb=6ff8f38a6d55970af1400cc78994e017ca351c39;hp=1cdad06c20a76ba4f9178549f52df4b9bbdfe76e;hpb=1031f333332cf1b09db4fd632f141143ee637c34;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/compat.h b/include/compat.h index 1cdad06c2..8fbd2acad 100644 --- a/include/compat.h +++ b/include/compat.h @@ -1,9 +1,8 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2013 Peter Powell - * Copyright (C) 2008 Thomas Stagner - * Copyright (C) 2007 Robin Burchell + * Copyright (C) 2013-2014, 2017, 2021 Sadie Powell + * Copyright (C) 2013-2014, 2016 Attila Molnar * * This file is part of InspIRCd. InspIRCd is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public @@ -25,12 +24,18 @@ * Some implementations of the C++11 standard library are incomplete so we use * the implementation of the same types from C++ Technical Report 1 instead. */ -#if defined _LIBCPP_VERSION || defined _WIN32 +#if defined _LIBCPP_VERSION || defined _WIN32 || __cplusplus >= 201103L # define TR1NS std +# include +# include # include +# include #else # define TR1NS std::tr1 +# include +# include # include +# include #endif /** @@ -41,7 +46,6 @@ #if defined __clang__ || defined __GNUC__ # define CUSTOM_PRINTF(stringpos, firstpos) __attribute__((format(printf, stringpos, firstpos))) #else -# pragma message ("Warning! CUSTOM_PRINTF() does not work on your compiler!") # define CUSTOM_PRINTF(stringpos, firstpos) #endif @@ -71,24 +75,6 @@ # define CXX11_OVERRIDE #endif -/** - * These macros enable the detection of the C++11 variadic templates in - * compilers which support them. - */ -#if __cplusplus >= 201103L -# define HAS_CXX11_VARIADIC_TEMPLATES -#elif defined __clang__ -# if __has_feature(cxx_variadic_templates) -# define HAS_CXX11_VARIADIC_TEMPLATES -# endif -#elif (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) -# if defined __GXX_EXPERIMENTAL_CXX0X__ -# define HAS_CXX11_VARIADIC_TEMPLATES -# endif -#elif _MSC_FULL_VER >= 170051025 -# define HAS_CXX11_VARIADIC_TEMPLATES -#endif - /** * This macro allows methods to be marked as deprecated. To use this, wrap the * method declaration in the header file with the macro. @@ -98,7 +84,6 @@ #elif defined _MSC_VER # define DEPRECATED_METHOD(function) __declspec(deprecated) function #else -# pragma message ("Warning! DEPRECATED_METHOD() does not work on your compiler!") # define DEPRECATED_METHOD(function) function #endif @@ -108,9 +93,11 @@ */ #if defined _WIN32 # include "inspircd_win32wrapper.h" +# include "threadengines/threadengine_win32.h" #else -# include # define ENTRYPOINT int main(int argc, char** argv) -# define DllExport -# define CoreExport +# define DllExport __attribute__ ((visibility ("default"))) +# define CoreExport __attribute__ ((visibility ("default"))) +# include +# include "threadengines/threadengine_pthread.h" #endif