configure: check if eaccess() is available

To fix the build error on Android:
  src/ucm/parser.c:2521:7: error: implicit declaration of function 'eaccess' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                if (eaccess(filename, R_OK))
                    ^
  src/ucm/parser.c:2521:7: note: did you mean 'access'?

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Chih-Wei Huang 2021-06-14 12:24:10 +08:00 committed by Jaroslav Kysela
parent 01960fa856
commit 76d1aa0cd7
3 changed files with 9 additions and 0 deletions

View file

@ -50,6 +50,7 @@ AC_HEADER_TIME
dnl Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_CHECK_FUNCS([uselocale])
AC_CHECK_FUNCS([eaccess])
SAVE_LIBRARY_VERSION
AC_SUBST(LIBTOOL_VERSION_INFO)

View file

@ -2518,7 +2518,11 @@ int uc_mgr_scan_master_configs(const char **_list[])
snprintf(fn, sizeof(fn), "%s.conf", d_name);
ucm_filename(filename, sizeof(filename), 2, d_name, fn);
#ifdef HAVE_EACCESS
if (eaccess(filename, R_OK))
#else
if (access(filename, R_OK))
#endif
continue;
err = uc_mgr_config_load(2, filename, &cfg);

View file

@ -305,7 +305,11 @@ static int if_eval_path(snd_use_case_mgr_t *uc_mgr, snd_config_t *eval)
return -EINVAL;
}
#ifdef HAVE_EACCESS
if (eaccess(path, amode))
#else
if (access(path, amode))
#endif
return 0;
return 1;