Provide a program_name variable on platforms other than glibc.
[gnulib.git] / m4 / unlink-busy.m4
index 95c0810..687f900 100644 (file)
@@ -1,24 +1,27 @@
-#serial 4
+#serial 11
 
 dnl From J. David Anglin.
 
 dnl HPUX and other systems can't unlink shared text that is being executed.
 
 
 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 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
 [dnl
-  AC_CACHE_CHECK([whether a program can unlink itself],
+  AC_CACHE_CHECK([whether a running program can be unlinked],
     jm_cv_func_unlink_busy_text,
     [
     jm_cv_func_unlink_busy_text,
     [
-      AC_TRY_RUN([
-        main (argc, argv)
-          int argc;
-          char **argv;
-        {
-          if (!argc)
-            exit (-1);
-          exit (unlink (argv[0]));
-        }
-       ],
+      AC_RUN_IFELSE(
+        [AC_LANG_SOURCE(
+           [AC_INCLUDES_DEFAULT[
+           int
+           main (int argc, char **argv)
+           {
+             return !argc || unlink (argv[0]) != 0;
+           }]])],
       jm_cv_func_unlink_busy_text=yes,
       jm_cv_func_unlink_busy_text=no,
       jm_cv_func_unlink_busy_text=no
       jm_cv_func_unlink_busy_text=yes,
       jm_cv_func_unlink_busy_text=no,
       jm_cv_func_unlink_busy_text=no