"Fossies" - the Fresh Open Source Software Archive

Member "bison-3.4.1/m4/getprogname.m4" (28 Mar 2019, 1435 Bytes) of package /linux/misc/bison-3.4.1.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "getprogname.m4": 3.2.4_vs_3.3.

    1 # getprogname.m4 - check for getprogname or replacements for it
    2 
    3 # Copyright (C) 2016-2019 Free Software Foundation, Inc.
    4 # This file is free software; the Free Software Foundation
    5 # gives unlimited permission to copy and/or distribute it,
    6 # with or without modifications, as long as this notice is preserved.
    7 
    8 # serial 4
    9 
   10 AC_DEFUN([gl_FUNC_GETPROGNAME],
   11 [
   12   AC_CHECK_FUNCS_ONCE([getprogname getexecname])
   13   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   14   ac_found=0
   15   AC_CHECK_DECLS([program_invocation_name], [ac_found=1], [],
   16     [#include <errno.h>])
   17   AC_CHECK_DECLS([program_invocation_short_name], [ac_found=1], [],
   18     [#include <errno.h>])
   19   AC_CHECK_DECLS([__argv], [ac_found=1], [], [#include <stdlib.h>])
   20 
   21   # Incur the cost of this test only if none of the above worked.
   22   if test $ac_found = 0; then
   23     # On OpenBSD 5.1, using the global __progname variable appears to be
   24     # the only way to implement getprogname.
   25     AC_CACHE_CHECK([whether __progname is defined in default libraries],
   26       [gl_cv_var___progname],
   27       [
   28         gl_cv_var___progname=
   29         AC_LINK_IFELSE(
   30           [AC_LANG_PROGRAM(
   31             [[extern char *__progname;]],
   32             [[return *__progname;]]
   33           )],
   34           [gl_cv_var___progname=yes]
   35         )
   36       ]
   37     )
   38     if test "$gl_cv_var___progname" = yes; then
   39       AC_DEFINE([HAVE_VAR___PROGNAME], 1,
   40         [Define if you have a global __progname variable])
   41     fi
   42   fi
   43 ])