X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=inline;f=m4%2Flink-follow.m4;h=69a7018771b30d825a5fe18a1a454f85f49467c3;hb=580f477f1e7ecc74f4ba8803f3e4e5c8ac6b0132;hp=a57ab88a6e198e6bfee059c7d562caaed655f8b2;hpb=ca621fe9eb453d767216c8023eebe7ffe953d16d;p=gnulib.git diff --git a/m4/link-follow.m4 b/m4/link-follow.m4 index a57ab88a6..69a701877 100644 --- a/m4/link-follow.m4 +++ b/m4/link-follow.m4 @@ -1,21 +1,26 @@ -#serial 1 -dnl Run a program to determine whether whether link(2) follows symlinks. +#serial 9 +dnl Run a program to determine whether link(2) follows symlinks. dnl Set LINK_FOLLOWS_SYMLINKS accordingly. -AC_DEFUN(jm_AC_FUNC_LINK_FOLLOWS_SYMLINK, +# Copyright (C) 1999, 2000, 2001, 2004, 2005, 2006 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_AC_FUNC_LINK_FOLLOWS_SYMLINK], [dnl - AC_CACHE_CHECK([whether link(2) follows symlinks], + AC_CACHE_CHECK( + [whether link(2) dereferences a symlink specified with a trailing slash], jm_ac_cv_func_link_follows_symlink, [ - # Create a regular file, `conftest.file'. + # Create a regular file. echo > conftest.file AC_TRY_RUN( [ # include # include -# ifdef HAVE_UNISTD_H -# include -# endif +# include +# include # define SAME_INODE(Stat_buf_1, Stat_buf_2) \ ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \ @@ -29,11 +34,11 @@ AC_DEFUN(jm_AC_FUNC_LINK_FOLLOWS_SYMLINK, const char *hard = "conftest.hard"; struct stat sb_file, sb_hard; - /* Create a symlink `conftest.sym' to it. */ + /* Create a symlink to the regular file. */ if (symlink (file, sym)) abort (); - /* Create a hard link `conftest.hard' to that symlink. */ + /* Create a hard link to that symlink. */ if (link (sym, hard)) abort (); @@ -49,7 +54,11 @@ AC_DEFUN(jm_AC_FUNC_LINK_FOLLOWS_SYMLINK, ], jm_ac_cv_func_link_follows_symlink=yes, jm_ac_cv_func_link_follows_symlink=no, - jm_ac_cv_func_link_follows_symlink=yes, We're cross compiling. + jm_ac_cv_func_link_follows_symlink=yes dnl We're cross compiling. ) ]) + if test $jm_ac_cv_func_link_follows_symlink = yes; then + AC_DEFINE(LINK_FOLLOWS_SYMLINKS, 1, + [Define if `link(2)' dereferences symbolic links.]) + fi ])