X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fsys_ioctl_h.m4;h=8705a4cd478e9f2d73aa8bb8ac3ad2883973b76d;hb=bbfcd2f1a92c9bdbb8d7d7d0a8a8c6665c316747;hp=5488039b6c8bb6f00daa77ea6324e7e9a3b69e41;hpb=0806b2e000515c8c9f32c5276df88936d3f890cb;p=gnulib.git diff --git a/m4/sys_ioctl_h.m4 b/m4/sys_ioctl_h.m4 index 5488039b6..8705a4cd4 100644 --- a/m4/sys_ioctl_h.m4 +++ b/m4/sys_ioctl_h.m4 @@ -1,5 +1,5 @@ -# sys_ioctl_h.m4 serial 1 -dnl Copyright (C) 2008 Free Software Foundation, Inc. +# sys_ioctl_h.m4 serial 10 +dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -19,36 +19,38 @@ AC_DEFUN([gl_SYS_IOCTL_H], dnl header file, such as or , is needed for that. AC_CACHE_CHECK([whether declares ioctl], [gl_cv_decl_ioctl_in_sys_ioctl_h], - [AC_CHECK_DECL([ioctl], + [dnl We cannot use AC_CHECK_DECL because it produces its own messages. + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [AC_INCLUDES_DEFAULT([#include ])], + [(void) ioctl;])], [gl_cv_decl_ioctl_in_sys_ioctl_h=yes], - [gl_cv_decl_ioctl_in_sys_ioctl_h=no], - [#include ]) + [gl_cv_decl_ioctl_in_sys_ioctl_h=no]) ]) - if test $gl_cv_decl_ioctl_in_sys_ioctl_h != yes; then - SYS_IOCTL_H='sys/ioctl.h' - fi else HAVE_SYS_IOCTL_H=0 - SYS_IOCTL_H='sys/ioctl.h' fi AC_SUBST([HAVE_SYS_IOCTL_H]) - dnl Execute this unconditionally, because SYS_IOCTL_H may be set by other - dnl modules, after this code is executed. + dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([sys/ioctl.h]) -]) -dnl Unconditionally enables the replacement of . -AC_DEFUN([gl_REPLACE_SYS_IOCTL_H], -[ - AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) - SYS_IOCTL_H='sys/ioctl.h' + dnl Check for declarations of anything we want to poison if the + dnl corresponding gnulib module is not in use. + gl_WARN_ON_USE_PREPARE([[#include +/* Some platforms declare ioctl in the wrong header. */ +#if !(defined __GLIBC__ && !defined __UCLIBC__) +# include +#endif + ]], [ioctl]) ]) AC_DEFUN([gl_SYS_IOCTL_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_SYS_IOCTL_H_DEFAULTS], @@ -56,5 +58,7 @@ AC_DEFUN([gl_SYS_IOCTL_H_DEFAULTS], GNULIB_IOCTL=0; AC_SUBST([GNULIB_IOCTL]) dnl Assume proper GNU behavior unless another module says otherwise. SYS_IOCTL_H_HAVE_WINSOCK2_H=0; AC_SUBST([SYS_IOCTL_H_HAVE_WINSOCK2_H]) - SYS_IOCTL_H=''; AC_SUBST([SYS_IOCTL_H]) + SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; + AC_SUBST([SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS]) + REPLACE_IOCTL=0; AC_SUBST([REPLACE_IOCTL]) ])