X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=m4%2Fmkdir.m4;fp=m4%2Fmkdir.m4;h=87f5f21c9557a1f28d4f7ada8198bfe22d33b823;hb=a2016c1de6e4884f6c8ed5cc498f3bf821c25ca4;hp=0000000000000000000000000000000000000000;hpb=c7e61475680fa226bd9b8bdd469cd66914e630f5;p=debian%2Fgzip diff --git a/m4/mkdir.m4 b/m4/mkdir.m4 new file mode 100644 index 0000000..87f5f21 --- /dev/null +++ b/m4/mkdir.m4 @@ -0,0 +1,52 @@ +# serial 9 + +# Copyright (C) 2001, 2003-2004, 2006, 2008-2010 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# On some systems, mkdir ("foo/", 0700) fails because of the trailing slash. +# On others, mkdir ("foo/./", 0700) mistakenly succeeds. +# On such systems, arrange to use a wrapper function. +AC_DEFUN([gl_FUNC_MKDIR], +[dnl + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_CHECK_HEADERS_ONCE([unistd.h]) + AC_CACHE_CHECK([whether mkdir handles trailing slash], + [gl_cv_func_mkdir_trailing_slash_works], + [rm -rf conftest.dir + AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +# include +# include +]], [return mkdir ("conftest.dir/", 0700);])], + [gl_cv_func_mkdir_trailing_slash_works=yes], + [gl_cv_func_mkdir_trailing_slash_works=no], + [gl_cv_func_mkdir_trailing_slash_works="guessing no"]) + rm -rf conftest.dir + ] + ) + if test "$gl_cv_func_mkdir_trailing_slash_works" != yes; then + REPLACE_MKDIR=1 + AC_LIBOBJ([mkdir]) + fi + + AC_CACHE_CHECK([whether mkdir handles trailing dot], + [gl_cv_func_mkdir_trailing_dot_works], + [rm -rf conftest.dir + AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +# include +# include +]], [return !mkdir ("conftest.dir/./", 0700);])], + [gl_cv_func_mkdir_trailing_dot_works=yes], + [gl_cv_func_mkdir_trailing_dot_works=no], + [gl_cv_func_mkdir_trailing_dot_works="guessing no"]) + rm -rf conftest.dir + ] + ) + if test "$gl_cv_func_mkdir_trailing_dot_works" != yes; then + REPLACE_MKDIR=1 + AC_LIBOBJ([mkdir]) + AC_DEFINE([FUNC_MKDIR_DOT_BUG], [1], [Define to 1 if mkdir mistakenly + creates a directory given with a trailing dot component.]) + fi +])