X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Funlink-busy.m4;h=c45648d2a088be7465d25a3da83c66c9a0abb1a9;hb=1276a2c5f24c0c932426aca9c899fa524d2443f2;hp=95c08102036b69f8c2c3c50cc2504f33a23948d6;hpb=301a3bfef8938de5abb4b738929fbcb700b05e19;p=gnulib.git diff --git a/m4/unlink-busy.m4 b/m4/unlink-busy.m4 index 95c081020..c45648d2a 100644 --- a/m4/unlink-busy.m4 +++ b/m4/unlink-busy.m4 @@ -1,32 +1,40 @@ -#serial 4 +#serial 12 dnl From J. David Anglin. dnl HPUX and other systems can't unlink shared text that is being executed. -AC_DEFUN(jm_FUNC_UNLINK_BUSY_TEXT, +# Copyright (C) 2000-2001, 2004, 2007, 2009-2014 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. + +AC_DEFUN([gl_FUNC_UNLINK_BUSY_TEXT], [dnl - AC_CACHE_CHECK([whether a program can unlink itself], - jm_cv_func_unlink_busy_text, + AC_CACHE_CHECK([whether a running program can be unlinked], + gl_cv_func_unlink_busy_text, [ - AC_TRY_RUN([ - main (argc, argv) - int argc; - char **argv; - { - if (!argc) - exit (-1); - exit (unlink (argv[0])); - } - ], - jm_cv_func_unlink_busy_text=yes, - jm_cv_func_unlink_busy_text=no, - jm_cv_func_unlink_busy_text=no + AC_RUN_IFELSE( + [AC_LANG_SOURCE( + [AC_INCLUDES_DEFAULT[ + int + main (int argc, char **argv) + { + int result = 0; + if (argc == 0) + result |= 1; + else if (unlink (argv[0]) != 0) + result |= 2; + return result; + }]])], + gl_cv_func_unlink_busy_text=yes, + gl_cv_func_unlink_busy_text=no, + gl_cv_func_unlink_busy_text=no ) ] ) - if test $jm_cv_func_unlink_busy_text = no; then + if test $gl_cv_func_unlink_busy_text = no; then INSTALL=$ac_install_sh fi ])