X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=m4%2Frename.m4;h=2c0d5e86f05b64e85696c4f20be2d5e411a6f8f1;hb=add9fba5e1e248ac77e6abe31749a10cd2672d77;hp=2e43a87593bb184e9fc8ef5b273661bbb7b42b83;hpb=0239f3316221451491f8befa7556e3fb8dfb1159;p=pspp diff --git a/m4/rename.m4 b/m4/rename.m4 index 2e43a87593..2c0d5e86f0 100644 --- a/m4/rename.m4 +++ b/m4/rename.m4 @@ -1,4 +1,4 @@ -# serial 15 +# serial 16 # Copyright (C) 2001, 2003, 2005, 2006, 2009 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -17,53 +17,45 @@ AC_DEFUN([gl_FUNC_RENAME], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_CACHE_CHECK([whether rename is broken with a trailing slash], - gl_cv_func_rename_trailing_slash_bug, - [ - rm -rf conftest.d1 conftest.d2 - mkdir conftest.d1 || - AC_MSG_ERROR([cannot create temporary directory]) - AC_RUN_IFELSE([AC_LANG_SOURCE([[ + + dnl SunOS 4.1.1_U1 mistakenly forbids rename("dir/","name"). + dnl Solaris 9 mistakenly allows rename("file/","name"). + AC_CACHE_CHECK([whether rename honors trailing slash on source], + [gl_cv_func_rename_slash_src_works], + [rm -rf conftest.f conftest.d1 conftest.d2 + touch conftest.f && mkdir conftest.d1 || + AC_MSG_ERROR([cannot create temporary files]) + AC_RUN_IFELSE([AC_LANG_PROGRAM([[ # include # include - int - main () - { - exit (rename ("conftest.d1/", "conftest.d2") ? 1 : 0); - } - ]])], - [gl_cv_func_rename_trailing_slash_bug=no], - [gl_cv_func_rename_trailing_slash_bug=yes], +]], [if (rename ("conftest.f/", "conftest.d2") == 0) return 1; + if (rename ("conftest.d1/", "conftest.d2") != 0) return 2;])], + [gl_cv_func_rename_slash_src_works=yes], + [gl_cv_func_rename_slash_src_works=no], dnl When crosscompiling, assume rename is broken. - [gl_cv_func_rename_trailing_slash_bug=yes]) - - rm -rf conftest.d1 conftest.d2 + [gl_cv_func_rename_slash_src_works="guessing no"]) + rm -rf conftest.f conftest.d1 conftest.d2 ]) - AC_CACHE_CHECK([whether rename is broken when the destination exists], - gl_cv_func_rename_dest_exists_bug, - [ - case "$host_os" in + if test "x$gl_cv_func_rename_slash_src_works" != xyes; then + AC_LIBOBJ([rename]) + REPLACE_RENAME=1 + AC_DEFINE([RENAME_TRAILING_SLASH_BUG], [1], + [Define if rename does not correctly handle slashes on the source + argument, such as on Solaris 9 or cygwin 1.5.]) + fi + + AC_CACHE_CHECK([whether rename is broken when the destination exists], + [gl_cv_func_rename_dest_exists_bug], + [case "$host_os" in mingw*) gl_cv_func_rename_dest_exists_bug=yes ;; *) gl_cv_func_rename_dest_exists_bug=no ;; esac ]) - if test $gl_cv_func_rename_trailing_slash_bug = yes || - test $gl_cv_func_rename_dest_exists_bug = yes; then + if test $gl_cv_func_rename_dest_exists_bug = yes; then AC_LIBOBJ([rename]) REPLACE_RENAME=1 - if test $gl_cv_func_rename_trailing_slash_bug = yes; then - AC_DEFINE([RENAME_TRAILING_SLASH_BUG], [1], - [Define if rename does not work for source file names with a trailing - slash, like the one from SunOS 4.1.1_U1.]) - fi - if test $gl_cv_func_rename_dest_exists_bug = yes; then - AC_DEFINE([RENAME_DEST_EXISTS_BUG], [1], - [Define if rename does not work when the destination file exists, - as on Windows.]) - fi - gl_PREREQ_RENAME + AC_DEFINE([RENAME_DEST_EXISTS_BUG], [1], + [Define if rename does not work when the destination file exists, + as on Windows.]) fi ]) - -# Prerequisites of lib/rename.c. -AC_DEFUN([gl_PREREQ_RENAME], [:])