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