]> git.ipfire.org Git - thirdparty/libbsd.git/commitdiff
build: Refactor function checks into a new libbsd-funcs.m4 file
authorGuillem Jover <guillem@hadrons.org>
Tue, 20 Feb 2024 03:40:32 +0000 (04:40 +0100)
committerGuillem Jover <guillem@hadrons.org>
Wed, 21 Feb 2024 01:09:48 +0000 (02:09 +0100)
These are complex enough to clutter the main configure.ac. Move them
into their own file.

configure.ac
m4/libbsd-funcs.m4 [new file with mode: 0644]

index 7878743769065c6e38a379ff212dd15dc9daf325..b9930e512cc79d48f3f0ee4c11dcaf6b63e3e0a2 100644 (file)
@@ -187,53 +187,8 @@ AC_CHECK_DECLS([environ], [], [], [[
 LIBBSD_HAS_GNU_INIT_ARRAY
 
 # Checks for library functions.
-AC_MSG_CHECKING([for program_invocation_short_name])
-AC_LINK_IFELSE([
-  AC_LANG_PROGRAM([[
-#include <errno.h>
-  ]], [[
-const char *p = program_invocation_short_name;
-  ]])
-], [
-  AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
-    [Define to 1 if you have program_invocation_short_name])
-  AC_MSG_RESULT([yes])
-], [
-  AC_MSG_RESULT([no])
-])
-
-AC_MSG_CHECKING([for __progname])
-AC_LINK_IFELSE([
-  AC_LANG_PROGRAM([[
-#include <stdio.h>
-extern char *__progname;
-  ]], [[
-printf("%s", __progname);
-  ]])
-], [
-  AC_DEFINE([HAVE___PROGNAME], [1], [Define to 1 if you have __progname])
-  AC_MSG_RESULT([yes])
-], [
-  AC_MSG_RESULT([no])
-])
-
-AC_MSG_CHECKING([for __register_atfork])
-AC_LINK_IFELSE([
-  AC_LANG_PROGRAM([[
-#include <stddef.h>
-extern void *__dso_handle;
-extern int __register_atfork(void (*)(void), void(*)(void), void (*)(void), void *);
-  ]], [[
-__register_atfork(NULL, NULL, NULL, __dso_handle);
-  ]])
-], [
-  AC_DEFINE([HAVE___REGISTER_ATFORK], [1],
-    [Define to 1 if you have __register_atfork])
-  AC_MSG_RESULT([yes])
-], [
-  LIBBSD_LIBS="$LIBBSD_LIBS -pthread"
-  AC_MSG_RESULT([no])
-])
+LIBBSD_CHECK_PROGNAME
+LIBBSD_CHECK_REGISTER_ATFORK
 
 AC_CHECK_FUNCS([\
   clearenv \
diff --git a/m4/libbsd-funcs.m4 b/m4/libbsd-funcs.m4
new file mode 100644 (file)
index 0000000..379afc5
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright © 2011-2024 Guillem Jover <guillem@hadrons.org>
+
+# LIBBSD_CHECK_PROGNAME
+# ---------------------
+AC_DEFUN([LIBBSD_CHECK_PROGNAME], [
+  AC_MSG_CHECKING([for program_invocation_short_name])
+  AC_LINK_IFELSE([
+    AC_LANG_PROGRAM([[
+#include <errno.h>
+    ]], [[
+const char *p = program_invocation_short_name;
+    ]])
+  ], [
+    AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
+      [Define to 1 if you have program_invocation_short_name])
+    AC_MSG_RESULT([yes])
+  ], [
+    AC_MSG_RESULT([no])
+  ])
+
+  AC_MSG_CHECKING([for __progname])
+  AC_LINK_IFELSE([
+    AC_LANG_PROGRAM([[
+#include <stdio.h>
+extern char *__progname;
+    ]], [[
+printf("%s", __progname);
+    ]])
+  ], [
+    AC_DEFINE([HAVE___PROGNAME], [1], [Define to 1 if you have __progname])
+    AC_MSG_RESULT([yes])
+  ], [
+    AC_MSG_RESULT([no])
+  ])
+])
+
+# LIBBSD_CHECK_REGISTER_ATFORK
+# ----------------------------
+AC_DEFUN([LIBBSD_CHECK_REGISTER_ATFORK], [
+  AC_MSG_CHECKING([for __register_atfork])
+  AC_LINK_IFELSE([
+    AC_LANG_PROGRAM([[
+#include <stddef.h>
+extern void *__dso_handle;
+extern int __register_atfork(void (*)(void), void(*)(void), void (*)(void), void *);
+    ]], [[
+__register_atfork(NULL, NULL, NULL, __dso_handle);
+    ]])
+  ], [
+    AC_DEFINE([HAVE___REGISTER_ATFORK], [1],
+      [Define to 1 if you have __register_atfork])
+    AC_MSG_RESULT([yes])
+  ], [
+    LIBBSD_LIBS="$LIBBSD_LIBS -pthread"
+    AC_MSG_RESULT([no])
+  ])
+])