処理によっては,それぞれ異なるunixに依存して,考えられるいくつかの 方法で達成されるものもあります.それを本質的に調査するためには,“case 文”が必要です.Autoconfは直接それを提供していません.しかし,実行する処 理が見つかったかどうかの追跡を続けるため,シェル変数を使用することで簡単 にシミュレート可能です.
残っているcaseを調査する必要があるかどうかに関係なく追跡を続けるために,
シェル変数fstype
を使用する例は,以下のようになります.
AC_MSG_CHECKING([how to get file system type]) fstype=no # The order of these tests is important. AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/statvfs.h> #include <sys/fstyp.h>]])], [AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4]) if test $fstype = no; then AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/statfs.h> #include <sys/fstyp.h>]])], [AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3]) fi if test $fstype = no; then AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/statfs.h> #include <sys/vmount.h>]])]), [AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX]) fi # (more cases omitted here) AC_MSG_RESULT([$fstype])