Add case for arm* in get_official_arch()
[genkernel.git] / gen_arch.sh
1 #!/bin/bash
2
3 get_official_arch() {
4         if [ "${CMD_ARCHOVERRIDE}" != '' ]
5         then
6                 ARCH=${CMD_ARCHOVERRIDE}
7         else
8                 if [ "${ARCH_OVERRIDE}" != '' ]
9                 then
10                         ARCH=${ARCH_OVERRIDE}
11                 else
12                         ARCH=`uname -m`
13                         case "${ARCH}" in
14                                 i?86)
15                                         ARCH="x86"
16                                         ;;
17                                 mips|mips64)
18                                         ARCH="mips"
19                                         ;;
20                                 arm*)
21                                         ARCH=arm
22                                         ;;
23                                 *)
24                                         ;;
25                         esac
26                 fi
27         fi
28
29         if [ "${CMD_UTILS_ARCH}" != '' ]
30         then
31                 UTILS_ARCH=${CMD_UTILS_ARCH}
32         else
33                 if [ "${UTILS_ARCH}" != '' ]
34                 then
35                         UTILS_ARCH=${UTILS_ARCH}
36                 fi
37         fi
38
39         # sparc64 klibc is b0rked, so we force to 32
40         if [ "${ARCH}" = 'sparc64' ]
41         then
42                 UTILS_ARCH='sparc'
43         fi
44         
45         ARCH_CONFIG="${GK_SHARE}/arch/${ARCH}/config.sh"
46         [ -f "${ARCH_CONFIG}" ] || gen_die "${ARCH} not yet supported by genkernel. Please add the arch-specific config file, ${ARCH_CONFIG}"
47 }
48
49 set_kernel_arch() {
50         KERNEL_ARCH=${ARCH}
51         case ${ARCH} in
52                 ppc|ppc64)
53                         if [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ]
54                         then
55                                 if [ "${PAT}" -eq "6" -a "${SUB}" -ge "16" ] || [ "${PAT}" -gt "6" ]
56                                 then
57                                         KERNEL_ARCH=powerpc
58                                 fi
59                         fi
60                         ;;
61                 x86)
62                         if [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ] || [ "${VER}" -gt "2" ]
63                         then
64                                 if [ "${PAT}" -eq "6" -a "${SUB}" -ge "24" ] || [ "${PAT}" -gt "6" ]
65                                 then
66                                         KERNEL_ARCH=x86
67                                 else
68                                         KERNEL_ARCH=i386
69                                 fi
70                         fi
71                         ;;
72                 x86_64)
73                         if [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ] || [ "${VER}" -gt "2" ]
74                         then
75                                 if [ "${PAT}" -eq "6" -a "${SUB}" -ge "24" ] || [ "${PAT}" -gt "6" ]
76                                 then
77                                         KERNEL_ARCH=x86
78                                 fi
79                         fi
80                         ;;
81         esac
82         export KERNEL_ARCH
83         print_info 2 "KERNEL_ARCH=${KERNEL_ARCH}"
84 }