summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2000-01-23 10:34:04 +0000
committerJim Meyering <jim@meyering.net>2000-01-23 10:34:04 +0000
commitaef5ff97f7b4212606124053c54dbc0c858fa0c5 (patch)
tree67010a7f1282a133cdde1e8e26a98d1558445402 /m4
parent7d7c1047228f9f0db1c2395d5bcb3c1fd7737907 (diff)
downloadcoreutils-aef5ff97f7b4212606124053c54dbc0c858fa0c5.tar.xz
*** empty log message ***
Diffstat (limited to 'm4')
-rw-r--r--m4/ftruncate.m427
1 files changed, 27 insertions, 0 deletions
diff --git a/m4/ftruncate.m4 b/m4/ftruncate.m4
new file mode 100644
index 000000000..bcb4ba1ed
--- /dev/null
+++ b/m4/ftruncate.m4
@@ -0,0 +1,27 @@
+#serial 1
+
+# See if we need to emulate a missing ftruncate function using fcntl.
+
+AC_DEFUN(jm_FUNC_FTRUNCATE,
+[
+ AC_CHECK_FUNCS(ftruncate, , [ftruncate_missing=yes])
+
+ if test "$ftruncate_missing" = yes; then
+ AC_CHECK_HEADERS(unistd.h)
+ AC_MSG_CHECKING([fcntl emulation of ftruncate])
+ AC_CACHE_VAL(fu_cv_sys_ftruncate_emulation,
+ [AC_TRY_LINK([
+#include <sys/types.h>
+#include <fcntl.h>], [
+#if !defined(F_CHSIZE) && !defined(F_FREESP)
+ chsize();
+#endif
+ ],
+ fu_cv_sys_ftruncate_emulation=yes,
+ fu_cv_sys_ftruncate_emulation=no)])
+ AC_MSG_RESULT($fu_cv_sys_ftruncate_emulation)
+ if test $fu_cv_sys_ftruncate_emulation = yes; then
+ LIBOBJS="$LIBOBJS ftruncate.$ac_objext"
+ fi
+ fi
+])