Simplify target and platform checks
PATCH 1/1 Simplify target and platform checks
ChangeLog:
* configure.ac: Default to efi platform for x86_64-apple. Allow powerpc64 CPU, default to ieee1275 platform for it. Split CPU adjustments from the rest, only do them if target is not explicitly given. Merge other adjustments with the final sanity check. Remove an extraneous check for supported CPU. Be specific which CPU and which platform is not supported.
configure.ac +13 -22
@@ -61,46 +61,37 @@ case "$target_cpu"-"$target_vendor" in i386-apple) platform=efi ;; i386-*) platform=pc ;; + x86_64-apple) platform=efi ;; x86_64-*) platform=pc ;; powerpc-*) platform=ieee1275 ;; + powerpc64-*) platform=ieee1275 ;; sparc64-*) platform=ieee1275 ;; - *) AC_MSG_ERROR([unsupported machine type]) ;; + *) AC_MSG_ERROR([unsupported CPU: "$target_cpu"]) ;; esac else platform="$with_platform" fi -case "$platform" in - linuxbios) platform=coreboot ;; -esac - -if test "x$platform" = "xefi" ; then - case "$target_cpu" in - i386) ;; - x86_64) target_m64=1 ;; - *) AC_MSG_ERROR([unsupported CPU type for EFI]) ;; +# Adjust CPU unless target was explicitly specified. +if test -z "$target_alias"; then + case "$target_cpu"-"$platform" in + x86_64-efi) ;; + x86_64-*) target_cpu=i386 target_m32=1 ;; + powerpc64-ieee1275) target_cpu=powerpc target_m32=1 ;; esac -else - case "$target_cpu" in - i386) ;; - x86_64) target_cpu=i386 target_m32=1 ;; - powerpc) ;; - powerpc64) target_cpu=powerpc target_m32=1;; - sparc64) ;; - *) AC_MSG_ERROR([unsupported CPU type]) ;; - esac fi -# Sanity check. +# Check if the platform is supported, make final adjustments. case "$target_cpu"-"$platform" in i386-efi) ;; - x86_64-efi) ;; + x86_64-efi) target_m64=1 ;; i386-pc) ;; i386-coreboot) ;; + i386-linuxbios) platform=coreboot ;; i386-ieee1275) ;; powerpc-ieee1275) ;; sparc64-ieee1275) ;; - *) AC_MSG_ERROR([unsupported machine type]) ;; + *) AC_MSG_ERROR([platform "$platform" is not supported for target CPU "$target_cpu"]) ;; esac AC_SUBST(target_cpu)
Signature · 2 lines
Regards, Pavel Roskin
Quoted 64 lines · Pavel Roskin
ChangeLog:
* configure.ac: Default to efi platform for x86_64-apple. Allow powerpc64 CPU, default to ieee1275 platform for it. Split CPU adjustments from the rest, only do them if target is not explicitly given. Merge other adjustments with the final sanity check. Remove an extraneous check for supported CPU. Be specific which CPU and which platform is not supported.
Index: configure.ac
===================================================================configure.ac +11
-21@@ -61,46 +61,37 @@ case "$target_cpu"-"$target_vendor" in i386-apple) platform=efi ;; i386-*) platform=pc ;; + x86_64-apple) platform=efi ;; x86_64-*) platform=pc ;; powerpc-*) platform=ieee1275 ;; + powerpc64-*) platform=ieee1275 ;; sparc64-*) platform=ieee1275 ;; - *) AC_MSG_ERROR([unsupported machine type]) ;; + *) AC_MSG_ERROR([unsupported CPU: "$target_cpu"]) ;; esac else platform="$with_platform" fi -case "$platform" in - linuxbios) platform=coreboot ;; -esac - -if test "x$platform" = "xefi" ; then - case "$target_cpu" in - i386) ;; - x86_64) target_m64=1 ;; - *) AC_MSG_ERROR([unsupported CPU type for EFI]) ;; +# Adjust CPU unless target was explicitly specified. +if test -z "$target_alias"; then + case "$target_cpu"-"$platform" in + x86_64-efi) ;; + x86_64-*) target_cpu=i386 target_m32=1 ;; + powerpc64-ieee1275) target_cpu=powerpc target_m32=1 ;; esac -else - case "$target_cpu" in - i386) ;; - x86_64) target_cpu=i386 target_m32=1 ;; - powerpc) ;; - powerpc64) target_cpu=powerpc target_m32=1;; - sparc64) ;; - *) AC_MSG_ERROR([unsupported CPU type]) ;; - esac fi -# Sanity check. +# Check if the platform is supported, make final adjustments. case "$target_cpu"-"$platform" in i386-efi) ;; - x86_64-efi) ;; + x86_64-efi) target_m64=1 ;; i386-pc) ;;
configure.ac line 97
Quoted 10 lines
configure.ac +2
-1i386-coreboot) ;; + i386-linuxbios) platform=coreboot ;; i386-ieee1275) ;; powerpc-ieee1275) ;; sparc64-ieee1275) ;; - *) AC_MSG_ERROR([unsupported machine type]) ;; + *) AC_MSG_ERROR([platform "$platform" is not supported for target CPU "$target_cpu"]) ;; esac AC_SUBST(target_cpu)
Confirmed to work on amd64 PC with Ubuntu Hardy (default system type from config.guess is x86_64-unknown-linux-gnu)
Quoted 2 lines · Javier Martín
Confirmed to work on amd64 PC with Ubuntu Hardy (default system type from config.guess is x86_64-unknown-linux-gnu)
Thanks. Applied.
Signature · 2 lines
Regards, Pavel Roskin
Thanks, this was really needed. I hope it's less of a mess now.
Quoted 84 lines · Pavel Roskin
ChangeLog:
* configure.ac: Default to efi platform for x86_64-apple. Allow powerpc64 CPU, default to ieee1275 platform for it. Split CPU adjustments from the rest, only do them if target is not explicitly given. Merge other adjustments with the final sanity check. Remove an extraneous check for supported CPU. Be specific which CPU and which platform is not supported.
Index: configure.ac
===================================================================configure.ac +13
-22@@ -61,46 +61,37 @@ case "$target_cpu"-"$target_vendor" in i386-apple) platform=efi ;; i386-*) platform=pc ;; + x86_64-apple) platform=efi ;; x86_64-*) platform=pc ;; powerpc-*) platform=ieee1275 ;; + powerpc64-*) platform=ieee1275 ;; sparc64-*) platform=ieee1275 ;; - *) AC_MSG_ERROR([unsupported machine type]) ;; + *) AC_MSG_ERROR([unsupported CPU: "$target_cpu"]) ;; esac else platform="$with_platform" fi -case "$platform" in - linuxbios) platform=coreboot ;; -esac - -if test "x$platform" = "xefi" ; then - case "$target_cpu" in - i386) ;; - x86_64) target_m64=1 ;; - *) AC_MSG_ERROR([unsupported CPU type for EFI]) ;; +# Adjust CPU unless target was explicitly specified. +if test -z "$target_alias"; then + case "$target_cpu"-"$platform" in + x86_64-efi) ;; + x86_64-*) target_cpu=i386 target_m32=1 ;; + powerpc64-ieee1275) target_cpu=powerpc target_m32=1 ;; esac -else - case "$target_cpu" in - i386) ;; - x86_64) target_cpu=i386 target_m32=1 ;; - powerpc) ;; - powerpc64) target_cpu=powerpc target_m32=1;; - sparc64) ;; - *) AC_MSG_ERROR([unsupported CPU type]) ;; - esac fi -# Sanity check. +# Check if the platform is supported, make final adjustments. case "$target_cpu"-"$platform" in i386-efi) ;; - x86_64-efi) ;; + x86_64-efi) target_m64=1 ;; i386-pc) ;; i386-coreboot) ;; + i386-linuxbios) platform=coreboot ;; i386-ieee1275) ;; powerpc-ieee1275) ;; sparc64-ieee1275) ;; - *) AC_MSG_ERROR([unsupported machine type]) ;; + *) AC_MSG_ERROR([platform "$platform" is not supported for target CPU "$target_cpu"]) ;; esac AC_SUBST(target_cpu)Signature · 9 lines
-- Regards, Pavel Roskin _______________________________________________ Grub-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/grub-devel
Signature · 5 lines
Robert Millan <GPLv2> I know my rights; I want my phone call! <DRM> What good is a phone call… if you are unable to speak? (as seen on /.)