source: trunk/src/sed/m4/link.m4@ 3669

Last change on this file since 3669 was 3611, checked in by bird, 10 months ago

vendor/sed/current: GNU sed 4.9 (sed-4.9.tar.xz sha256:6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181)

File size: 2.0 KB
Line 
1# link.m4 serial 11
2dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_DEFUN([gl_FUNC_LINK],
8[
9 AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
10 AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
11 AC_CHECK_FUNCS_ONCE([link])
12 if test $ac_cv_func_link = no; then
13 HAVE_LINK=0
14 else
15 AC_CACHE_CHECK([whether link obeys POSIX],
16 [gl_cv_func_link_works],
17 [touch conftest.a
18 # Assume that if we have lstat, we can also check symlinks.
19 if test $ac_cv_func_lstat = yes; then
20 ln -s conftest.a conftest.lnk
21 fi
22 AC_RUN_IFELSE(
23 [AC_LANG_PROGRAM(
24 [[#include <unistd.h>
25 #include <stdio.h>
26 ]],
27 [[int result = 0;
28 if (!link ("conftest.a", "conftest.b/"))
29 result |= 1;
30#if HAVE_LSTAT
31 if (!link ("conftest.lnk/", "conftest.b"))
32 result |= 2;
33 if (rename ("conftest.a", "conftest.b"))
34 result |= 4;
35 if (!link ("conftest.b", "conftest.lnk"))
36 result |= 8;
37#endif
38 return result;
39 ]])],
40 [gl_cv_func_link_works=yes], [gl_cv_func_link_works=no],
41 [case "$host_os" in
42 # Guess yes on Linux systems.
43 linux-* | linux) gl_cv_func_link_works="guessing yes" ;;
44 # Guess yes on glibc systems.
45 *-gnu* | gnu*) gl_cv_func_link_works="guessing yes" ;;
46 # If we don't know, obey --enable-cross-guesses.
47 *) gl_cv_func_link_works="$gl_cross_guess_normal" ;;
48 esac
49 ])
50 rm -f conftest.a conftest.b conftest.lnk])
51 case "$gl_cv_func_link_works" in
52 *yes) ;;
53 *)
54 REPLACE_LINK=1
55 ;;
56 esac
57 fi
58])
Note: See TracBrowser for help on using the repository browser.