summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJia Tan <jiat0218@gmail.com>2023-01-02 22:33:48 +0800
committerGitHub <noreply@github.com>2023-01-02 22:33:48 +0800
commitbb740e3b117f1a3c65152d01e5755523a908ecb1 (patch)
treecce1a3cf9981a4a233cd89083e159d26416279e2
parentdfecda875211f737d0db92dc1d3c58a3a2afb0c0 (diff)
downloadxz-bb740e3b117f1a3c65152d01e5755523a908ecb1.tar.gz
Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1.
HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to HAVE_PROGRAM_INVOCATION_NAME. Previously, HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when building with autotools. CMake would only set this when it was 1, and the dos/config.h did not define it. The new macro definition is consistent across build systems.
-rw-r--r--cmake/tuklib_progname.cmake5
-rw-r--r--m4/tuklib_progname.m45
-rw-r--r--src/common/tuklib_progname.c2
-rw-r--r--src/common/tuklib_progname.h2
4 files changed, 8 insertions, 6 deletions
diff --git a/cmake/tuklib_progname.cmake b/cmake/tuklib_progname.cmake
index 0fa1d3d..d4ab006 100644
--- a/cmake/tuklib_progname.cmake
+++ b/cmake/tuklib_progname.cmake
@@ -13,7 +13,6 @@ include(CheckSymbolExists)
function(tuklib_progname TARGET_OR_ALL)
# NOTE: This glibc extension requires _GNU_SOURCE.
check_symbol_exists(program_invocation_name errno.h
- HAVE_DECL_PROGRAM_INVOCATION_NAME)
- tuklib_add_definition_if("${TARGET_OR_ALL}"
- HAVE_DECL_PROGRAM_INVOCATION_NAME)
+ HAVE_PROGRAM_INVOCATION_NAME)
+ tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE_PROGRAM_INVOCATION_NAME)
endfunction()
diff --git a/m4/tuklib_progname.m4 b/m4/tuklib_progname.m4
index f3e158b..2133e32 100644
--- a/m4/tuklib_progname.m4
+++ b/m4/tuklib_progname.m4
@@ -21,5 +21,8 @@
AC_DEFUN_ONCE([TUKLIB_PROGNAME], [
AC_REQUIRE([TUKLIB_COMMON])
-AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
+AC_CHECK_DECL([program_invocation_name], [AC_DEFINE(
+ [HAVE_PROGRAM_INVOCATION_NAME], [1],
+ [Define to 1 if PROGRAM_INVOCATION_NAME is declared in <errno.h>])],
+ [], [#include <errno.h>])
])dnl
diff --git a/src/common/tuklib_progname.c b/src/common/tuklib_progname.c
index 7cb7e20..e2ef4e5 100644
--- a/src/common/tuklib_progname.c
+++ b/src/common/tuklib_progname.c
@@ -14,7 +14,7 @@
#include <string.h>
-#if !HAVE_DECL_PROGRAM_INVOCATION_NAME
+#ifndef HAVE_PROGRAM_INVOCATION_NAME
char *progname = NULL;
#endif
diff --git a/src/common/tuklib_progname.h b/src/common/tuklib_progname.h
index 791b125..bb80f25 100644
--- a/src/common/tuklib_progname.h
+++ b/src/common/tuklib_progname.h
@@ -18,7 +18,7 @@
TUKLIB_DECLS_BEGIN
-#if HAVE_DECL_PROGRAM_INVOCATION_NAME
+#ifdef HAVE_PROGRAM_INVOCATION_NAME
# define progname program_invocation_name
#else
# define progname TUKLIB_SYMBOL(tuklib_progname)