aboutsummaryrefslogtreecommitdiffstats
path: root/m4/macros/check_fs_headers.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/macros/check_fs_headers.m4')
-rw-r--r--m4/macros/check_fs_headers.m453
1 files changed, 53 insertions, 0 deletions
diff --git a/m4/macros/check_fs_headers.m4 b/m4/macros/check_fs_headers.m4
new file mode 100644
index 000000000000..9aa1a5ed5367
--- /dev/null
+++ b/m4/macros/check_fs_headers.m4
@@ -0,0 +1,53 @@
+dnl ######################################################################
+dnl check if a filesystem exists (if any of its header files exist).
+dnl Usage: AC_CHECK_FS_HEADERS(<headers>..., <fs>, [<fssymbol>])
+dnl Check if any of the headers <headers> exist. If any exist, then
+dnl define HAVE_FS_<fs>. If <fssymbol> exits, then define
+dnl HAVE_FS_<fssymbol> instead...
+AC_DEFUN([AMU_CHECK_FS_HEADERS],
+[
+# find what name to give to the fs
+if test -n "$3"
+then
+ ac_fs_name=$3
+else
+ ac_fs_name=$2
+fi
+# store variable name of fs
+ac_upcase_fs_name=`echo $2 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_fs_headers_safe=HAVE_FS_$ac_upcase_fs_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for $ac_fs_name filesystem in <$1>,
+ac_cv_fs_header_$ac_fs_name,
+[
+# define to "no" by default
+eval "ac_cv_fs_header_$ac_fs_name=no"
+# and look to see if it was found
+AC_CHECK_HEADERS($1,
+[ eval "ac_cv_fs_header_$ac_fs_name=yes"
+ break
+])])
+# check if need to define variable
+if test "`eval echo '$''{ac_cv_fs_header_'$ac_fs_name'}'`" = yes
+then
+ AC_DEFINE_UNQUOTED($ac_fs_headers_safe)
+# append ops_<fs>.o object to AMD_FS_OBJS for automatic compilation
+# if first time we add something to this list, then also tell autoconf
+# to replace instances of it in Makefiles.
+ if test -z "$AMD_FS_OBJS"
+ then
+ AMD_FS_OBJS="ops_${ac_fs_name}.o"
+ AC_SUBST(AMD_FS_OBJS)
+ else
+ # since this object file could have already been added before
+ # we need to ensure we do not add it twice.
+ case "${AMD_FS_OBJS}" in
+ *ops_${ac_fs_name}.o* ) ;;
+ * )
+ AMD_FS_OBJS="$AMD_FS_OBJS ops_${ac_fs_name}.o"
+ ;;
+ esac
+ fi
+fi
+])
+dnl ======================================================================