summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--m4/unlink-busy.m432
1 files changed, 32 insertions, 0 deletions
diff --git a/m4/unlink-busy.m4 b/m4/unlink-busy.m4
new file mode 100644
index 000000000..95c081020
--- /dev/null
+++ b/m4/unlink-busy.m4
@@ -0,0 +1,32 @@
+#serial 4
+
+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,
+[dnl
+ AC_CACHE_CHECK([whether a program can unlink itself],
+ jm_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
+ )
+ ]
+ )
+
+ if test $jm_cv_func_unlink_busy_text = no; then
+ INSTALL=$ac_install_sh
+ fi
+])