This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Build machinery


Ok, given the profound lack of enthusiasm for this patch, I've reworked
it a bit.  I installed autoconf-2.63 and automake-1.11, so that I'm
using the same versions that Jeff did last November.  However, with the
December update of the top-level libtool files, I still find that I need
a few changes.

However, these are limited to the configure.in files, and I avoid any
modifications to acinclude.m4 or config.hin.

Also, given some rumblings on the gcc list about fixing the
"config.cache" problem at the toplevel src/ directory, I've removed any
changes related to that issue.
I still SEE the problem, but it's nothing a complete
   rm -rf ${builddir}
and reconfigure / rebuild cycle can't fix. Sigh.  Anyway, if the
upcoming top-level src/ changes don't "fix" the problem, I'll repost the
omitted bits separately.

Charles Wilson wrote:
> 1) libtool issues
> ==============================
> Most significantly: The new libtool.m4 in newlib/../ IS used by all of
> the newlib directories once you re-autotool, and causes breakage inside
> newlib when configuring --without-libtool. Even when --without-libtool,
> many of the libtool-related substitutions get put into config.status --
> but those substitutions use $ECHO, which is not actually set in this
> scenario, so they don't get evaluated properly, and config.status is borked.
> 
> ...
> SED='`$ECHO $SED | $SED ....`'
> 
> so, when you actually execute ./config.status, this becomes:
> SED='`/usr/bin/sed | /usr/bin/sed ...`'
> 
> which is an error.
> 
> The fix is, for every configure.in that includes AM_PROG_LIBTOOL (even
> though AM_PROG_LIBTOOL is 'guarded' by if ${with_libtool}), add
> _LT_PROG_ECHO_BACKSLASH *outside* the 'if' statement, just like we did
> earlier for _LT_DECL_SED.


Omitted from this version:
> 2) cross-compile support breaking native, with new autoconf
> ===========================================================


Once again, I've split the patch into two pieces: the configure.in
changes, and the autogenerated ones.  The autogenerated changes were
created by autoconf-2.63 and automake-1.11.

I still think newlib should update to the gcc versions, but I don't want
to make that optional element be a blocker for this necessary patch.

--
Chuck


2010-02-18  Charles Wilson  <...>

        Work around issues with new libtool files in ..
	* configure.in: Unconditionally call _LT_PROG_ECHO_BACKSLASH.
	* iconvdata/configure.in: Ditto.
	* libc/configure.in: Ditto.
	* libc/machine/configure.in: Ditto.
	* libc/machine/i386/configure.in: Ditto.
	* libc/sys/configure.in: Ditto.
	* libc/sys/linux/configure.in: Ditto.
	* libc/sys/linux/linuxthreads/configure.in: Ditto.
	* libc/sys/linux/linuxthreads/machine/configure.in: Ditto.
	* libc/sys/linux/linuxthreads/machine/i386/configure.in: Ditto.
	* libc/sys/linux/machine/configure.in: Ditto.
	* libc/sys/linux/machine/i386/configure.in: Ditto.
	* libm/configure.in: Ditto.
	* libm/machine/configure.in: Ditto.
	* libm/machine/i386/configure.in: Ditto.
	* libc/machine/sh/configure.in: Ditto.  Also, call
	AC_NO_EXECUTABLES before NEWLIB_CONFIGURE.

(compressed so that the mailing list won't choke)
2010-02-18  Charles Wilson  <...>

        Regenerate using ac-2.63 and am-1.11
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* iconvdata/configure: Regenerate.
	* libc/Makefile.in: Regenerate.
	* libc/argz/Makefile.in: Regenerate.
	* libc/configure: Regenerate.
	* libc/ctype/Makefile.in: Regenerate.
	* libc/errno/Makefile.in: Regenerate.
	* libc/iconv/Makefile.in: Regenerate.
	* libc/iconv/ccs/Makefile.in: Regenerate.
	* libc/iconv/ccs/binary/Makefile.in: Regenerate.
	* libc/iconv/ces/Makefile.in: Regenerate.
	* libc/iconv/lib/Makefile.in: Regenerate.
	* libc/locale/Makefile.in: Regenerate.
	* libc/machine/Makefile.in: Regenerate.
	* libc/machine/configure: Regenerate.
	* libc/machine/i386/Makefile.in: Regenerate.
	* libc/machine/i386/configure: Regenerate.
	* libc/machine/sh/configure: Regenerate.
	* libc/misc/Makefile.in: Regenerate.
	* libc/posix/Makefile.in: Regenerate.
	* libc/reent/Makefile.in: Regenerate.
	* libc/search/Makefile.in: Regenerate.
	* libc/signal/Makefile.in: Regenerate.
	* libc/stdio/Makefile.in: Regenerate.
	* libc/stdio64/Makefile.in: Regenerate.
	* libc/stdlib/Makefile.in: Regenerate.
	* libc/string/Makefile.in: Regenerate.
	* libc/sys/Makefile.in: Regenerate.
	* libc/sys/configure: Regenerate.
	* libc/sys/linux/configure: Regenerate.
	* libc/sys/linux/linuxthreads/configure: Regenerate.
	* libc/sys/linux/linuxthreads/machine/configure: Regenerate.
	* libc/sys/linux/linuxthreads/machine/i386/configure:
	Regenerate.
	* libc/sys/linux/machine/configure: Regenerate.
	* libc/sys/linux/machine/i386/configure: Regenerate.
	* libc/syscalls/Makefile.in: Regenerate.
	* libc/time/Makefile.in: Regenerate.
	* libc/unix/Makefile.in: Regenerate.
	* libm/Makefile.in: Regenerate.
	* libm/common/Makefile.in: Regenerate.
	* libm/configure: Regenerate.
	* libm/machine/Makefile.in: Regenerate.
	* libm/machine/configure: Regenerate.
	* libm/machine/i386/Makefile.in: Regenerate.
	* libm/machine/i386/configure: Regenerate.
	* libm/math/Makefile.in: Regenerate.
	* libm/mathfp/Makefile.in: Regenerate.
Index: configure.in
===================================================================
RCS file: /cvs/src/src/newlib/configure.in,v
retrieving revision 1.43
diff -u -p -r1.43 configure.in
--- configure.in	20 Oct 2009 22:43:46 -0000	1.43
+++ configure.in	12 Feb 2010 21:03:17 -0000
@@ -121,6 +121,7 @@ dnl We have to enable libtool after NEWL
 dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
 dnl line of the macro which fail because appropriate LDFLAGS are not set.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 AC_PROG_AWK
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
Index: iconvdata/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/iconvdata/configure.in,v
retrieving revision 1.3
diff -u -p -r1.3 configure.in
--- iconvdata/configure.in	24 May 2007 17:33:30 -0000	1.3
+++ iconvdata/configure.in	12 Feb 2010 21:03:22 -0000
@@ -14,6 +14,7 @@ dnl We have to enable libtool after NEWL
 dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
 dnl line of the macro which fail because appropriate LDFLAGS are not set.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
Index: libc/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/configure.in,v
retrieving revision 1.17
diff -u -p -r1.17 configure.in
--- libc/configure.in	17 Apr 2009 20:50:44 -0000	1.17
+++ libc/configure.in	12 Feb 2010 21:03:24 -0000
@@ -23,6 +23,7 @@ dnl We have to enable libtool after NEWL
 dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
 dnl line of the macro which fail because appropriate LDFLAGS are not set.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
Index: libc/machine/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/configure.in,v
retrieving revision 1.14
diff -u -p -r1.14 configure.in
--- libc/machine/configure.in	10 Dec 2009 17:12:11 -0000	1.14
+++ libc/machine/configure.in	12 Feb 2010 21:03:26 -0000
@@ -15,6 +15,7 @@ dnl references to libtool libraries from
 dnl AM_PROG_LIBTOOL is being used.  This must be added after
 dnl the call to NEWLIB_CONFIGURE.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
Index: libc/machine/i386/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/i386/configure.in,v
retrieving revision 1.4
diff -u -p -r1.4 configure.in
--- libc/machine/i386/configure.in	24 May 2007 17:33:34 -0000	1.4
+++ libc/machine/i386/configure.in	12 Feb 2010 21:03:29 -0000
@@ -15,6 +15,7 @@ dnl references to libtool libraries from
 dnl AM_PROG_LIBTOOL is being used.  This code must occur after
 dnl NEWLIB_CONFIGURE. 
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
Index: libc/sys/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/sys/configure.in,v
retrieving revision 1.8
diff -u -p -r1.8 configure.in
--- libc/sys/configure.in	24 May 2007 17:33:37 -0000	1.8
+++ libc/sys/configure.in	12 Feb 2010 21:03:31 -0000
@@ -14,6 +14,7 @@ dnl We have to enable libtool after NEWL
 dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
 dnl line of the macro which fail because appropriate LDFLAGS are not set.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
Index: libc/sys/linux/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/sys/linux/configure.in,v
retrieving revision 1.13
diff -u -p -r1.13 configure.in
--- libc/sys/linux/configure.in	31 Oct 2008 21:03:41 -0000	1.13
+++ libc/sys/linux/configure.in	12 Feb 2010 21:03:34 -0000
@@ -14,6 +14,7 @@ dnl We have to enable libtool after NEWL
 dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
 dnl line of the macro which fail because appropriate LDFLAGS are not set.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 AC_PROG_AWK
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
Index: libc/sys/linux/linuxthreads/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/sys/linux/linuxthreads/configure.in,v
retrieving revision 1.3
diff -u -p -r1.3 configure.in
--- libc/sys/linux/linuxthreads/configure.in	24 May 2007 17:33:38 -0000	1.3
+++ libc/sys/linux/linuxthreads/configure.in	12 Feb 2010 21:03:36 -0000
@@ -14,6 +14,7 @@ dnl We have to enable libtool after NEWL
 dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
 dnl line of the macro which fail because appropriate LDFLAGS are not set.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 AC_PROG_AWK
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
Index: libc/sys/linux/linuxthreads/machine/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/sys/linux/linuxthreads/machine/configure.in,v
retrieving revision 1.4
diff -u -p -r1.4 configure.in
--- libc/sys/linux/linuxthreads/machine/configure.in	24 May 2007 17:33:39 -0000	1.4
+++ libc/sys/linux/linuxthreads/machine/configure.in	12 Feb 2010 21:03:40 -0000
@@ -14,6 +14,7 @@ dnl We have to enable libtool after NEWL
 dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
 dnl line of the macro which fail because appropriate LDFLAGS are not set.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
Index: libc/sys/linux/linuxthreads/machine/i386/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/sys/linux/linuxthreads/machine/i386/configure.in,v
retrieving revision 1.3
diff -u -p -r1.3 configure.in
--- libc/sys/linux/linuxthreads/machine/i386/configure.in	24 May 2007 17:33:39 -0000	1.3
+++ libc/sys/linux/linuxthreads/machine/i386/configure.in	12 Feb 2010 21:03:44 -0000
@@ -14,6 +14,7 @@ dnl We have to enable libtool after NEWL
 dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
 dnl line of the macro which fail because appropriate LDFLAGS are not set.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 AC_PROG_AWK
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
Index: libc/sys/linux/machine/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/sys/linux/machine/configure.in,v
retrieving revision 1.4
diff -u -p -r1.4 configure.in
--- libc/sys/linux/machine/configure.in	24 May 2007 17:33:39 -0000	1.4
+++ libc/sys/linux/machine/configure.in	12 Feb 2010 21:03:48 -0000
@@ -14,6 +14,7 @@ dnl We have to enable libtool after NEWL
 dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
 dnl line of the macro which fail because appropriate LDFLAGS are not set.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
Index: libc/sys/linux/machine/i386/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/sys/linux/machine/i386/configure.in,v
retrieving revision 1.3
diff -u -p -r1.3 configure.in
--- libc/sys/linux/machine/i386/configure.in	24 May 2007 17:33:39 -0000	1.3
+++ libc/sys/linux/machine/i386/configure.in	12 Feb 2010 21:03:52 -0000
@@ -14,6 +14,7 @@ dnl We have to enable libtool after NEWL
 dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
 dnl line of the macro which fail because appropriate LDFLAGS are not set.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 AC_PROG_AWK
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
Index: libm/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libm/configure.in,v
retrieving revision 1.9
diff -u -p -r1.9 configure.in
--- libm/configure.in	17 Apr 2009 16:18:17 -0000	1.9
+++ libm/configure.in	12 Feb 2010 21:03:56 -0000
@@ -43,6 +43,7 @@ dnl We have to enable libtool after NEWL
 dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
 dnl line of the macro which fail because appropriate LDFLAGS are not set.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
Index: libm/machine/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libm/machine/configure.in,v
retrieving revision 1.6
diff -u -p -r1.6 configure.in
--- libm/machine/configure.in	24 May 2007 17:33:42 -0000	1.6
+++ libm/machine/configure.in	12 Feb 2010 21:04:00 -0000
@@ -15,6 +15,7 @@ dnl references to libtool libraries from
 dnl AM_PROG_LIBTOOL is being used.  This must be added after
 dnl the call to NEWLIB_CONFIGURE.
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
Index: libm/machine/i386/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libm/machine/i386/configure.in,v
retrieving revision 1.3
diff -u -p -r1.3 configure.in
--- libm/machine/i386/configure.in	24 May 2007 17:33:42 -0000	1.3
+++ libm/machine/i386/configure.in	12 Feb 2010 21:04:05 -0000
@@ -15,6 +15,7 @@ dnl references to libtool libraries from
 dnl AM_PROG_LIBTOOL is being used.  This code must occur after
 dnl NEWLIB_CONFIGURE. 
 _LT_DECL_SED
+_LT_PROG_ECHO_BACKSLASH
 if test "${use_libtool}" = "yes"; then
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
Index: libc/machine/sh/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/sh/configure.in,v
retrieving revision 1.4
diff -u -p -r1.4 configure.in
--- libc/machine/sh/configure.in	24 Apr 2006 20:19:52 -0000	1.4
+++ libc/machine/sh/configure.in	12 Feb 2010 21:04:11 -0000
@@ -8,10 +8,10 @@ AC_CONFIG_SRCDIR([asm.h])
 dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. 
 AC_CONFIG_AUX_DIR(../../../..)
 
-NEWLIB_CONFIGURE(../../..)
-
 AC_NO_EXECUTABLES
 
+NEWLIB_CONFIGURE(../../..)
+
 AC_EGREP_CPP([sh5], [
 #if __SH5__
   sh5

Attachment: work-around-libtool-changes-auto-try2.patch.lzma
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]