Mercurial > hg > octave-nkf > gnulib-hg
changeset 14932:9ea347c6fce2
dirfd: Move AC_LIBOBJ invocations to module description.
* m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
gl_FUNC_DIRFD.
(gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
here...
* modules/dirfd (configure.ac): ... to here.
(Depends-on): Fix condition.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Fri, 06 May 2011 03:46:57 +0200 |
parents | 5fac8bca3a41 |
children | 45dddbc362fb |
files | ChangeLog m4/dirfd.m4 modules/dirfd |
diffstat | 3 files changed, 49 insertions(+), 32 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2011-05-05 Bruno Haible <bruno@clisp.org> + + dirfd: Move AC_LIBOBJ invocations to module description. + * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from + gl_FUNC_DIRFD. + (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from + here... + * modules/dirfd (configure.ac): ... to here. + (Depends-on): Fix condition. + 2011-05-05 Bruno Haible <bruno@clisp.org> chown: Respect rules for use of AC_LIBOBJ.
--- a/m4/dirfd.m4 +++ b/m4/dirfd.m4 @@ -1,4 +1,4 @@ -# serial 20 -*- Autoconf -*- +# serial 21 -*- Autoconf -*- dnl Find out how to get the file descriptor associated with an open DIR*. @@ -36,45 +36,48 @@ gl_cv_func_dirfd_macro=no)]) # Use the replacement only if we have no function or macro with that name. - if test $ac_cv_func_dirfd,$gl_cv_func_dirfd_macro = no,no; then + if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then if test $ac_cv_have_decl_dirfd = yes; then # If the system declares dirfd already, let's declare rpl_dirfd instead. REPLACE_DIRFD=1 fi - AC_LIBOBJ([dirfd]) - AC_CACHE_CHECK( - [how to get the file descriptor associated with an open DIR*], - gl_cv_sys_dir_fd_member_name, - [ - dirfd_save_CFLAGS=$CFLAGS - for ac_expr in d_fd dd_fd; do + fi +]) + +dnl Prerequisites of lib/dirfd.c. +AC_DEFUN([gl_PREREQ_DIRFD], +[ + AC_CACHE_CHECK([how to get the file descriptor associated with an open DIR*], + [gl_cv_sys_dir_fd_member_name], + [ + dirfd_save_CFLAGS=$CFLAGS + for ac_expr in d_fd dd_fd; do - CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include <sys/types.h> - #include <dirent.h>]], - [[DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;]])], - [dir_fd_found=yes] - ) - CFLAGS=$dirfd_save_CFLAGS - test "$dir_fd_found" = yes && break - done - test "$dir_fd_found" = yes || ac_expr=no_such_member + CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <sys/types.h> + #include <dirent.h>]], + [[DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;]])], + [dir_fd_found=yes] + ) + CFLAGS=$dirfd_save_CFLAGS + test "$dir_fd_found" = yes && break + done + test "$dir_fd_found" = yes || ac_expr=no_such_member - gl_cv_sys_dir_fd_member_name=$ac_expr - ] - ) - if test $gl_cv_sys_dir_fd_member_name != no_such_member; then - AC_DEFINE_UNQUOTED([DIR_FD_MEMBER_NAME], - $gl_cv_sys_dir_fd_member_name, - [the name of the file descriptor member of DIR]) - fi - AH_VERBATIM(DIR_TO_FD, - [#ifdef DIR_FD_MEMBER_NAME + gl_cv_sys_dir_fd_member_name=$ac_expr + ] + ) + if test $gl_cv_sys_dir_fd_member_name != no_such_member; then + AC_DEFINE_UNQUOTED([DIR_FD_MEMBER_NAME], + [$gl_cv_sys_dir_fd_member_name], + [the name of the file descriptor member of DIR]) + fi + AH_VERBATIM([DIR_TO_FD], + [#ifdef DIR_FD_MEMBER_NAME # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME) #else # define DIR_TO_FD(Dir_p) -1 #endif ]) - fi ])
--- a/modules/dirfd +++ b/modules/dirfd @@ -8,10 +8,14 @@ Depends-on: dirent extensions -errno [test $ac_cv_have_decl_dirfd = no || test $REPLACE_DIRFD = 1] +errno [test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no] configure.ac: gl_FUNC_DIRFD +if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then + AC_LIBOBJ([dirfd]) + gl_PREREQ_DIRFD +fi gl_DIRENT_MODULE_INDICATOR([dirfd]) Makefile.am: