efl: share HAVE_ATFILE_SOURCE between eina_file, ecore_file...
authorGustavo Sverzut Barbieri <barbieri@gmail.com>
Thu, 6 Dec 2012 21:15:30 +0000 (21:15 +0000)
committerGustavo Sverzut Barbieri <barbieri@gmail.com>
Thu, 6 Dec 2012 21:15:30 +0000 (21:15 +0000)
SVN revision: 80391

configure.ac
src/lib/eina/eina_file.c

index 7310893..0eabea0 100644 (file)
@@ -640,9 +640,11 @@ AC_CHECK_FUNCS([\
 backtrace \
 backtrace_symbols \
 execvp \
+dirfd \
 fpathconf \
 fstatat \
 malloc_usable_size \
+mkdirat \
 mtrace \
 openat \
 strlcpy \
@@ -652,6 +654,11 @@ AC_FUNC_ALLOCA
 
 EFL_CHECK_FUNCS([EFL], [fnmatch gettimeofday])
 
+have_atfile_source="${ac_cv_func_fstatat}"
+AC_DEFINE_IF([HAVE_ATFILE_SOURCE],
+   [test "x${have_atfile_source}" = "xyes"],
+   [1], [Use fstatat and other -at file functions])
+
 
 
 ######################  EFL  ######################
@@ -926,7 +933,7 @@ EFL_CHECK_LINKER_FLAGS([EINA], [-fno-strict-aliasing])
 
 ### Checks for library functions
 
-EFL_CHECK_FUNCS([EINA], [dirfd dlopen dladdr iconv shm_open setxattr])
+EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open setxattr])
 
 enable_log="no"
 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
@@ -2345,33 +2352,8 @@ AC_MSG_NOTICE([Ecore_File checks])
 
 ### Additional options to configure
 
-AC_ARG_ENABLE([atfile-source],
-   [AC_HELP_STRING([--disable-atfile-source],
-       [disable use of atfile source functions as openat and mkdirat @<:@default=detect@:>@])],
-   [
-    if test "x${enableval}" = "xyes" ; then
-       have_atfile_source="yes"
-    else
-       have_atfile_source="no"
-    fi],
-   [have_atfile_source=auto])
-
 ### Default values
 
-if ! test "x${have_atfile_source}" = "xno" ; then
-   AC_CHECK_FUNCS([mkdirat],
-      [
-       have_atfile_source="yes"
-       AC_DEFINE(HAVE_ATFILE_SOURCE, 1, [mkdirat exists])
-      ],
-      [
-       if test "x${have_atfile_source}" = "xyes" ; then
-          AC_MSG_ERROR([required atfile-source but no mkdirat()])
-       fi
-       have_atfile_source="no"
-      ])
-fi
-
 ### Checks for programs
 
 ### Checks for libraries
index 663a474..ec83b7d 100644 (file)
@@ -1448,14 +1448,14 @@ EAPI int
 eina_file_statat(void *container, Eina_File_Direct_Info *info, Eina_Stat *st)
 {
    struct stat buf;
-#if defined(HAVE_FSTATAT) && defined(HAVE_DIRFD)
+#ifdef HAVE_ATFILE_SOURCE
    int fd;
 #endif
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(info, -1);
    EINA_SAFETY_ON_NULL_RETURN_VAL(st, -1);
 
-#if defined(HAVE_FSTATAT) && defined(HAVE_DIRFD)
+#ifdef HAVE_ATFILE_SOURCE
    fd = dirfd((DIR*) container);
    if (fstatat(fd, info->path + info->name_start, &buf, 0))
 #else