From 7472da5ca328fac9435e227d1e24cdeb4b47e508 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Thu, 20 Jun 2013 12:40:41 -0400 Subject: 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 --- (limited to 'patches') 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" +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; } -- cgit v0.9.1