grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Simplify target and platform checks


From: Pavel Roskin
Subject: [PATCH] Simplify target and platform checks
Date: Thu, 17 Jul 2008 12:50:42 -0400

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        (revision 1716)
+++ configure.ac        (working copy)
@@ -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)

-- 
Regards,
Pavel Roskin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]