diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2017-03-27 21:41:36 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2017-03-27 21:41:36 +0200 |
commit | 6b73edd95d603e27d55d4905134ac1327d426534 (patch) | |
tree | e0b9334e2637f17696c796ac13b2c39294bf9233 /gnulib-m4/getprogname.m4 | |
parent | 0250cb64565a7d5238bbc751225d4b0236ef8316 (diff) |
New upstream version 0.9.7upstream/0.9.7
Diffstat (limited to 'gnulib-m4/getprogname.m4')
-rw-r--r-- | gnulib-m4/getprogname.m4 | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/gnulib-m4/getprogname.m4 b/gnulib-m4/getprogname.m4 new file mode 100644 index 00000000..f027037f --- /dev/null +++ b/gnulib-m4/getprogname.m4 @@ -0,0 +1,43 @@ +# getprogname.m4 - check for getprogname or replacements for it + +# Copyright (C) 2016 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +AC_DEFUN([gl_FUNC_GETPROGNAME], +[ + AC_CHECK_FUNCS_ONCE([getprogname getexecname]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + ac_found=0 + AC_CHECK_DECLS([program_invocation_name], [ac_found=1], [], + [#include <errno.h>]) + AC_CHECK_DECLS([program_invocation_short_name], [ac_found=1], [], + [#include <errno.h>]) + AC_CHECK_DECLS([__argv], [ac_found=1], [], [#include <stdlib.h>]) + + # Incur the cost of this test only if none of the above worked. + if test $ac_found = 0; then + # On OpenBSD 5.1, using the global __progname variable appears to be + # the only way to implement getprogname. + AC_CACHE_CHECK([whether __progname is defined in default libraries], + [gl_cv_var___progname], + [ + gl_cv_var___progname= + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[extern char *__progname;]], + [[return *__progname;]] + )], + [gl_cv_var___progname=yes] + ) + ] + ) + if test "$gl_cv_var___progname" = yes; then + AC_DEFINE([HAVE_VAR___PROGNAME], 1, + [Define if you have a global __progname variable]) + fi + fi +]) |