configure: check for pragma init/fini for constructors/destructors
authorBjörn Jacke <bjacke@samba.org>
Fri, 30 Oct 2020 14:05:36 +0000 (15:05 +0100)
committerAndreas Schneider <asn@samba.org>
Wed, 4 Nov 2020 15:37:37 +0000 (16:37 +0100)
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
ConfigureChecks.cmake
config.h.cmake

index 30510d84741e9a4fd0d79d2d3cf51b71ec0991e1..5bd69dba38ff78ae0e4f171e886c2239e4aa62ac 100644 (file)
@@ -263,6 +263,32 @@ int main(void) {
     return 0;
 }" HAVE_DESTRUCTOR_ATTRIBUTE)
 
+check_c_source_compiles("
+#pragma init (test_constructor)
+void test_constructor(void);
+
+void test_constructor(void)
+{
+     return;
+}
+
+int main(void) {
+     return 0;
+}" HAVE_PRAGMA_INIT)
+
+check_c_source_compiles("
+#pragma fini (test_destructor)
+void test_destructor(void);
+
+void test_destructor(void)
+{
+    return;
+}
+
+int main(void) {
+    return 0;
+}" HAVE_PRAGMA_FINI)
+
 find_library(DLFCN_LIBRARY dl)
 if (DLFCN_LIBRARY)
     list(APPEND _REQUIRED_LIBRARIES ${DLFCN_LIBRARY})
index 41b25319f9dfb1f808f596e159f9fd8fb7c7356c..619996213bb11dbdfe7dfbe3245b8a41da934b02 100644 (file)
 #cmakedefine HAVE_ATTRIBUTE_PRINTF_FORMAT 1
 #cmakedefine HAVE_CONSTRUCTOR_ATTRIBUTE 1
 #cmakedefine HAVE_DESTRUCTOR_ATTRIBUTE 1
+#cmakedefine HAVE_PRAGMA_INIT 1
+#cmakedefine HAVE_PRAGMA_FINI 1
 
 /*************************** ENDIAN *****************************/