Browse Source

configure: Don't implicitly hardcode list of KVM architectures

The code creating the symlink from linux-headers/asm to the
architecture specific linux-headers/asm-$arch directory was
implicitly hardcoding a list of KVM supporting architectures.
Add a default case for the common "Linux architecture name and
QEMU CPU name match" case, so future architectures will only
need to add code if they've managed to get mismatched names.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Peter Maydell 13 years ago
parent
commit
08312a63b7
1 changed files with 11 additions and 3 deletions
  1. 11 3
      configure

+ 11 - 3
configure

@@ -3538,15 +3538,23 @@ if test "$linux" = "yes" ; then
   mkdir -p linux-headers
   mkdir -p linux-headers
   case "$cpu" in
   case "$cpu" in
   i386|x86_64)
   i386|x86_64)
-    symlink "$source_path/linux-headers/asm-x86" linux-headers/asm
+    linux_arch=x86
     ;;
     ;;
   ppcemb|ppc|ppc64)
   ppcemb|ppc|ppc64)
-    symlink "$source_path/linux-headers/asm-powerpc" linux-headers/asm
+    linux_arch=powerpc
     ;;
     ;;
   s390x)
   s390x)
-    symlink "$source_path/linux-headers/asm-s390" linux-headers/asm
+    linux_arch=s390
+    ;;
+  *)
+    # For most CPUs the kernel architecture name and QEMU CPU name match.
+    linux_arch="$cpu"
     ;;
     ;;
   esac
   esac
+    # For non-KVM architectures we will not have asm headers
+    if [ -e "$source_path/linux-headers/asm-$linux_arch" ]; then
+      symlink "$source_path/linux-headers/asm-$linux_arch" linux-headers/asm
+    fi
 fi
 fi
 
 
 for target in $target_list; do
 for target in $target_list; do