AC-Archive
Autoconf Macro Archive

ac-archive.sf.net: - Project CVS - Download
Macro Index
- AM Support
- C++ Support
- C Support
- Fortran Support
- Java Support
- Cross Compilation
- Installed Packages
- Miscellaneous
- LaTeX Support
- Uncategorized
- archive macros
- adl's macros
- bkorb's macros
- guidod's macros
- latex's macros
- other's macros
- rleigh's macros
- obsoleted macros
- released macros
- search index

Documentation
- Contribute!
- History
- acincludedir m4
- acinclude (tool)
- macro howto
- ax tricks
- maintainers
- License
- Topics

generated...
2007-08-05

(C) 2007 guidod
Download the M4 Source.

ac_prog_cp_s

Back to the Main Page.

Synopsis
AC_PROG_CP_S
, 
Version

2003-10-29

Author

Guido U. Draheim <guidod@gmx.de>

License

GPLWithACException
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. As a special exception, the respective Autoconf Macro's copyright owner gives unlimited permission to copy, distribute and modify the configure scripts that are the output of Autoconf when processing the Macro. You need not follow the terms of the GNU General Public License when using or distributing such scripts

Category

guidod's Installed Packages (released)

Documentation

Check how to make a copy by creating a symbolic link to the original - it defines the variable CP_S for further use, which you should in fact treat like it used to be with be LN_S. The actual value is assured to be either LN_S (if the filesystem supports symbolic links) or CP (if the filesystem does not know about symbolic links and you need a copy of original file to have the same text in both places). In a gnu environment it will simply set CP_S="cp -s" since the gnu "cp"-command has the "-s" flag. You shall not try to use this command on directories since it would require a "-r" in the case of a copy that is not supported explicitly here. (I'm not sure if some "cp"-commands out there would barf at usage of "-r" on a normal file).

Use CP_S to create a copy of read-only data - if your filesystem supports it then a symbolic link is created - a process that is quicker and space-saving. However, if the target fs does not support symbolic links, just copy the data. Unlike ac_prog_ln_s this macro will never fail to set the CP_S ac_subst to something that works.

M4 Source Code
AC_DEFUN([AC_PROG_CP_S],
[AC_REQUIRE([AC_PROG_LN_S])dnl
AC_MSG_CHECKING(whether cp -s works)
AC_CACHE_VAL(ac_cv_prog_CP_S,
[rm -f conftestdata
if cp -s X conftestdata 2&gt;/dev/null
then
  rm -f conftestdata
  ac_cv_prog_CP_S="cp -s"
else
  ac_cv_prog_CP_S=cp
fi
if test "$LN_S" = "ln -s" ; then
  ac_cv_prog_CP_S="ln -s"
fi])dnl
CP_S="$ac_cv_prog_CP_S"
if test "$ac_cv_prog_CP_S" = "ln -s"; then
  AC_MSG_RESULT(using ln -s)
elif test "$ac_cv_prog_CP_S" = "cp -s"; then
  AC_MSG_RESULT(yes)
else
  AC_MSG_RESULT(no, using cp)
fi
AC_SUBST(CP_S)dnl
])