summaryrefslogtreecommitdiff
path: root/m4/ctng_prog_stat.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/ctng_prog_stat.m4')
-rw-r--r--m4/ctng_prog_stat.m431
1 files changed, 19 insertions, 12 deletions
diff --git a/m4/ctng_prog_stat.m4 b/m4/ctng_prog_stat.m4
index 5db3469..6bee076 100644
--- a/m4/ctng_prog_stat.m4
+++ b/m4/ctng_prog_stat.m4
@@ -2,23 +2,30 @@
# string (BSD or GNU). Defines ac_cv_stat_flavor to either GNU or BSD;
# and evaluates either IF-GNU or IF-BSD expression.
# CTNG_PROG_STAT([IF-GNU], [IF-BSD])
-AC_DEFUN([CTNG_PROG_STAT],
- [AX_REQUIRE_DEFINED([CTNG_CHECK_PROGS_REQ])
- CTNG_CHECK_PROGS_REQ([stat], [stat])
- AC_CACHE_CHECK([whether stat takes GNU or BSD format],
- [acx_cv_stat_flavor],
+AC_DEFUN([CTNG_PROG_STAT_FORMAT],
+ [AC_CACHE_CHECK([whether stat takes GNU or BSD format],
+ [ctng_cv_stat_flavor],
[touch conftest
chmod 642 conftest
attr_bsd=$(stat -f '%Lp' conftest 2>/dev/null)
attr_gnu=$(stat -c '%a' conftest 2>/dev/null)
rm -f conftest
AS_IF([test "$attr_bsd" = "642"],
- [acx_cv_stat_flavor=BSD
- $2
- ],
+ [ctng_cv_stat_flavor=BSD],
[test "$attr_gnu" = "642"],
- [acx_cv_stat_flavor=GNU
- $1
- ],
- [AC_MSG_ERROR([cannot determine stat(1) format option])])])
+ [ctng_cv_stat_flavor=GNU],
+ [ctng_cv_stat_flavor=unknown])])
+ AS_IF([test "$ctng_cv_stat_flavor" = "GNU" ], [$1],
+ [test "$ctng_cv_stat_flavor" = "BSD" ], [$2],
+ [AC_MSG_ERROR([cannot determine stat(1) format option])])
+ ])
+
+AC_DEFUN([CTNG_PROG_STAT],
+ [AX_REQUIRE_DEFINED([CTNG_CHECK_PROGS_REQ])
+ CTNG_CHECK_PROGS_REQ([stat], [stat])
+ CTNG_PROG_STAT_FORMAT(
+ [CTNG_SET_KCONFIG_OPTION([stat_flavor_GNU], [y])
+ CTNG_SET_KCONFIG_OPTION([stat_flavor_BSD])],
+ [CTNG_SET_KCONFIG_OPTION([stat_flavor_BSD], [y])
+ CTNG_SET_KCONFIG_OPTION([stat_flavor_GNU])])
])