| dnl Copyright (C) 1993-2002 Free Software Foundation, Inc. | |
| dnl This file is free software, distributed under the terms of the GNU | |
| dnl General Public License. As a special exception to the GNU General | |
| dnl Public License, this file may be distributed as part of a program | |
| dnl that contains a configuration script generated by Autoconf, under | |
| dnl the same distribution terms as the rest of that program. | |
| dnl From Bruno Haible, Marcus Daniels. | |
| AC_PREREQ(2.13) | |
| AC_DEFUN([CL_PROG_LN], | |
| [AC_REQUIRE([CL_PROG_CP])dnl | |
| AC_CACHE_CHECK(how to make hard links, cl_cv_prog_LN, [ | |
| rm -f conftestdata conftestfile | |
| echo data > conftestfile | |
| if ln conftestfile conftestdata 2>/dev/null; then | |
| cl_cv_prog_LN=ln | |
| else | |
| cl_cv_prog_LN="$cl_cv_prog_cp" | |
| fi | |
| rm -f conftestdata conftestfile | |
| ]) | |
| LN="$cl_cv_prog_LN" | |
| AC_SUBST(LN)dnl | |
| ]) | |
| AC_DEFUN([CL_PROG_LN_S], | |
| [AC_REQUIRE([CL_PROG_LN])dnl | |
| dnl Make a symlink if possible; otherwise try a hard link. On filesystems | |
| dnl which support neither symlink nor hard link, use a plain copy. | |
| AC_MSG_CHECKING(whether ln -s works) | |
| AC_CACHE_VAL(cl_cv_prog_LN_S, [ | |
| rm -f conftestdata | |
| if ln -s X conftestdata 2>/dev/null; then | |
| cl_cv_prog_LN_S="ln -s" | |
| else | |
| cl_cv_prog_LN_S="$cl_cv_prog_LN" | |
| fi | |
| rm -f conftestdata | |
| ])dnl | |
| if test "$cl_cv_prog_LN_S" = "ln -s"; then | |
| AC_MSG_RESULT(yes) | |
| else | |
| AC_MSG_RESULT(no) | |
| fi | |
| LN_S="$cl_cv_prog_LN_S" | |
| AC_SUBST(LN_S)dnl | |
| ]) | |
| AC_DEFUN([CL_PROG_HLN], | |
| [AC_REQUIRE([CL_PROG_LN_S])dnl | |
| dnl SVR4 "ln" makes hard links to symbolic links, instead of resolving the | |
| dnl symbolic link. To avoid this, use the "hln" program. | |
| AC_CACHE_CHECK(how to make hard links to symlinks, cl_cv_prog_hln, [ | |
| cl_cv_prog_hln="ln" | |
| if test "$cl_cv_prog_LN_S" = "ln -s"; then | |
| echo "blabla" > conftest.x | |
| ln -s conftest.x conftest.y | |
| ln conftest.y conftest.z 2>&AC_FD_CC | |
| rm -f conftest.x | |
| if cat conftest.z > /dev/null 2>&1 ; then | |
| # ln is usable. | |
| cl_cv_prog_hln="ln" | |
| else | |
| # conftest.z is a symbolic link to the non-existent conftest.x | |
| cl_cv_prog_hln="hln" | |
| fi | |
| else | |
| # If there are no symbolic links, the problem cannot occur. | |
| cl_cv_prog_hln="ln" | |
| fi | |
| rm -f conftest* | |
| ]) | |
| HLN="$cl_cv_prog_hln" | |
| AC_SUBST(HLN)dnl | |
| ]) |