AC_CACHE_CHECK([whether link(2) follows symlinks],
jm_ac_cv_func_link_follows_symlink,
[
- # Create a regular file, `conftest.file'.
+ dnl poor-man's AC_REQUIRE: FIXME: repair this once autoconf-3 provides
+ dnl the appropriate framework.
+ test -z "$ac_cv_header_unistd_h" \
+ && AC_CHECK_HEADERS(unistd.h)
+
+ # Create a regular file.
echo > conftest.file
AC_TRY_RUN(
[
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 ();
],
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
])