[patch] libjava: avoid using escape sequence with undefined behaviour in echo
Matthias Klose
doko@cs.tu-berlin.de
Sun Sep 18 07:04:00 GMT 2005
When using ash as system and config shell, the bootstrap fails in libjava,
because a wrong Makefile.deps is generated. echo '\1\2' in ash just
echoes ^A^B. ash claims that these escape sequences elicit undefined
behaviour.
This rule was introduced in the 4.0 branch after 4.0.1, before that
change libjava used to build using ash, proposing this change for the
4.0 branch as well.
Ok to checkin?
Matthias
2005-09-18 Matthias Klose <doko@debian.org>
* Makefile.am (Makefile.deps): Don't use non-standardized escape
sequences in echo command.
* Makefile.in: Regenerate.
--- libjava/Makefile.am~ 2005-09-17 19:47:24.122598072 +0200
+++ libjava/Makefile.am 2005-09-18 08:47:23.513009312 +0200
@@ -267,8 +267,8 @@
# recompiles to native code.
Makefile.deps: $(srcdir)/Makefile.in
@: $(call write_entries_to_file,$(all_java_source_files),files.tmplist)
- echo 's,^\(.*\)/\([^/]*\)\.java$$,\1.list: &\' > tmpsed
- echo '\1/\2.class: \1.stamp,' >> tmpsed
+ echo 's,^\(.*\)/\([^/]*\)\.java$$,@1.list: &\' | sed 's/@/\\/g' > tmpsed
+ echo '@1/@2.class: @1.stamp,' | sed 's/@/\\/g' >> tmpsed
sed -ftmpsed files.tmplist > Makefile.deps
rm files.tmplist tmpsed
--- libjava/Makefile.in~ 2005-09-17 19:47:24.127597312 +0200
+++ libjava/Makefile.in 2005-09-18 08:48:31.863618440 +0200
@@ -6323,8 +6323,8 @@
# recompiles to native code.
Makefile.deps: $(srcdir)/Makefile.in
@: $(call write_entries_to_file,$(all_java_source_files),files.tmplist)
- echo 's,^\(.*\)/\([^/]*\)\.java$$,\1.list: &\' > tmpsed
- echo '\1/\2.class: \1.stamp,' >> tmpsed
+ echo 's,^\(.*\)/\([^/]*\)\.java$$,@1.list: &\' | sed 's/@/\\/g' > tmpsed
+ echo '@1/@2.class: @1.stamp,' | sed 's/@/\\/g' >> tmpsed
sed -ftmpsed files.tmplist > Makefile.deps
rm files.tmplist tmpsed
More information about the Java-patches
mailing list