Replace uses of obsolete autoconf macros in Jim's modules.
[gnulib.git] / m4 / rename.m4
1 # serial 14
2
3 # Copyright (C) 2001, 2003, 2005, 2006, 2009 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 dnl From Volker Borchert.
9 dnl Determine whether rename works for source file names with a trailing slash.
10 dnl The rename from SunOS 4.1.1_U1 doesn't.
11 dnl
12 dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
13 dnl to compile the wrapper function.
14 dnl
15
16 AC_DEFUN([gl_FUNC_RENAME],
17 [
18   AC_REQUIRE([AC_CANONICAL_HOST])
19  AC_CACHE_CHECK([whether rename is broken with a trailing slash],
20   gl_cv_func_rename_trailing_slash_bug,
21   [
22     rm -rf conftest.d1 conftest.d2
23     mkdir conftest.d1 ||
24       AC_MSG_ERROR([cannot create temporary directory])
25     AC_RUN_IFELSE([AC_LANG_SOURCE([[
26 #       include <stdio.h>
27 #       include <stdlib.h>
28         int
29         main ()
30         {
31           exit (rename ("conftest.d1/", "conftest.d2") ? 1 : 0);
32         }
33       ]])],
34       [gl_cv_func_rename_trailing_slash_bug=no],
35       [gl_cv_func_rename_trailing_slash_bug=yes],
36       dnl When crosscompiling, assume rename is broken.
37       [gl_cv_func_rename_trailing_slash_bug=yes])
38
39       rm -rf conftest.d1 conftest.d2
40   ])
41  AC_CACHE_CHECK([whether rename is broken when the destination exists],
42   gl_cv_func_rename_dest_exists_bug,
43   [
44     case "$host_os" in
45       mingw*) gl_cv_func_rename_dest_exists_bug=yes ;;
46       *) gl_cv_func_rename_dest_exists_bug=no ;;
47     esac
48   ])
49   if test $gl_cv_func_rename_trailing_slash_bug = yes ||
50      test $gl_cv_func_rename_dest_exists_bug = yes; then
51     AC_LIBOBJ([rename])
52     AC_DEFINE([rename], [rpl_rename],
53       [Define to rpl_rename if the replacement function should be used.])
54     if test $gl_cv_func_rename_trailing_slash_bug = yes; then
55       AC_DEFINE([RENAME_TRAILING_SLASH_BUG], [1],
56         [Define if rename does not work for source file names with a trailing
57          slash, like the one from SunOS 4.1.1_U1.])
58     fi
59     if test $gl_cv_func_rename_dest_exists_bug = yes; then
60       AC_DEFINE([RENAME_DEST_EXISTS_BUG], [1],
61         [Define if rename does not work when the destination file exists,
62          as on Windows.])
63     fi
64     gl_PREREQ_RENAME
65   fi
66 ])
67
68 # Prerequisites of lib/rename.c.
69 AC_DEFUN([gl_PREREQ_RENAME], [:])