hurd: Do not completely ignore Mach headers checks

Message ID 20180303235450.32607-1-samuel.thibault@ens-lyon.org
State Committed, archived
Headers

Commit Message

Samuel Thibault March 3, 2018, 11:54 p.m. UTC
  * scripts/check-installed-headers.sh: Do not ignore all Mach headers, only
	ignore non-gnu builds for mach/mig_support.h
---
 ChangeLog                          |  2 ++
 scripts/check-installed-headers.sh | 19 +++++++++++++------
 2 files changed, 15 insertions(+), 6 deletions(-)
  

Comments

Samuel Thibault March 4, 2018, 1:02 a.m. UTC | #1
Samuel Thibault, on dim. 04 mars 2018 00:54:50 +0100, wrote:
> 	* scripts/check-installed-headers.sh: Do not ignore all Mach headers, only
> 	ignore non-gnu builds for mach/mig_support.h
> ---
>  ChangeLog                          |  2 ++
>  scripts/check-installed-headers.sh | 19 +++++++++++++------
>  2 files changed, 15 insertions(+), 6 deletions(-)
> 
> diff --git a/ChangeLog b/ChangeLog
> index 9bfa1bd316..cd6f45e96f 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -11,6 +11,8 @@
>  	* sysdeps/mach/i386/bits/mach/param.h: ... here.  Update path in #error.
>  	* sysdeps/mach/hurd/bits/param.h: Include <bits/mach/param.h> instead
>  	of <mach/param.h>.
> +	* scripts/check-installed-headers.sh: Do not ignore all Mach headers, only
> +	ignore non-gnu builds for mach/mig_support.h
>  
>  2018-03-03  Andreas Schwab  <schwab@linux-m68k.org>
>  
> diff --git a/scripts/check-installed-headers.sh b/scripts/check-installed-headers.sh
> index f7f55917f7..9b433ed2ed 100644
> --- a/scripts/check-installed-headers.sh
> +++ b/scripts/check-installed-headers.sh
> @@ -68,6 +68,7 @@ failed=0
>  is_x86_64=unknown
>  is_x32=unknown
>  for header in "$@"; do
> +    gnu_only=0
>      # Skip various headers for which this test gets a false failure.
>      case "$header" in
>          # bits/* are not meant to be included directly and usually #error
> @@ -126,18 +127,24 @@ EOF
>                      fi
>                  ;;
>              esac
> -	    ;;
> +            ;;
> +
> +        # Hurd headers are not standard anyway
> +        (hurd.h | hurd/*.h | faultexc_server.h)
> +            continue;;
>  
> -	# Hurd and Mach headers are not standard anyway
> -	(hurd.h | hurd/*.h | faultexc_server.h | \
> -	 mach.h | mach_init.h | mach_error.h | mach-shortcuts.h | mach/* | \
> -	 device/* | lock-intern.h | spin-lock.h | machine-sp.h)
> -	    continue;;
> +        # These require _GNU_SOURCE
> +        (mach/mig_support.h)
> +            gnu_only=1
> +            continue;;

Sorry, that was meant to be ";;" of course, I have fixed that in my
tree.

>      esac
>  
>      echo :: "$header"
>      for lang_mode in "" $lang_modes; do
>          for lib_mode in "" $lib_modes; do
> +            if [ "$lib_mode" != "-D_GNU_SOURCE=1" -a "$gnu_only" = 1 ]; then
> +                continue
> +            fi
>              echo :::: $lang_mode $lib_mode
>              if [ -z "$lib_mode" ]; then
>                  expanded_lib_mode='/* default library mode */'
> -- 
> 2.16.1
>
  

Patch

diff --git a/ChangeLog b/ChangeLog
index 9bfa1bd316..cd6f45e96f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,8 @@ 
 	* sysdeps/mach/i386/bits/mach/param.h: ... here.  Update path in #error.
 	* sysdeps/mach/hurd/bits/param.h: Include <bits/mach/param.h> instead
 	of <mach/param.h>.
+	* scripts/check-installed-headers.sh: Do not ignore all Mach headers, only
+	ignore non-gnu builds for mach/mig_support.h
 
 2018-03-03  Andreas Schwab  <schwab@linux-m68k.org>
 
diff --git a/scripts/check-installed-headers.sh b/scripts/check-installed-headers.sh
index f7f55917f7..9b433ed2ed 100644
--- a/scripts/check-installed-headers.sh
+++ b/scripts/check-installed-headers.sh
@@ -68,6 +68,7 @@  failed=0
 is_x86_64=unknown
 is_x32=unknown
 for header in "$@"; do
+    gnu_only=0
     # Skip various headers for which this test gets a false failure.
     case "$header" in
         # bits/* are not meant to be included directly and usually #error
@@ -126,18 +127,24 @@  EOF
                     fi
                 ;;
             esac
-	    ;;
+            ;;
+
+        # Hurd headers are not standard anyway
+        (hurd.h | hurd/*.h | faultexc_server.h)
+            continue;;
 
-	# Hurd and Mach headers are not standard anyway
-	(hurd.h | hurd/*.h | faultexc_server.h | \
-	 mach.h | mach_init.h | mach_error.h | mach-shortcuts.h | mach/* | \
-	 device/* | lock-intern.h | spin-lock.h | machine-sp.h)
-	    continue;;
+        # These require _GNU_SOURCE
+        (mach/mig_support.h)
+            gnu_only=1
+            continue;;
     esac
 
     echo :: "$header"
     for lang_mode in "" $lang_modes; do
         for lib_mode in "" $lib_modes; do
+            if [ "$lib_mode" != "-D_GNU_SOURCE=1" -a "$gnu_only" = 1 ]; then
+                continue
+            fi
             echo :::: $lang_mode $lib_mode
             if [ -z "$lib_mode" ]; then
                 expanded_lib_mode='/* default library mode */'