1.1 --- a/patches/uClibc/0.9.28/005-fix_includes.sh.patch Mon Jul 28 21:08:01 2008 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,316 +0,0 @@
1.4 ---- uClibc-0.9.28/extra/scripts/fix_includes.sh.orig 2006-12-13 05:44:21.000000000 -0700
1.5 -+++ uClibc-0.9.28/extra/scripts/fix_includes.sh 2006-12-13 05:44:35.000000000 -0700
1.6 -@@ -1,183 +1,155 @@
1.7 - #!/bin/sh
1.8 --# Copyright (C) 2003 Erik Andersen <andersen@uclibc.org>
1.9 - #
1.10 --# This program is free software; you can redistribute it and/or
1.11 --# modify it under the terms of the GNU Library General Public
1.12 --# License as published by the Free Software Foundation; either
1.13 --# version 2 of the License, or (at your option) any later
1.14 --# version.
1.15 --#
1.16 --# This program is distributed in the hope that it will be useful,
1.17 --# but WITHOUT ANY WARRANTY; without even the implied warranty of
1.18 --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1.19 --# GNU Library General Public License for more details.
1.20 --#
1.21 --# You should have received a copy of the GNU Library General
1.22 --# Public License along with this program; if not, write to the
1.23 --# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
1.24 --# Boston, MA 02111-1307 USA
1.25 --
1.26 --usage () {
1.27 -- echo ""
1.28 -- echo "usage: "`basename $0`" -k KERNEL_SOURCE_DIRECTORY -t TARGET_ARCH"
1.29 -- echo ""
1.30 -- echo "This utility scans the KERNEL_SOURCE_DIRECTORY directory and"
1.31 -- echo "checks that it contains well formed kernel headers suitable"
1.32 -- echo "for inclusion as the include/linux/ directory provided by"
1.33 -- echo "uClibc."
1.34 -- echo ""
1.35 -- echo "If the specified kernel headers are present and already"
1.36 -- echo "configured for the architecture specified by TARGET_ARCH,"
1.37 -- echo "they will be used as-is."
1.38 -- echo ""
1.39 -- echo "If the specified kernel headers are missing entirely, this"
1.40 -- echo "script will return an error."
1.41 -- echo ""
1.42 -- echo "If the specified kernel headers are present, but are either"
1.43 -- echo "not yet configured or are configured for an architecture"
1.44 -- echo "different than that specified by TARGET_ARCH, this script"
1.45 -- echo "will attempt to 'fix' the kernel headers and make them"
1.46 -- echo "suitable for use by uClibc. This fixing process may fail."
1.47 -- echo "It is therefore best to always provide kernel headers that"
1.48 -- echo "are already configured for the selected architecture."
1.49 -- echo ""
1.50 -- echo "Most Linux distributions provide 'kernel-headers' packages"
1.51 -- echo "that are suitable for use by uClibc."
1.52 -- echo ""
1.53 -- echo ""
1.54 -- exit 1;
1.55 -+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
1.56 -+#
1.57 -+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
1.58 -+#
1.59 -+
1.60 -+usage() {
1.61 -+ echo ""
1.62 -+ echo "usage: "`basename $0`" -k KERNEL_SOURCE_DIRECTORY -t TARGET_ARCH"
1.63 -+ echo ""
1.64 -+ echo "This utility scans the KERNEL_SOURCE_DIRECTORY directory and"
1.65 -+ echo "checks that it contains well formed kernel headers suitable"
1.66 -+ echo "for inclusion as the include/linux/ directory provided by"
1.67 -+ echo "uClibc."
1.68 -+ echo ""
1.69 -+ echo "If the specified kernel headers are present and already"
1.70 -+ echo "configured for the architecture specified by TARGET_ARCH,"
1.71 -+ echo "they will be used as-is."
1.72 -+ echo ""
1.73 -+ echo "If the specified kernel headers are missing entirely, this"
1.74 -+ echo "script will return an error."
1.75 -+ echo ""
1.76 -+ echo "If the specified kernel headers are present, but are either"
1.77 -+ echo "not yet configured or are configured for an architecture"
1.78 -+ echo "different than that specified by TARGET_ARCH, this script"
1.79 -+ echo "will attempt to 'fix' the kernel headers and make them"
1.80 -+ echo "suitable for use by uClibc. This fixing process may fail."
1.81 -+ echo "It is therefore best to always provide kernel headers that"
1.82 -+ echo "are already configured for the selected architecture."
1.83 -+ echo ""
1.84 -+ echo "Most Linux distributions provide 'kernel-headers' packages"
1.85 -+ echo "that are suitable for use by uClibc."
1.86 -+ echo ""
1.87 -+ echo ""
1.88 -+ exit 1
1.89 - }
1.90 -
1.91 --HAS_MMU="y";
1.92 -+
1.93 -+#
1.94 -+# Parse our arguments
1.95 -+#
1.96 -+HAS_MMU="y"
1.97 - while [ -n "$1" ]; do
1.98 -- case $1 in
1.99 -- -k ) shift; if [ -n "$1" ]; then KERNEL_SOURCE=$1; shift; else usage; fi; ;;
1.100 -- -t ) shift; if [ -n "$1" ]; then TARGET_ARCH=$1; shift; else usage; fi; ;;
1.101 -- -n ) shift; HAS_MMU="n"; ;;
1.102 -- -* ) usage; ;;
1.103 -- * ) usage; ;;
1.104 -- esac;
1.105 --done;
1.106 -+ case $1 in
1.107 -+ -k ) shift; if [ -n "$1" ]; then KERNEL_SOURCE=$1; shift; else usage; fi; ;;
1.108 -+ -t ) shift; if [ -n "$1" ]; then TARGET_ARCH=$1; shift; else usage; fi; ;;
1.109 -+ -n ) shift; HAS_MMU="n"; ;;
1.110 -+ -* ) usage; ;;
1.111 -+ * ) usage; ;;
1.112 -+ esac
1.113 -+done
1.114 -
1.115 --if [ ! -f "$KERNEL_SOURCE/Makefile" -a ! -f "$KERNEL_SOURCE/include/linux/version.h" ]; then
1.116 -- echo "";
1.117 -- echo "";
1.118 -- echo "The file $KERNEL_SOURCE/Makefile or $KERNEL_SOURCE/include/linux/version.h is missing!";
1.119 -- echo "Perhaps your kernel source is broken?"
1.120 -- echo "";
1.121 -- echo "";
1.122 -- exit 1;
1.123 --fi;
1.124 -
1.125 --if [ ! -d "$KERNEL_SOURCE" ]; then
1.126 -- echo "";
1.127 -- echo "";
1.128 -- echo "$KERNEL_SOURCE is not a directory";
1.129 -- echo "";
1.130 -- echo "";
1.131 -- exit 1;
1.132 --fi;
1.133 --
1.134 --if [ -f "$KERNEL_SOURCE/Makefile" ] ; then
1.135 --# set current VERSION, PATCHLEVEL, SUBLEVEL, EXTRAVERSION
1.136 --eval `sed -n -e 's/^\([A-Z]*\) = \([0-9]*\)$/\1=\2/p' -e 's/^\([A-Z]*\) = \(-[-a-z0-9]*\)$/\1=\2/p' $KERNEL_SOURCE/Makefile`
1.137 --else
1.138 --ver=`grep UTS_RELEASE $KERNEL_SOURCE/include/linux/version.h | cut -d '"' -f 2`
1.139 --VERSION=`echo "$ver" | cut -d '.' -f 1`
1.140 --PATCHLEVEL=`echo "$ver" | cut -d '.' -f 2`
1.141 --if echo "$ver" | grep -q '-' ; then
1.142 --SUBLEVEL=`echo "$ver" | sed "s/${VERSION}.${PATCHLEVEL}.//" | cut -d '-' -f 1`
1.143 --EXTRAVERSION=`echo "$ver" | sed "s/${VERSION}.${PATCHLEVEL}.${SUBLEVEL}-//"`
1.144 --else
1.145 --SUBLEVEL=`echo "$ver" | cut -d '.' -f 3`
1.146 --#EXTRAVERSION=
1.147 --fi
1.148 -+#
1.149 -+# Perform some sanity checks on our kernel sources
1.150 -+#
1.151 -+if [ ! -f "$KERNEL_SOURCE/Makefile" -a ! -f "$KERNEL_SOURCE/include/linux/version.h" ]; then
1.152 -+ echo ""
1.153 -+ echo ""
1.154 -+ echo "The file $KERNEL_SOURCE/Makefile or $KERNEL_SOURCE/include/linux/version.h is missing!"
1.155 -+ echo "Perhaps your kernel source is broken?"
1.156 -+ echo ""
1.157 -+ echo ""
1.158 -+ exit 1
1.159 - fi
1.160 --if [ -z "$VERSION" -o -z "$PATCHLEVEL" -o -z "$SUBLEVEL" ]
1.161 --then
1.162 -- echo "Unable to determine version for kernel headers"
1.163 -- echo -e "\tprovided in directory $KERNEL_SOURCE"
1.164 -- exit 1
1.165 -+if [ ! -d "$KERNEL_SOURCE" ]; then
1.166 -+ echo ""
1.167 -+ echo ""
1.168 -+ echo "$KERNEL_SOURCE is not a directory"
1.169 -+ echo ""
1.170 -+ echo ""
1.171 -+ exit 1
1.172 - fi
1.173 -
1.174 --if [ "$MAKE_IS_SILENT" != "y" ]; then
1.175 --echo "Current kernel version is $VERSION.$PATCHLEVEL.$SUBLEVEL${EXTRAVERSION}"
1.176 --echo -e "\n"
1.177 --echo "Using kernel headers from $VERSION.$PATCHLEVEL.$SUBLEVEL${EXTRAVERSION} for architecture '$TARGET_ARCH'"
1.178 --echo -e "\tprovided in directory $KERNEL_SOURCE"
1.179 --echo -e "\n"
1.180 --fi
1.181 -
1.182 -+#
1.183 - # Create a symlink to include/asm
1.184 --
1.185 -+#
1.186 - rm -f include/asm*
1.187 - if [ ! -d "$KERNEL_SOURCE/include/asm" ]; then
1.188 -- echo "";
1.189 -- echo "";
1.190 -- echo "The symlink $KERNEL_SOURCE/include/asm is missing\!";
1.191 -- echo "Perhaps you forgot to configure your kernel source?";
1.192 -- echo "You really should configure your kernel source tree so I";
1.193 -- echo "do not have to try and guess about this sort of thing.";
1.194 -- echo ""
1.195 -- echo "Attempting to guess a usable value....";
1.196 -- echo ""
1.197 -- echo "";
1.198 -- sleep 1;
1.199 --
1.200 -- if [ "$TARGET_ARCH" = "powerpc" ];then
1.201 -- set -x;
1.202 -- ln -fs $KERNEL_SOURCE/include/asm-ppc include/asm;
1.203 -- set +x;
1.204 -- elif [ "$TARGET_ARCH" = "mips" ];then
1.205 -- set -x;
1.206 -- ln -fs $KERNEL_SOURCE/include/asm-mips include/asm;
1.207 -- set +x;
1.208 -- elif [ "$TARGET_ARCH" = "arm" ];then
1.209 -- set -x;
1.210 -- ln -fs $KERNEL_SOURCE/include/asm-arm include/asm;
1.211 -- set +x;
1.212 -- if [ ! -L $KERNEL_SOURCE/include/asm-arm/proc ] ; then
1.213 -- if [ ! -L proc ] ; then
1.214 -- (cd include/asm;
1.215 -- ln -fs proc-armv proc;
1.216 -- ln -fs arch-ebsa285 arch);
1.217 -- fi
1.218 -+ echo ""
1.219 -+ echo ""
1.220 -+ echo "The symlink $KERNEL_SOURCE/include/asm is missing\!"
1.221 -+ echo "Perhaps you forgot to configure your kernel source?"
1.222 -+ echo "You really should configure your kernel source tree so I"
1.223 -+ echo "do not have to try and guess about this sort of thing."
1.224 -+ echo ""
1.225 -+ echo "Attempting to guess a usable value...."
1.226 -+ echo ""
1.227 -+ echo ""
1.228 -+ sleep 1
1.229 -+
1.230 -+ if [ "$TARGET_ARCH" = "powerpc" ]; then
1.231 -+ set -x
1.232 -+ ln -fs $KERNEL_SOURCE/include/asm-ppc include/asm
1.233 -+ set +x
1.234 -+ elif [ "$TARGET_ARCH" = "mips" ]; then
1.235 -+ set -x
1.236 -+ ln -fs $KERNEL_SOURCE/include/asm-mips include/asm
1.237 -+ set +x
1.238 -+ elif [ "$TARGET_ARCH" = "arm" ]; then
1.239 -+ set -x
1.240 -+ ln -fs $KERNEL_SOURCE/include/asm-arm include/asm
1.241 -+ set +x
1.242 -+ if [ ! -L $KERNEL_SOURCE/include/asm-arm/proc ]; then
1.243 -+ if [ ! -L proc ]; then
1.244 -+ (
1.245 -+ cd include/asm
1.246 -+ ln -fs proc-armv proc
1.247 -+ ln -fs arch-ebsa285 arch
1.248 -+ )
1.249 -+ fi
1.250 -+ fi
1.251 -+ elif [ "$TARGET_ARCH" = "cris" ]; then
1.252 -+ set -x
1.253 -+ ln -fs $KERNEL_SOURCE/include/asm-cris include/asm
1.254 -+ set +x
1.255 -+ elif [ "$HAS_MMU" != "y" ]; then
1.256 -+ if [ -d $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu ]; then
1.257 -+ set -x
1.258 -+ ln -fs $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu include/asm
1.259 -+ set +x
1.260 -+ else
1.261 -+ set -x
1.262 -+ ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm
1.263 -+ set +x
1.264 -+ fi
1.265 -+ else
1.266 -+ set -x
1.267 -+ ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm
1.268 -+ set +x
1.269 - fi;
1.270 -- elif [ "$TARGET_ARCH" = "cris" ]; then
1.271 -- set -x;
1.272 -- ln -fs $KERNEL_SOURCE/include/asm-cris include/asm;
1.273 -- set +x;
1.274 -- elif [ "$HAS_MMU" != "y" ]; then
1.275 -- if [ -d $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu ] ; then
1.276 -- set -x;
1.277 -- ln -fs $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu include/asm;
1.278 -- set +x;
1.279 -- else
1.280 -- set -x;
1.281 -- ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm;
1.282 -- set +x;
1.283 -- fi;
1.284 -- else
1.285 -- set -x;
1.286 -- ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm;
1.287 -- set +x;
1.288 -- fi;
1.289 - else
1.290 --# No guessing required.....
1.291 --ln -fs $KERNEL_SOURCE/include/asm include/asm
1.292 --if [ -e $KERNEL_SOURCE/include/asm-$TARGET_ARCH ] ; then
1.293 --ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm-$TARGET_ARCH
1.294 -+ # No guessing required.....
1.295 -+ for x in $KERNEL_SOURCE/include/asm* ; do
1.296 -+ ln -fs ${x} include/
1.297 -+ done
1.298 - fi
1.299 --fi;
1.300 -
1.301 -
1.302 -+#
1.303 - # Annoyingly, 2.6.x kernel headers also need an include/asm-generic/ directory
1.304 --if [ $VERSION -eq 2 ] && [ $PATCHLEVEL -ge 6 ] ; then
1.305 -- ln -fs $KERNEL_SOURCE/include/asm-generic include/asm-generic
1.306 --fi;
1.307 -+#
1.308 -+if [ -e $KERNEL_SOURCE/include/asm-generic ]; then
1.309 -+ rm -f include/asm-generic
1.310 -+ ln -fs $KERNEL_SOURCE/include/asm-generic include/asm-generic
1.311 -+fi
1.312 -
1.313 -
1.314 -+#
1.315 - # Create the include/linux symlink.
1.316 -+#
1.317 - rm -f include/linux
1.318 - ln -fs $KERNEL_SOURCE/include/linux include/linux
1.319 --