summaryrefslogtreecommitdiff
path: root/SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/m4/ax_declspec.m4
diff options
context:
space:
mode:
Diffstat (limited to 'SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/m4/ax_declspec.m4')
-rw-r--r--SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/m4/ax_declspec.m4118
1 files changed, 118 insertions, 0 deletions
diff --git a/SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/m4/ax_declspec.m4 b/SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/m4/ax_declspec.m4
new file mode 100644
index 000000000..19672d390
--- /dev/null
+++ b/SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/m4/ax_declspec.m4
@@ -0,0 +1,118 @@
+dnl Check for the __declspec(dllexport) construct support.
+
+AC_DEFUN([AX_DECLSPEC],
+[
+AH_TEMPLATE($1[]_IMPORT,
+ [Defined if the compiler understands __declspec(dllimport)
+ or __attribute__((visibility("default"))) or __global construct.])
+AH_TEMPLATE($1[]_EXPORT,
+ [Defined if the compiler understands __declspec(dllimport)
+ or __attribute__((visibility("default"))) or __global construct.])
+AH_TEMPLATE($1[]_PRIVATE,
+ [Defined if the compiler understands __attribute__((visibility("hidden")))
+ or __hidden construct.])
+
+AS_VAR_SET([continue_checks], [1])
+
+dnl This is for Solaris platforms with Solaris Studio.
+
+AC_CACHE_CHECK([for __global and __hidden], [ac_cv__global],
+[
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+ __global int x = 0;
+ __global int foo ();
+ int foo () { return 0; }
+ __global int bar () { return x; }
+ __hidden int baz () { return 1; }
+ ]],
+ [[]])],
+ [ac_cv__global=yes],
+ [ac_cv__global=no])
+])
+
+AS_IF([test "x$ac_cv__global" = "xyes"],
+ [AC_DEFINE($1[]_IMPORT, [__global])
+ AC_DEFINE($1[]_EXPORT, [__global])
+ AC_DEFINE($1[]_PRIVATE, [__hidden])
+ AS_UNSET([continue_checks])])
+
+dnl This typically succeeds on Windows/MinGW/Cygwin.
+
+AS_VAR_SET_IF([continue_checks],
+[
+AC_CACHE_CHECK([for __declspec(dllexport) and __declspec(dllimport)],
+ [ac_cv_declspec],
+[
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#if defined (__clang__)
+// Here the problem is that Clang only warns that it does not support
+// __declspec(dllexport) but still compiles the executable.
+# error Please fail.
+And extra please fail.
+#else
+ __declspec(dllexport) int x = 0;
+ __declspec(dllexport) int foo ();
+ int foo () { return 0; }
+ __declspec(dllexport) int bar () { return x; }
+#endif
+ ]],
+ [[]])],
+ [ac_cv_declspec=yes],
+ [ac_cv_declspec=no])
+])
+
+AS_IF([test "x$ac_cv_declspec" = "xyes"],
+ [AC_DEFINE($1[]_IMPORT, [__declspec(dllimport)])
+ AC_DEFINE($1[]_EXPORT, [__declspec(dllexport)])
+ AC_DEFINE($1[]_PRIVATE, [/* empty */])
+ AS_UNSET([continue_checks])])
+])
+
+dnl This typically succeeds on *NIX platforms with GCC or Clang.
+
+AS_VAR_SET_IF([continue_checks],
+[
+AC_CACHE_CHECK([for __attribute__((visibility("default")))dnl
+ and __attribute__((visibility("hidden")))], [ac_cv__attribute__visibility],
+[
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#if defined (__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 1))
+# error Please fail.
+And extra please fail.
+#else
+ __attribute__((visibility("default"))) int x = 0;
+ __attribute__((visibility("default"))) int foo ();
+ int foo () { return 0; }
+ __attribute__((visibility("default"))) int bar () { return x; }
+ __attribute__((visibility("hidden"))) int baz () { return 1; }
+#endif
+ ]],
+ [[]])],
+ [ac_cv__attribute__visibility=yes],
+ [ac_cv__attribute__visibility=no])
+])
+
+AS_IF([test "x$ac_cv__attribute__visibility" = "xyes"],
+ [AC_DEFINE($1[]_IMPORT, [__attribute__ ((visibility("default")))])
+ AC_DEFINE($1[]_EXPORT, [__attribute__ ((visibility("default")))])
+ AC_DEFINE($1[]_PRIVATE, [__attribute__ ((visibility("hidden")))])
+ AS_UNSET([continue_checks])])
+])
+
+
+AS_IF([test "x$ac_cv__attribute__visibility" = "xno" dnl
+ && test "x$ac_cv_declspec" = "xno" dnl
+ && test "x$ax_cv__global" = "xno"],
+ [AC_DEFINE($1[]_IMPORT, [/* empty */])
+ AC_DEFINE($1[]_EXPORT, [/* empty */])
+ AC_DEFINE($1[]_PRIVATE, [/* empty */])])
+
+AS_UNSET([continue_checks])
+
+]) dnl AX_DECLSPEC