summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--patches/02_fix-preconfigure-on-busybox-ash.patch23
1 files changed, 20 insertions, 3 deletions
diff --git a/patches/02_fix-preconfigure-on-busybox-ash.patch b/patches/02_fix-preconfigure-on-busybox-ash.patch
index 7bc8edc..16ef4e4 100644
--- a/patches/02_fix-preconfigure-on-busybox-ash.patch
+++ b/patches/02_fix-preconfigure-on-busybox-ash.patch
@@ -31,12 +31,17 @@ Description: Fix sysdeps preconfigure fragments on BusyBox ash
The fragment needs to find confdefs.h, so we also link or copy this file into
the new directory.
.
+ But AS_LINENO_PREPARE causes the fragment to exit after reloading itself (to
+ prevent the whole script from running twice). So we change "exit" to "return"
+ in AS_LINENO_PREPARE in the fragment to tell the shell to stop executing the
+ loaded script.
+ .
In summary, this patch temporarily changes $as_myself to refer to the
fragments, enters a new directory in the build area (since the preconfigure
fragment will write a modified copy of itself to configure.lineno in its
- current working directory), and makes a copy of confdefs.h in the new
- directory. All this allows the fragments to be properly preprocessed and
- breaking the loop.
+ current working directory), makes a copy of confdefs.h in the new directory,
+ and prevents fragments from killing the entire configure script. All this
+ allows the fragments to be properly preprocessed and the loop to be broken.
diff -Naur src.orig/libc/aclocal.m4 src/libc/aclocal.m4
--- src.orig/libc/aclocal.m4 2012-12-02 16:11:45.000000000 -0500
@@ -80,3 +85,15 @@ diff -Naur src.orig/libc/configure src/libc/configure
done
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
$as_echo "" >&6; }
+diff -Naur src.orig/libc/sysdeps/x86_64/preconfigure src/libc/sysdeps/x86_64/preconfigure
+--- src.orig/libc/sysdeps/x86_64/preconfigure 2012-04-21 13:19:39.000000000 -0400
++++ src/libc/sysdeps/x86_64/preconfigure 2013-06-20 17:23:38.340955965 -0400
+@@ -77,7 +77,7 @@
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+- exit
++ return
+ }
+
+