hurd: Do not completely ignore Mach headers checks

Message ID 20180303235450.32607-1-samuel.thibault@ens-lyon.org
State New
Headers show
Series
  • hurd: Do not completely ignore Mach headers checks
Related show

Commit Message

Samuel Thibault March 3, 2018, 11:54 p.m.
* 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(-)

-- 
2.16.1

Comments

Samuel Thibault March 4, 2018, 1:02 a.m. | #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 */'