genkernel: Add --kconfig to set specific kernel config options
[genkernel.git] / gen_arch.sh
index b96409e66ffc6309acb2575659db814ecfc038fa..866a40f2ca575e8b5067ea4d5c1a2c416688326d 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/bash
+# $Id$
 
 get_official_arch() {
        if [ "${CMD_ARCHOVERRIDE}" != '' ]
@@ -13,12 +14,15 @@ get_official_arch() {
                        case "${ARCH}" in
                                i?86)
                                        ARCH="x86"
-                               ;;
+                                       ;;
                                mips|mips64)
                                        ARCH="mips"
-                               ;;
+                                       ;;
+                               arm*)
+                                       ARCH=arm
+                                       ;;
                                *)
-                               ;;
+                                       ;;
                        esac
                fi
        fi
@@ -38,26 +42,31 @@ get_official_arch() {
        then
                UTILS_ARCH='sparc'
        fi
-       
-       ARCH_CONFIG="${GK_SHARE}/${ARCH}/config.sh"
+
+       ARCH_CONFIG="${GK_SHARE}/arch/${ARCH}/config.sh"
        [ -f "${ARCH_CONFIG}" ] || gen_die "${ARCH} not yet supported by genkernel. Please add the arch-specific config file, ${ARCH_CONFIG}"
 }
 
 set_kernel_arch() {
        KERNEL_ARCH=${ARCH}
        case ${ARCH} in
-# XXX: This doesn't seem to actually be necessary, as it still works just fine without it
-#              ppc|ppc64)
-#                      if [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ]
-#                      then
-#                              if [ "${PAT}" -eq "6" -a "${SUB}" -ge "17" ] || [ "${PAT}" -gt "6" ]
-#                              then
-#                                      KERNEL_ARCH=powerpc
-#                              fi
-#                      fi
-#                      ;;
+               ppc|ppc64)
+                       if [ "${VER}" -ge "3" ]
+                       then
+                                       KERNEL_ARCH=powerpc
+                       elif [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ]
+                       then
+                               if [ "${PAT}" -eq "6" -a "${SUB}" -ge "16" ] || [ "${PAT}" -gt "6" ]
+                               then
+                                       KERNEL_ARCH=powerpc
+                               fi
+                       fi
+                       ;;
                x86)
-                       if [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ] || [ "${VER}" -gt "2" ]
+                       if [ "${VER}" -ge "3" ]
+                       then
+                                       KERNEL_ARCH=x86
+                       elif [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ] || [ "${VER}" -gt "2" ]
                        then
                                if [ "${PAT}" -eq "6" -a "${SUB}" -ge "24" ] || [ "${PAT}" -gt "6" ]
                                then
@@ -68,7 +77,10 @@ set_kernel_arch() {
                        fi
                        ;;
                x86_64)
-                       if [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ] || [ "${VER}" -gt "2" ]
+                       if [ "${VER}" -ge "3" ]
+                       then
+                                       KERNEL_ARCH=x86
+                       elif [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ] || [ "${VER}" -gt "2" ]
                        then
                                if [ "${PAT}" -eq "6" -a "${SUB}" -ge "24" ] || [ "${PAT}" -gt "6" ]
                                then
@@ -77,4 +89,6 @@ set_kernel_arch() {
                        fi
                        ;;
        esac
+       export KERNEL_ARCH
+       print_info 2 "KERNEL_ARCH=${KERNEL_ARCH}"
 }