crosstool-ng/m4/ctng_prog_stat.m4
Alexey Neyman 66821508f4 Fix install --strip-program check after merge
Also, fix the use of AC_CACHE_CHECK in stat format checker.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00

32 lines
1.3 KiB
Plaintext

# Check that stat(1) is present and determine the syntax for the format
# 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_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"],
[ctng_cv_stat_flavor=BSD],
[test "$attr_gnu" = "642"],
[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])])
])