source: scripts/cross-scripts/cross-san-kern-hdrs.sh @ 617118d

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 617118d was 617118d, checked in by Jim Gifford <clfs@…>, 18 years ago

r561@server (orig r559): root | 2005-06-05 02:38:49 -0700
Fixed Directory Structure

  • Property mode set to 100755
File size: 3.1 KB
Line 
1#!/bin/bash
2
3# cross-lfs sanitized kernel header installation
4# ----------------------------------------------
5# $LastChangedBy$
6# $LastChangedDate$
7# $LastChangedRevision$
8# $HeadURL$
9#
10
11# install kernel headers
12
13cd ${SRC}
14LOG=sanitised-kernel-headers.log
15unpack_tarball linux-libc-headers-${LINUX_LIBC_HDRS_VER} &&
16cd ${PKGDIR}
17
18# Setup ownership and permissions properly
19# TODO: This assumes you are root...
20#chown -R 0 *
21#chgrp -R 0 *
22
23# Setup permissions
24find . -type d | xargs chmod 755
25find . -type f | xargs chmod 644
26
27max_log_init sanitised-kernel-headers ${LINUX_LIBC_HDRS_VER} '' ${INSTLOGS} ${LOG}
28
29# Install the headers.
30
31# If we are using sanitised headers,
32# install the sanitised ones into
33# ${TGT_TOOLS}/include
34if [ "${USE_SYSROOT}" = "Y" ]; then
35   INSTALL_PREFIX="${LFS}/usr"
36else
37   INSTALL_PREFIX="${TGT_TOOLS}"
38fi
39KERN_HDR_DIR=${INSTALL_PREFIX}/include
40
41# If we are doing a biarch build we will need the kernel headers for
42# both architectures and will have to create stub headers in include/asm
43
44test "Y" = "${MULTIARCH}" &&
45{
46   case ${TGT_ARCH} in
47      x86_64 | x86-64 )
48         ARCH1_SWITCH=__x86_64__
49         ARCH1=x86_64
50         ARCH2=i386
51      ;;
52      sparc* | ultrasparc* )
53         ARCH1_SWITCH=__arch64__
54         ARCH1=sparc64
55         ARCH2=sparc
56      ;;
57      ppc* | powerpc* )
58         ARCH1_SWITCH=__powerpc64__
59         ARCH1=ppc64
60         ARCH2=ppc
61      ;;
62      s390* )
63         ARCH1_SWITCH=__s390x__
64         ARCH1=s390x
65         ARCH2=s390
66      ;;
67      mips* )
68         ARCH1=mips
69      ;;
70   esac
71
72   # TODO: This needs to be done better
73   #       Here we are handling the case of mips, where only the one set of
74   #       asm headers are provided (and needed) for multi-arch.
75   if [ -z "${ARCH1_SWITCH}" ]; then
76      mkdir -p ${KERN_HDR_DIR}/asm
77      yes | cp -Rp include/asm-${ARCH1}/* ${KERN_HDR_DIR}/asm
78   else
79      mkdir -p ${KERN_HDR_DIR}/asm
80      yes | cp -Rp include/asm-${ARCH1} ${KERN_HDR_DIR}
81      yes | cp -Rp include/asm-${ARCH2} ${KERN_HDR_DIR}
82
83      # Create stubs ( see build-init.x.x.x.sh )
84      create_kernel_stubs ${ARCH1} ${ARCH1_SWITCH} ${ARCH2} ${KERN_HDR_DIR}
85   fi
86   
87} || {
88   # Install kernel headers in
89   #  ${TGT_TOOLS}/include
90   # TODO: this needs to be done better...
91   case ${TGT_ARCH} in
92      i?86 )                   ARCH=i386    ;;
93      x86_64 | x86-64 )        ARCH=x86_64  ;;
94      powerpc | ppc )          ARCH=ppc     ;;
95      powerpc64 | ppc64 )      ARCH=ppc64   ;;
96      sparc64* | ultrasparc* ) ARCH=sparc64 ;;
97      sparc* )                 ARCH=sparc   ;;
98      s390 )                   ARCH=s390    ;;
99      s390x )                  ARCH=s390x   ;;
100      mips* )                  ARCH=mips    ;;
101      arm* )                   ARCH=arm     ;;
102      * )                      ARCH=${TGT_ARCH} ;;
103   esac
104
105   mkdir -p ${KERN_HDR_DIR}/asm
106   yes | cp -Rp include/asm-${ARCH}/* ${KERN_HDR_DIR}/asm
107   # TODO: probably more here to do for arm...
108
109   # This should be replaced by a var, for the moment defaulting to
110   # ebsa285
111   case ${TGT_ARCH} in
112      arm* )  ln -sf arch-ebsa285 ${KERN_HDR_DIR}/asm/arch ;;
113   esac
114
115}
116
117yes | cp -Rp include/linux ${KERN_HDR_DIR}
118
Note: See TracBrowser for help on using the repository browser.