patches/uClibc/0.9.28/140-fix_includes.sh.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Sep 04 17:27:16 2009 +0200 (2009-09-04)
changeset 1512 439a6b292917
parent 1 eeea35fbf182
permissions -rw-r--r--
TODO: update

Add TODO list for m4, autoconf, automake and libtool.
Building our own versions would remove burden from the users
who have older versions on their distributions, and are not
ready/able/allowed to upgrade.
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
-