diff options
author | P. J. McDermott <pjm@nac.net> | 2013-06-20 12:40:41 (EDT) |
---|---|---|
committer | P. J. McDermott <pjm@nac.net> | 2013-06-20 12:40:41 (EDT) |
commit | 7472da5ca328fac9435e227d1e24cdeb4b47e508 (patch) | |
tree | a04f0ed4b7c9c18e62fd282e484f5d172cd2537f | |
parent | a8f7152d2fc43f02b891e9a2fb5117f2593f7192 (diff) |
Add patch to fix libc sysdeps preconfigure on ash.
AS_LINENO_PREPARE was causing an infinitely recursive configure loop.
Before:
configure: loading cache config.cache
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... cpp
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for readelf... readelf
checking for sysdeps preconfigure fragments... x86_64 configure: WARNING: you should use --build, --host, --target
configure: WARNING: you should use --build, --host, --target
checking build system type... (cached) x86_64-unknown-linux-gnu
checking host system type... (cached) x86_64-unknown-linux-gnu
checking for dummy-gcc... gcc
checking for suffix of object files... (cached) o
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking how to run the C preprocessor... cpp
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking for dummy-readelf... readelf
checking for sysdeps preconfigure fragments... x86_64 configure: WARNING: you should use --build, --host, --target
configure: WARNING: you should use --build, --host, --target
[...]
After:
configure: loading cache config.cache
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... cpp
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for readelf... readelf
checking for sysdeps preconfigure fragments... x86_64 checking whether gcc compiles in -mx32 mode by default... no
-rw-r--r-- | patches/02_fix-preconfigure-on-busybox-ash.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/patches/02_fix-preconfigure-on-busybox-ash.patch b/patches/02_fix-preconfigure-on-busybox-ash.patch new file mode 100644 index 0000000..9c2aacd --- /dev/null +++ b/patches/02_fix-preconfigure-on-busybox-ash.patch @@ -0,0 +1,51 @@ +From: "P. J. McDermott" <pjm@nac.net> +Description: Fix sysdeps preconfigure fragments on BusyBox ash + On shells that don't support the LINENO parameter (e.g. BusyBox ash), the + AS_LINENO_PREPARE macro (executed by AC_INIT) preprocesses the script + $as_myself into $as_me.lineno. + . + Unfortunately, when loading sysdeps preconfigure fragements, these as_* + parameters refer to the configure script rather than the fragments. + . + As a result, the configure script is executed by a preconfigure fragment in an + infinitely recursive loop. + . + This patch temporarily changes the parameters to refer to the fragments, + allowing the fragments to be properly preprocessed and breaking the loop. + +diff -Naur src.orig/libc/aclocal.m4 src/libc/aclocal.m4 +--- src.orig/libc/aclocal.m4 2012-12-02 16:11:45.000000000 -0500 ++++ src/libc/aclocal.m4 2013-06-20 12:19:51.818414209 -0400 +@@ -161,7 +161,14 @@ + for frag in $frags; do + name=`echo "$frag" | sed 's@/[[^/]]*[$]@@;s@^.*/@@'` + echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD ++ orig_as_me=$as_me ++ orig_as_myself=$as_myself ++ as_me=${frag##*/sysdeps/} ++ as_me=${as_me%/preconfigure}-preconfigure ++ as_myself=$frag + . "$frag" ++ as_me=$orig_as_me ++ as_myself=$orig_as_myself + done + AC_MSG_RESULT() + fi]) +diff -Naur src.orig/libc/configure src/libc/configure +--- src.orig/libc/configure 2012-12-02 16:11:45.000000000 -0500 ++++ src/libc/configure 2013-06-20 12:24:26.226678382 -0400 +@@ -4000,7 +4000,14 @@ + for frag in $frags; do + name=`echo "$frag" | sed 's@/[^/]*$@@;s@^.*/@@'` + echo $ECHO_N "$name $ECHO_C" >&6 ++ orig_as_me=$as_me ++ orig_as_myself=$as_myself ++ as_me=${frag##*/sysdeps/} ++ as_me=${as_me%/preconfigure}-preconfigure ++ as_myself=$frag + . "$frag" ++ as_me=$orig_as_me ++ as_myself=$orig_as_myself + done + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 + $as_echo "" >&6; } |