X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Flink-follow.m4;h=14ce6ffa5ed11547c1ef98088be2bb3d6c576a8c;hb=bdec3e410196c242757abb0a130dd929e6375615;hp=a57ab88a6e198e6bfee059c7d562caaed655f8b2;hpb=ca621fe9eb453d767216c8023eebe7ffe953d16d;p=gnulib.git diff --git a/m4/link-follow.m4 b/m4/link-follow.m4 index a57ab88a6..14ce6ffa5 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 10 +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-2001, 2004-2006, 2009 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], - jm_ac_cv_func_link_follows_symlink, + AC_CACHE_CHECK( + [whether link(2) dereferences a symlink specified with a trailing slash], + gl_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 (); @@ -47,9 +52,13 @@ AC_DEFUN(jm_AC_FUNC_LINK_FOLLOWS_SYMLINK, return SAME_INODE (sb_hard, sb_file) ? 0 : 1; } ], - 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. + gl_ac_cv_func_link_follows_symlink=yes, + gl_ac_cv_func_link_follows_symlink=no, + gl_ac_cv_func_link_follows_symlink=yes dnl We're cross compiling. ) ]) + if test $gl_ac_cv_func_link_follows_symlink = yes; then + AC_DEFINE([LINK_FOLLOWS_SYMLINKS], [1], + [Define if `link(2)' dereferences symbolic links.]) + fi ])