Use eaccess() only if available

Fixes build on Android.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
master
Pekka Paalanen 2012-05-15 15:23:41 +03:00 committed by Daniel Stone
parent cb804a9d4e
commit 8bdef139a6
2 changed files with 8 additions and 0 deletions

View File

@ -62,6 +62,8 @@ if test "x$ac_cv_func_strcasecmp" = xno || \
AC_MSG_ERROR([C library does not support strcasecmp/strncasecmp])
fi
AC_CHECK_FUNCS([eaccess euidaccess])
# Build native compiler needed for makekeys
AC_ARG_VAR([CC_FOR_BUILD], [Build native C compiler program])
if test "x$CC_FOR_BUILD" = x; then

View File

@ -72,8 +72,14 @@ xkb_context_include_path_append(struct xkb_context *ctx, const char *path)
return 0;
if (!S_ISDIR(stat_buf.st_mode))
return 0;
#if defined(HAVE_EACCESS)
if (eaccess(path, R_OK | X_OK) != 0)
return 0;
#elif defined(HAVE_EUIDACCESS)
if (euidaccess(path, R_OK | X_OK) != 0)
return 0;
#endif
ctx->include_paths[ctx->num_include_paths] = strdup(path);
if (!ctx->include_paths[ctx->num_include_paths])