diff options
author | Nikias Bassen | 2021-09-20 01:06:27 +0200 |
---|---|---|
committer | Nikias Bassen | 2021-09-20 01:06:27 +0200 |
commit | 6cc8d697ad95ae3878051e9d81fe072ce047ddf5 (patch) | |
tree | e381bd9dcfc3a1c5019db664fedbf23ab1851a9c /configure.ac | |
parent | 156fa95b0cc02f40060e3635edee6ef500f89964 (diff) | |
download | libideviceactivation-6cc8d697ad95ae3878051e9d81fe072ce047ddf5.tar.gz libideviceactivation-6cc8d697ad95ae3878051e9d81fe072ce047ddf5.tar.bz2 |
Check availability of constructor attribute and use it on Windows in favor of DllMain
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 328919b..f1ee6f0 100644 --- a/configure.ac +++ b/configure.ac @@ -73,6 +73,24 @@ case ${host_os} in esac AM_CONDITIONAL(WIN32, test x$win32 = xtrue) +# Check if the C compiler supports __attribute__((constructor)) +AC_CACHE_CHECK([wether the C compiler supports constructor/destructor attributes], + ac_cv_attribute_constructor, [ + ac_cv_attribute_constructor=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[ + static void __attribute__((constructor)) test_constructor(void) { + } + static void __attribute__((destructor)) test_destructor(void) { + } + ]], [])], + [ac_cv_attribute_constructor=yes] + )] +) +if test "$ac_cv_attribute_constructor" = "yes"; then + AC_DEFINE(HAVE_ATTRIBUTE_CONSTRUCTOR, 1, [Define if the C compiler supports constructor/destructor attributes]) +fi + AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-Wall -Wextra -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wno-unused-parameter -fsigned-char -fvisibility=hidden") AC_SUBST(GLOBAL_CFLAGS) |