public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
From: Jon Turney <jon.turney@dronecode.org.uk>
To: newlib@sourceware.org
Cc: Jon Turney <jon.turney@dronecode.org.uk>
Subject: [PATCH] Add a script for regenerating all newlib autotools files
Date: Thu,  9 Dec 2021 21:47:20 +0000	[thread overview]
Message-ID: <20211209214721.39306-1-jon.turney@dronecode.org.uk> (raw)

Add a script for regenerating all newlib autotools files, applying the
instructions in the 'Regenerating Configuration Files' section of the
README everywhere.

Running this script produces loads of errors about 'no AC_LANG_SOURCE
call detected in body' from libtool.m4.  This is because that file is
old.

The versions of autotools in use on newlib seem to have backslid since
the README was last updated (for newlib 2.1.0 in 2013), so bring those
into alignment.  I don't know why.  I'm a little skeptical that automake
1.13 was used, since that doesn't permit '--cygnus', which we use.
---
 newlib/README     |  4 ++--
 newlib/autogen.sh | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 2 deletions(-)
 create mode 100755 newlib/autogen.sh

diff --git a/newlib/README b/newlib/README
index 1c0541284..d47cccbcb 100644
--- a/newlib/README
+++ b/newlib/README
@@ -609,8 +609,8 @@ After creating a new configure.in and Makefile.am file, you would issue:
 from newlib/libc/machine/XXXX
 
 It is strongly advised that you use an adequate version of autotools.
-For this latest release, the following were used: autoconf 2.69, aclocal 1.13.4, and 
-automake 1.13.4.
+For this latest release, the following were used: autoconf 2.68, aclocal 1.11.6, and 
+automake 1.11.6.
 
 Reporting Bugs
 ==============
diff --git a/newlib/autogen.sh b/newlib/autogen.sh
new file mode 100755
index 000000000..001d297d8
--- /dev/null
+++ b/newlib/autogen.sh
@@ -0,0 +1,35 @@
+#!/bin/bash -e
+
+#
+# If you're changing this script, you probably want to also be changing the
+# 'Regenerating Configuration Files' section in the README.
+#
+
+basedir=$(dirname $(realpath $0))
+cd ${basedir}
+
+# aclocal -I${relative_path_to_toplevel_newlib_dir} -I${relative_path_to_toplevel_src_dir}
+find -name aclocal.m4 | while read f
+do
+  (cd $(dirname $f) ; aclocal-1.11 -I $(realpath --relative-to . ${basedir}) -I $(realpath --relative-to . ${basedir}/..))
+done
+
+# autoconf
+find -name configure.ac | while read f
+do
+  (cd $(dirname $f) ; autoconf-2.68)
+done
+
+# automake
+find -name configure.ac | while read f
+do
+  # Exclude directories containing a configure.ac and below, so that Makefile.in
+  # files are generated from the nearest directory up the tree which contains a
+  # configure.ac file.
+  (cd $(dirname $f) ; find -type d -execdir test -e {}/configure.ac ';' -a -not -path '.' -prune -o -name Makefile.am -printf '%P\n' | while read m
+   do
+    automake-1.11 -ac ${m%.*}
+  done)
+done
+
+rm -rf autom4te.cache
-- 
2.34.1


             reply	other threads:[~2021-12-09 21:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-09 21:47 Jon Turney [this message]
2021-12-10  8:58 ` Corinna Vinschen
2021-12-10 14:14   ` Jon Turney
2021-12-10 14:41     ` Corinna Vinschen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211209214721.39306-1-jon.turney@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=newlib@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).