xref: /netbsd-src/external/bsd/am-utils/dist/m4/macros/check_mnt2_udf_opt.m4 (revision 4bcd344e8f8eea3bd23d5d3f3ad54b0a6f472aaa)
1dnl ######################################################################
2dnl Find UDF-specific mount(2) options (hex numbers)
3dnl Usage: AMU_CHECK_MNT2_UDF_OPT(<fs>)
4dnl Check if there is an entry for MS_<fs> or M_<fs> in sys/mntent.h or
5dnl mntent.h, then define MNT2_UDF_OPT_<fs> to the hex number.
6AC_DEFUN([AMU_CHECK_MNT2_UDF_OPT],
7[
8# what name to give to the fs
9ac_fs_name=$1
10# store variable name of fs
11ac_upcase_fs_name=`echo $ac_fs_name | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
12ac_safe=MNT2_UDF_OPT_$ac_upcase_fs_name
13# check for cache and set it if needed
14AMU_CACHE_CHECK_DYNAMIC(for UDF-specific mount(2) option $ac_fs_name,
15ac_cv_mnt2_udf_opt_$ac_fs_name,
16[
17# undefine by default
18eval "ac_cv_mnt2_udf_opt_$ac_fs_name=notfound"
19value=notfound
20
21# XXX - tests for other systems need to be added here!
22
23# if failed, try UDFMNT_* as a hex (netbsd systems)
24if test "$value" = notfound
25then
26AMU_EXPAND_CPP_HEX(
27AMU_MOUNT_HEADERS
28, UDFMNT_$ac_upcase_fs_name)
29fi
30
31# set cache variable to value
32eval "ac_cv_mnt2_udf_opt_$ac_fs_name=$value"
33])
34# outside cache check, if ok, define macro
35ac_tmp=`eval echo '$''{ac_cv_mnt2_udf_opt_'$ac_fs_name'}'`
36if test "${ac_tmp}" != notfound
37then
38  AC_DEFINE_UNQUOTED($ac_safe, $ac_tmp)
39fi
40])
41dnl ======================================================================
42
43dnl ######################################################################
44dnl run AMU_CHECK_MNT2_UDF_OPT on each argument given
45dnl Usage: AMU_CHECK_MNT2_UDF_OPTS(arg arg arg ...)
46AC_DEFUN([AMU_CHECK_MNT2_UDF_OPTS],
47[
48for ac_tmp_arg in $1
49do
50AMU_CHECK_MNT2_UDF_OPT($ac_tmp_arg)
51done
52])
53dnl ======================================================================
54