From ca8a08606d3f0900b3f4aa8f2e6547882a22dba8 Mon Sep 17 00:00:00 2001 From: Seong-ho Cho Date: Mon, 18 Apr 2016 04:25:38 +0900 Subject: [PATCH] configure: Add AC_HEADER_MAJOR to find where major() is defined. Signed-off-by: Seong-ho Cho Signed-off-by: Alexandre Julliard --- configure | 50 ++++++++++++++++++++++++++++++++++++++++++ configure.ac | 1 + dlls/ntdll/cdrom.c | 5 +++++ dlls/ntdll/directory.c | 5 +++++ dlls/ntdll/file.c | 5 +++++ include/config.h.in | 8 +++++++ server/fd.c | 5 +++++ 7 files changed, 79 insertions(+) diff --git a/configure b/configure index 1cb0e59da57..ffb1825fe64 100755 --- a/configure +++ b/configure @@ -6836,6 +6836,56 @@ fi done +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5 +$as_echo_n "checking whether sys/types.h defines makedev... " >&6; } +if ${ac_cv_header_sys_types_h_makedev+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +return makedev(0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_header_sys_types_h_makedev=yes +else + ac_cv_header_sys_types_h_makedev=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_types_h_makedev" >&5 +$as_echo "$ac_cv_header_sys_types_h_makedev" >&6; } + +if test $ac_cv_header_sys_types_h_makedev = no; then +ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_mkdev_h" = xyes; then : + +$as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h + +fi + + + + if test $ac_cv_header_sys_mkdev_h = no; then + ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then : + +$as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h + +fi + + + fi +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 $as_echo_n "checking whether stat file-mode macros are broken... " >&6; } if ${ac_cv_header_stat_broken+:} false; then : diff --git a/configure.ac b/configure.ac index 6189aa99c73..201bc779b65 100644 --- a/configure.ac +++ b/configure.ac @@ -512,6 +512,7 @@ AC_CHECK_HEADERS(\ valgrind/valgrind.h \ zlib.h ) +AC_HEADER_MAJOR() AC_HEADER_STAT() dnl **** Checks for headers that depend on other ones **** diff --git a/dlls/ntdll/cdrom.c b/dlls/ntdll/cdrom.c index ee360459230..2c64106072d 100644 --- a/dlls/ntdll/cdrom.c +++ b/dlls/ntdll/cdrom.c @@ -38,6 +38,11 @@ #ifdef HAVE_SYS_STAT_H # include #endif +#ifdef MAJOR_IN_MKDEV +# include +#elif defined(MAJOR_IN_SYSMACROS) +# include +#endif #include #ifdef HAVE_SYS_IOCTL_H diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c index 93fe594e972..4d431c08d30 100644 --- a/dlls/ntdll/directory.c +++ b/dlls/ntdll/directory.c @@ -47,6 +47,11 @@ #ifdef HAVE_SYS_ATTR_H #include #endif +#ifdef MAJOR_IN_MKDEV +# include +#elif defined(MAJOR_IN_SYSMACROS) +# include +#endif #ifdef HAVE_SYS_VNODE_H /* Work around a conflict with Solaris' system list defined in sys/list.h. */ #define list SYSLIST diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c index 7e5da599c31..b3bd9d68c97 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -57,6 +57,11 @@ #ifdef HAVE_SYS_SOCKET_H #include #endif +#ifdef MAJOR_IN_MKDEV +# include +#elif defined(MAJOR_IN_SYSMACROS) +# include +#endif #ifdef HAVE_UTIME_H # include #endif diff --git a/include/config.h.in b/include/config.h.in index 0650f31b4fb..06b192f91be 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -1335,6 +1335,14 @@ /* Define to 1 if you have the `__res_get_state' function. */ #undef HAVE___RES_GET_STATE +/* Define to 1 if `major', `minor', and `makedev' are declared in . + */ +#undef MAJOR_IN_MKDEV + +/* Define to 1 if `major', `minor', and `makedev' are declared in + . */ +#undef MAJOR_IN_SYSMACROS + /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT diff --git a/server/fd.c b/server/fd.c index 1fd1ce70b7f..17b1b66a367 100644 --- a/server/fd.c +++ b/server/fd.c @@ -83,6 +83,11 @@ #endif #include #include +#ifdef MAJOR_IN_MKDEV +#include +#elif defined(MAJOR_IN_SYSMACROS) +#include +#endif #include #include #ifdef HAVE_SYS_SYSCALL_H