Upstream-Status: Inappropriate [embedded specific]

#
# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
#
---

7/30/2010 - rebased to 3.1.5 by Qing He <qing.he@intel.com>
1/22/2012 - rebased to 3.1.9 by Shane Wang <shane.wang@intel.com>

diff -r af2b10cc3c14 Makefile
--- a/Makefile	Sun Jan 22 18:36:34 2012 +0800
+++ b/Makefile	Sun Jan 22 18:38:54 2012 +0800
@@ -37,7 +37,6 @@
 # Commands
 INSTALL=install
 DIRINSTALL=install -d
-STRIP=-s
 CC=$(CROSS_COMPILE)gcc
 AR=$(CROSS_COMPILE)ar
 RANLIB=$(CROSS_COMPILE)ranlib
@@ -86,7 +85,7 @@
 example.o: example.c $(PCIINC)
 
 %: %.o
-	$(CC) $(LDFLAGS) $(TARGET_ARCH) $^ $(LDLIBS) -o $@
+	$(CC) $(LDFLAGS) $(TARGET_ARCH) $^ $(LIB_LDLIBS) -o $@
 
 %.8 %.7: %.man
 	M=`echo $(DATE) | sed 's/-01-/-January-/;s/-02-/-February-/;s/-03-/-March-/;s/-04-/-April-/;s/-05-/-May-/;s/-06-/-June-/;s/-07-/-July-/;s/-08-/-August-/;s/-09-/-September-/;s/-10-/-October-/;s/-11-/-November-/;s/-12-/-December-/;s/\(.*\)-\(.*\)-\(.*\)/\3 \2 \1/'` ; sed <$< >$@ "s/@TODAY@/$$M/;s/@VERSION@/pciutils-$(VERSION)/;s#@IDSDIR@#$(IDSDIR)#"
@@ -101,7 +100,7 @@
 install: all
 # -c is ignored on Linux, but required on FreeBSD
 	$(DIRINSTALL) -m 755 $(DESTDIR)$(SBINDIR) $(DESTDIR)$(IDSDIR) $(DESTDIR)$(MANDIR)/man8 $(DESTDIR)$(MANDIR)/man7
-	$(INSTALL) -c -m 755 $(STRIP) lspci setpci $(DESTDIR)$(SBINDIR)
+	$(INSTALL) -c -m 755 lspci setpci $(DESTDIR)$(SBINDIR)
 	$(INSTALL) -c -m 755 update-pciids $(DESTDIR)$(SBINDIR)
 	$(INSTALL) -c -m 644 $(PCI_IDS) $(DESTDIR)$(IDSDIR)
 	$(INSTALL) -c -m 644 lspci.8 setpci.8 update-pciids.8 $(DESTDIR)$(MANDIR)/man8
diff -r af2b10cc3c14 lib/configure
--- a/lib/configure	Sun Jan 22 18:36:34 2012 +0800
+++ b/lib/configure	Sun Jan 22 18:38:54 2012 +0800
@@ -14,6 +14,10 @@
 	fi
 }
 
+VERSION=$1
+IDSDIR=$2
+DNS=yes
+
 if [ -z "$VERSION" -o -z "$IDSDIR" ] ; then
 	echo >&2 "Please run the configure script from the top-level Makefile"
 	exit 1
@@ -21,8 +25,8 @@
 
 echo_n "Configuring libpci for your system..."
 if [ -z "$HOST" ] ; then
-	sys=`uname -s`
-	rel=`uname -r`
+	sys=${3:-`uname -s`}
+	rel=
 	realsys="$sys"
 	if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ]
 	then
@@ -30,7 +34,7 @@
 		proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1`
 		cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'`
 	else
-		cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/;s/^i86pc$/i386/;s/^BePC$/i386/;s/^BeMac$/powerpc/;s/^BeBox$/powerpc/'`
+		cpu=${4:-`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/;s/^i86pc$/i386/;s/^BePC$/i386/;s/^BeMac$/powerpc/;s/^BeBox$/powerpc/'`}
 	fi
 	if [ "$sys" = "GNU/kFreeBSD" -o "$sys" = "DragonFly" ]
 	then
@@ -40,7 +44,7 @@
 	then
 		sys=cygwin
 	fi
-	HOST=${3:-$cpu-$sys}
+	HOST=$cpu-$sys
 fi
 [ -n "$RELEASE" ] && rel="${RELEASE}"
 # CAVEAT: tr on Solaris is a bit weird and the extra [] is otherwise harmless.
@@ -49,6 +53,21 @@
 sys=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo " $host $rel $cpu $sys"
 
+if [ "$host" = "linux--gnueabi" ]
+then
+	sys=linux
+fi
+
+if [ "$host" = "linux--uclibc" ]
+then
+	sys=linux
+fi
+
+if [ "$host" = "linux--uclibceabi" ]
+then
+	sys=linux
+fi
+
 c=config.h
 m=config.mk
 echo >$c '#define PCI_CONFIG_H'
