patches/uClibc/0.9.28/005-fix_includes.sh.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
yann@1
     1
--- uClibc-0.9.28/extra/scripts/fix_includes.sh.orig	2006-12-13 05:44:21.000000000 -0700
yann@1
     2
+++ uClibc-0.9.28/extra/scripts/fix_includes.sh	2006-12-13 05:44:35.000000000 -0700
yann@1
     3
@@ -1,183 +1,155 @@
yann@1
     4
 #!/bin/sh
yann@1
     5
-# Copyright (C) 2003 Erik Andersen <andersen@uclibc.org>
yann@1
     6
 #
yann@1
     7
-# This program is free software; you can redistribute it and/or
yann@1
     8
-# modify it under the terms of the GNU Library General Public
yann@1
     9
-# License as published by the Free Software Foundation; either
yann@1
    10
-# version 2 of the License, or (at your option) any later
yann@1
    11
-# version.
yann@1
    12
-#
yann@1
    13
-# This program is distributed in the hope that it will be useful,
yann@1
    14
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
yann@1
    15
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
yann@1
    16
-# GNU Library General Public License for more details.
yann@1
    17
-#
yann@1
    18
-# You should have received a copy of the GNU Library General
yann@1
    19
-# Public License along with this program; if not, write to the
yann@1
    20
-# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
yann@1
    21
-# Boston, MA 02111-1307 USA
yann@1
    22
-
yann@1
    23
-usage () {
yann@1
    24
-    echo ""
yann@1
    25
-    echo "usage: "`basename $0`" -k KERNEL_SOURCE_DIRECTORY -t TARGET_ARCH"
yann@1
    26
-    echo ""
yann@1
    27
-    echo "This utility scans the KERNEL_SOURCE_DIRECTORY directory and"
yann@1
    28
-    echo "checks that it contains well formed kernel headers suitable"
yann@1
    29
-    echo "for inclusion as the include/linux/ directory provided by"
yann@1
    30
-    echo "uClibc."
yann@1
    31
-    echo ""
yann@1
    32
-    echo "If the specified kernel headers are present and already"
yann@1
    33
-    echo "configured for the architecture specified by TARGET_ARCH,"
yann@1
    34
-    echo "they will be used as-is."
yann@1
    35
-    echo ""
yann@1
    36
-    echo "If the specified kernel headers are missing entirely, this"
yann@1
    37
-    echo "script will return an error."
yann@1
    38
-    echo ""
yann@1
    39
-    echo "If the specified kernel headers are present, but are either"
yann@1
    40
-    echo "not yet configured or are configured for an architecture"
yann@1
    41
-    echo "different than that specified by TARGET_ARCH, this script"
yann@1
    42
-    echo "will attempt to 'fix' the kernel headers and make them"
yann@1
    43
-    echo "suitable for use by uClibc.  This fixing process may fail."
yann@1
    44
-    echo "It is therefore best to always provide kernel headers that"
yann@1
    45
-    echo "are already configured for the selected architecture."
yann@1
    46
-    echo ""
yann@1
    47
-    echo "Most Linux distributions provide 'kernel-headers' packages"
yann@1
    48
-    echo "that are suitable for use by uClibc."
yann@1
    49
-    echo ""
yann@1
    50
-    echo ""
yann@1
    51
-    exit 1;
yann@1
    52
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
yann@1
    53
+#
yann@1
    54
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
yann@1
    55
+#
yann@1
    56
+
yann@1
    57
+usage() {
yann@1
    58
+	echo ""
yann@1
    59
+	echo "usage: "`basename $0`" -k KERNEL_SOURCE_DIRECTORY -t TARGET_ARCH"
yann@1
    60
+	echo ""
yann@1
    61
+	echo "This utility scans the KERNEL_SOURCE_DIRECTORY directory and"
yann@1
    62
+	echo "checks that it contains well formed kernel headers suitable"
yann@1
    63
+	echo "for inclusion as the include/linux/ directory provided by"
yann@1
    64
+	echo "uClibc."
yann@1
    65
+	echo ""
yann@1
    66
+	echo "If the specified kernel headers are present and already"
yann@1
    67
+	echo "configured for the architecture specified by TARGET_ARCH,"
yann@1
    68
+	echo "they will be used as-is."
yann@1
    69
+	echo ""
yann@1
    70
+	echo "If the specified kernel headers are missing entirely, this"
yann@1
    71
+	echo "script will return an error."
yann@1
    72
+	echo ""
yann@1
    73
+	echo "If the specified kernel headers are present, but are either"
yann@1
    74
+	echo "not yet configured or are configured for an architecture"
yann@1
    75
+	echo "different than that specified by TARGET_ARCH, this script"
yann@1
    76
+	echo "will attempt to 'fix' the kernel headers and make them"
yann@1
    77
+	echo "suitable for use by uClibc.  This fixing process may fail."
yann@1
    78
+	echo "It is therefore best to always provide kernel headers that"
yann@1
    79
+	echo "are already configured for the selected architecture."
yann@1
    80
+	echo ""
yann@1
    81
+	echo "Most Linux distributions provide 'kernel-headers' packages"
yann@1
    82
+	echo "that are suitable for use by uClibc."
yann@1
    83
+	echo ""
yann@1
    84
+	echo ""
yann@1
    85
+	exit 1
yann@1
    86
 }
yann@1
    87
 
yann@1
    88
-HAS_MMU="y";
yann@1
    89
+
yann@1
    90
+#
yann@1
    91
+# Parse our arguments
yann@1
    92
+#
yann@1
    93
+HAS_MMU="y"
yann@1
    94
 while [ -n "$1" ]; do
yann@1
    95
-    case $1 in
yann@1
    96
-	-k ) shift; if [ -n "$1" ]; then KERNEL_SOURCE=$1; shift; else usage; fi; ;;
yann@1
    97
-	-t ) shift; if [ -n "$1" ]; then TARGET_ARCH=$1; shift; else usage; fi; ;;
yann@1
    98
-	-n ) shift; HAS_MMU="n"; ;;
yann@1
    99
-	-* ) usage; ;;
yann@1
   100
-	* ) usage; ;;
yann@1
   101
-    esac;
yann@1
   102
-done;
yann@1
   103
+	case $1 in
yann@1
   104
+		-k ) shift; if [ -n "$1" ]; then KERNEL_SOURCE=$1; shift; else usage; fi; ;;
yann@1
   105
+		-t ) shift; if [ -n "$1" ]; then TARGET_ARCH=$1; shift; else usage; fi; ;;
yann@1
   106
+		-n ) shift; HAS_MMU="n"; ;;
yann@1
   107
+		-* ) usage; ;;
yann@1
   108
+		* ) usage; ;;
yann@1
   109
+	esac
yann@1
   110
+done
yann@1
   111
 
yann@1
   112
-if [ ! -f "$KERNEL_SOURCE/Makefile" -a ! -f "$KERNEL_SOURCE/include/linux/version.h" ]; then
yann@1
   113
-    echo "";
yann@1
   114
-    echo "";
yann@1
   115
-    echo "The file $KERNEL_SOURCE/Makefile or $KERNEL_SOURCE/include/linux/version.h is missing!";
yann@1
   116
-    echo "Perhaps your kernel source is broken?"
yann@1
   117
-    echo "";
yann@1
   118
-    echo "";
yann@1
   119
-    exit 1;
yann@1
   120
-fi;
yann@1
   121
 
yann@1
   122
-if [ ! -d "$KERNEL_SOURCE" ]; then
yann@1
   123
-    echo "";
yann@1
   124
-    echo "";
yann@1
   125
-    echo "$KERNEL_SOURCE is not a directory";
yann@1
   126
-    echo "";
yann@1
   127
-    echo "";
yann@1
   128
-    exit 1;
yann@1
   129
-fi;
yann@1
   130
-
yann@1
   131
-if [ -f "$KERNEL_SOURCE/Makefile" ] ; then
yann@1
   132
-# set current VERSION, PATCHLEVEL, SUBLEVEL, EXTRAVERSION
yann@1
   133
-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`
yann@1
   134
-else
yann@1
   135
-ver=`grep UTS_RELEASE $KERNEL_SOURCE/include/linux/version.h | cut -d '"' -f 2`
yann@1
   136
-VERSION=`echo "$ver" | cut -d '.' -f 1`
yann@1
   137
-PATCHLEVEL=`echo "$ver" | cut -d '.' -f 2`
yann@1
   138
-if echo "$ver" | grep -q '-' ; then
yann@1
   139
-SUBLEVEL=`echo "$ver" | sed "s/${VERSION}.${PATCHLEVEL}.//" | cut -d '-' -f 1`
yann@1
   140
-EXTRAVERSION=`echo "$ver" | sed "s/${VERSION}.${PATCHLEVEL}.${SUBLEVEL}-//"`
yann@1
   141
-else
yann@1
   142
-SUBLEVEL=`echo "$ver" | cut -d '.' -f 3`
yann@1
   143
-#EXTRAVERSION=
yann@1
   144
-fi
yann@1
   145
+#
yann@1
   146
+# Perform some sanity checks on our kernel sources
yann@1
   147
+#
yann@1
   148
+if [ ! -f "$KERNEL_SOURCE/Makefile" -a ! -f "$KERNEL_SOURCE/include/linux/version.h" ]; then
yann@1
   149
+	echo ""
yann@1
   150
+	echo ""
yann@1
   151
+	echo "The file $KERNEL_SOURCE/Makefile or $KERNEL_SOURCE/include/linux/version.h is missing!"
yann@1
   152
+	echo "Perhaps your kernel source is broken?"
yann@1
   153
+	echo ""
yann@1
   154
+	echo ""
yann@1
   155
+	exit 1
yann@1
   156
 fi
yann@1
   157
-if [ -z "$VERSION" -o -z "$PATCHLEVEL" -o -z "$SUBLEVEL" ]
yann@1
   158
-then
yann@1
   159
-    echo "Unable to determine version for kernel headers"
yann@1
   160
-    echo -e "\tprovided in directory $KERNEL_SOURCE"
yann@1
   161
-    exit 1
yann@1
   162
+if [ ! -d "$KERNEL_SOURCE" ]; then
yann@1
   163
+	echo ""
yann@1
   164
+	echo ""
yann@1
   165
+	echo "$KERNEL_SOURCE is not a directory"
yann@1
   166
+	echo ""
yann@1
   167
+	echo ""
yann@1
   168
+	exit 1
yann@1
   169
 fi
yann@1
   170
 
yann@1
   171
-if [ "$MAKE_IS_SILENT" != "y" ]; then
yann@1
   172
-echo "Current kernel version is $VERSION.$PATCHLEVEL.$SUBLEVEL${EXTRAVERSION}"
yann@1
   173
-echo -e "\n"
yann@1
   174
-echo "Using kernel headers from $VERSION.$PATCHLEVEL.$SUBLEVEL${EXTRAVERSION} for architecture '$TARGET_ARCH'"
yann@1
   175
-echo -e "\tprovided in directory $KERNEL_SOURCE"
yann@1
   176
-echo -e "\n"
yann@1
   177
-fi
yann@1
   178
 
yann@1
   179
+#
yann@1
   180
 # Create a symlink to include/asm
yann@1
   181
-
yann@1
   182
+#
yann@1
   183
 rm -f include/asm*
yann@1
   184
 if [ ! -d "$KERNEL_SOURCE/include/asm" ]; then
yann@1
   185
-    echo "";
yann@1
   186
-    echo "";
yann@1
   187
-    echo "The symlink $KERNEL_SOURCE/include/asm is missing\!";
yann@1
   188
-    echo "Perhaps you forgot to configure your kernel source?";
yann@1
   189
-    echo "You really should configure your kernel source tree so I";
yann@1
   190
-    echo "do not have to try and guess about this sort of thing.";
yann@1
   191
-    echo ""
yann@1
   192
-    echo "Attempting to guess a usable value....";
yann@1
   193
-    echo ""
yann@1
   194
-    echo "";
yann@1
   195
-    sleep 1;
yann@1
   196
-
yann@1
   197
-    if [ "$TARGET_ARCH" = "powerpc" ];then
yann@1
   198
-	set -x;
yann@1
   199
-	ln -fs $KERNEL_SOURCE/include/asm-ppc include/asm;
yann@1
   200
-	set +x;
yann@1
   201
-    elif [ "$TARGET_ARCH" = "mips" ];then
yann@1
   202
-	set -x;
yann@1
   203
-	ln -fs $KERNEL_SOURCE/include/asm-mips include/asm;
yann@1
   204
-	set +x;
yann@1
   205
-    elif [ "$TARGET_ARCH" = "arm" ];then
yann@1
   206
-	set -x;
yann@1
   207
-	ln -fs $KERNEL_SOURCE/include/asm-arm include/asm;
yann@1
   208
-	set +x;
yann@1
   209
-	if [ ! -L $KERNEL_SOURCE/include/asm-arm/proc ] ; then
yann@1
   210
-	    if [ ! -L proc ] ; then
yann@1
   211
-		(cd include/asm;
yann@1
   212
-		ln -fs proc-armv proc;
yann@1
   213
-		ln -fs arch-ebsa285 arch);
yann@1
   214
-	    fi
yann@1
   215
+	echo ""
yann@1
   216
+	echo ""
yann@1
   217
+	echo "The symlink $KERNEL_SOURCE/include/asm is missing\!"
yann@1
   218
+	echo "Perhaps you forgot to configure your kernel source?"
yann@1
   219
+	echo "You really should configure your kernel source tree so I"
yann@1
   220
+	echo "do not have to try and guess about this sort of thing."
yann@1
   221
+	echo ""
yann@1
   222
+	echo "Attempting to guess a usable value...."
yann@1
   223
+	echo ""
yann@1
   224
+	echo ""
yann@1
   225
+	sleep 1
yann@1
   226
+
yann@1
   227
+	if [ "$TARGET_ARCH" = "powerpc" ]; then
yann@1
   228
+		set -x
yann@1
   229
+		ln -fs $KERNEL_SOURCE/include/asm-ppc include/asm
yann@1
   230
+		set +x
yann@1
   231
+	elif [ "$TARGET_ARCH" = "mips" ]; then
yann@1
   232
+		set -x
yann@1
   233
+		ln -fs $KERNEL_SOURCE/include/asm-mips include/asm
yann@1
   234
+		set +x
yann@1
   235
+	elif [ "$TARGET_ARCH" = "arm" ]; then
yann@1
   236
+		set -x
yann@1
   237
+		ln -fs $KERNEL_SOURCE/include/asm-arm include/asm
yann@1
   238
+		set +x
yann@1
   239
+	if [ ! -L $KERNEL_SOURCE/include/asm-arm/proc ]; then
yann@1
   240
+		if [ ! -L proc ]; then
yann@1
   241
+			(
yann@1
   242
+				cd include/asm
yann@1
   243
+				ln -fs proc-armv proc
yann@1
   244
+				ln -fs arch-ebsa285 arch
yann@1
   245
+			)
yann@1
   246
+		fi
yann@1
   247
+	fi
yann@1
   248
+	elif [ "$TARGET_ARCH" = "cris" ]; then
yann@1
   249
+		set -x
yann@1
   250
+		ln -fs $KERNEL_SOURCE/include/asm-cris include/asm
yann@1
   251
+		set +x
yann@1
   252
+	elif [ "$HAS_MMU" != "y" ]; then
yann@1
   253
+		if [ -d $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu ]; then
yann@1
   254
+			set -x
yann@1
   255
+			ln -fs $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu include/asm
yann@1
   256
+			set +x
yann@1
   257
+		else
yann@1
   258
+			set -x
yann@1
   259
+			ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm
yann@1
   260
+			set +x
yann@1
   261
+		fi
yann@1
   262
+	else
yann@1
   263
+		set -x
yann@1
   264
+		ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm
yann@1
   265
+		set +x
yann@1
   266
 	fi;
yann@1
   267
-    elif [ "$TARGET_ARCH" = "cris" ]; then
yann@1
   268
-	set -x;
yann@1
   269
-	ln -fs $KERNEL_SOURCE/include/asm-cris include/asm;
yann@1
   270
-	set +x;
yann@1
   271
-    elif [ "$HAS_MMU" != "y" ]; then
yann@1
   272
-	    if [ -d $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu ] ; then
yann@1
   273
-		set -x;
yann@1
   274
-		ln -fs $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu include/asm;
yann@1
   275
-		set +x;
yann@1
   276
-	    else
yann@1
   277
-		set -x;
yann@1
   278
-		ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm;
yann@1
   279
-		set +x;
yann@1
   280
-	    fi;
yann@1
   281
-    else
yann@1
   282
-	set -x;
yann@1
   283
-	ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm;
yann@1
   284
-	set +x;
yann@1
   285
-    fi;
yann@1
   286
 else
yann@1
   287
-# No guessing required.....
yann@1
   288
-ln -fs $KERNEL_SOURCE/include/asm include/asm
yann@1
   289
-if [ -e $KERNEL_SOURCE/include/asm-$TARGET_ARCH ] ; then
yann@1
   290
-ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm-$TARGET_ARCH
yann@1
   291
+	# No guessing required.....
yann@1
   292
+	for x in $KERNEL_SOURCE/include/asm* ; do
yann@1
   293
+		ln -fs ${x} include/
yann@1
   294
+	done
yann@1
   295
 fi
yann@1
   296
-fi;
yann@1
   297
 
yann@1
   298
 
yann@1
   299
+#
yann@1
   300
 # Annoyingly, 2.6.x kernel headers also need an include/asm-generic/ directory
yann@1
   301
-if [ $VERSION -eq 2 ] && [ $PATCHLEVEL -ge 6 ] ; then
yann@1
   302
-    ln -fs $KERNEL_SOURCE/include/asm-generic include/asm-generic
yann@1
   303
-fi;
yann@1
   304
+#
yann@1
   305
+if [ -e $KERNEL_SOURCE/include/asm-generic ]; then
yann@1
   306
+	rm -f include/asm-generic
yann@1
   307
+	ln -fs $KERNEL_SOURCE/include/asm-generic include/asm-generic
yann@1
   308
+fi
yann@1
   309
 
yann@1
   310
 
yann@1
   311
+#
yann@1
   312
 # Create the include/linux symlink.
yann@1
   313
+#
yann@1
   314
 rm -f include/linux
yann@1
   315
 ln -fs $KERNEL_SOURCE/include/linux include/linux
yann@1
   316
-