Control: tags -1 patch

This patch might fix all these bugs and require less maintainance
as new architectures are added. Please review and test.

If you're on alpha, ia64, mips or mipsel you could also try without
the extra rule in debian/rules (lines 28-42).

Makedefs.in: SHELL=/bin/bash, required for libtool.
configure.in: Improved test for stack direction, outwits compiler.
debian/control: Add to Build-Depends: dh-autoreconf, bash.
debian/rules: Run dh_autoreconf.
src/repint.h: Make inline_Fcons static instead of extern.
diff -ru librep-0.90.2.orig/Makedefs.in librep-0.90.2/Makedefs.in
--- librep-0.90.2.orig/Makedefs.in
+++ librep-0.90.2/Makedefs.in
@@ -20,7 +20,7 @@
 
 version=@version@
 libversion=@libversion@
-SHELL=/bin/sh
+SHELL=/bin/bash
 
 top_srcdir=@top_srcdir@
 srcdir=@srcdir@
diff -ru librep-0.90.2.orig/configure.in librep-0.90.2/configure.in
--- librep-0.90.2.orig/configure.in
+++ librep-0.90.2/configure.in
@@ -549,8 +549,14 @@
   esac
 fi
 if test "${with_stack_direction}" = unknown; then
-  AC_TRY_RUN([ void inner (char *foo) { char bar; exit (!(foo >= &bar)); }
-	       void main () { char foo; inner (&foo); } ],
+  AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+int inner(int *a) { int b; char sa[50], sb[50];
+  sprintf(sa, "%049llu", (unsigned long long)a);
+  sprintf(sb, "%049llu", (unsigned long long)&b);
+  return strcmp(sa, sb); }
+int main() { int x; return inner(&x) < 0; } ],
    [AC_MSG_RESULT([downwards])
     with_stack_direction=-1],
    [AC_MSG_RESULT([upwards])
diff -ru librep-0.90.2.orig/debian/control librep-0.90.2/debian/control
--- librep-0.90.2.orig/debian/control
+++ librep-0.90.2/debian/control
@@ -5,7 +5,7 @@
 Standards-Version: 3.8.3
 Build-Depends: texinfo (>= 4.11-2), debhelper (>= 7), libgmp-dev,
  libgdbm-dev, libreadline-dev, libncurses5-dev, libtool,
- dpatch, autotools-dev, pkg-config, libffi-dev
+ dpatch, autotools-dev, pkg-config, libffi-dev, dh-autoreconf, bash
 Homepage: http://librep.sourceforge.net/
 Vcs-Browser: http://git.debian.org/?p=collab-maint/librep.git
 Vcs-Git: git://git.debian.org/git/collab-maint/librep.git
diff -ru librep-0.90.2.orig/debian/rules librep-0.90.2/debian/rules
--- librep-0.90.2.orig/debian/rules
+++ librep-0.90.2/debian/rules
@@ -48,6 +48,7 @@
 	cp /usr/share/misc/config.guess .
 	cp /usr/share/misc/config.sub .
 
+	dh_autoreconf
 	CONFIG_SHELL=/bin/bash /bin/bash ./configure \
 	--prefix=/usr --libexecdir=/usr/lib --mandir=/usr/share/man \
 	--build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
@@ -75,6 +76,7 @@
 
 	debian/rules unpatch
 
+	dh_autoreconf_clean
 	dh_clean debian/librep-dev.install debian/${version}.install \
 	 src/rep-xgettext config.sub config.guess
 
diff -ru librep-0.90.2.orig/src/repint.h librep-0.90.2/src/repint.h
--- librep-0.90.2.orig/src/repint.h
+++ librep-0.90.2/src/repint.h
@@ -232,8 +232,8 @@
    call when the heap needs to grow. */
 
 #if defined __GNUC__ && defined __OPTIMIZE__
-extern __inline__ repv inline_Fcons (repv x, repv y);
-extern __inline__ repv
+static __inline__ repv inline_Fcons (repv x, repv y);
+static __inline__ repv
 inline_Fcons (repv x, repv y)
 {
     rep_cons *c = rep_cons_freelist;

Reply via email to