This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java 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] | |
Hi Tom,
On Fri, 2006-03-31 at 15:30 -0700, Tom Tromey wrote:
> Index: ChangeLog
> from Tom Tromey <tromey@redhat.com>
>
> * lib/split-for-gcj.sh: Updated for multi-field format.
> * lib/Makefile.am (CLEANFILES): Added classes.2.
> * lib/gen-classlist.sh.in (GCJ): Removed. Create classes.1 and
> classes.2 using multiple fields.
This seems to cause a recompile every time in classpath/lib since
classes.2 is renamed to classes.1 here:
> +# FIXME: could be more efficient by constructing a series of greps.
> for filexp in `cat tmp.omit`; do
> grep -v ${filexp} < ${top_builddir}/lib/classes.1 > ${top_builddir}/lib/classes.2
> mv ${top_builddir}/lib/classes.2 ${top_builddir}/lib/classes.1
So the following test always results in new="true":
> new=
> -if test -e ${top_builddir}/lib/classes; then
> - p=`diff ${top_builddir}/lib/classes ${top_builddir}/lib/classes.1`
> +if test -e ${top_builddir}/lib/classes.2; then
> + p=`diff ${top_builddir}/lib/classes.2 ${top_builddir}/lib/classes.1`
> if test "$p" != ""; then
> new="true"
> - cp ${top_builddir}/lib/classes.1 ${top_builddir}/lib/classes
> fi
> else
> new="true"
> - cp ${top_builddir}/lib/classes.1 ${top_builddir}/lib/classes
> fi
And that triggers the creation of a new classes file:
> if test "$new" = "true"; then
> + cp ${top_builddir}/lib/classes.1 ${top_builddir}/lib/classes.2
> + # Strip the package part.
> + sed -e 's/^[^ ]* //' -e 's, ,/,' < ${top_builddir}/lib/classes.1 \
> + > ${top_builddir}/lib/classes
So even on a make install all files are recompiled to byte code with
this.
Does the following fix look sane to you?
2006-04-02 Mark Wielaard <mark@klomp.org>
* lib/gen-classlist.sh.in: Use classes.tmp, not classes.2
as temporary file name.
Cheers,
Mark
diff -u -r1.34 gen-classlist.sh.in
--- lib/gen-classlist.sh.in 31 Mar 2006 22:42:19 -0000 1.34
+++ lib/gen-classlist.sh.in 2 Apr 2006 18:40:13 -0000
@@ -72,8 +72,8 @@
# FIXME: could be more efficient by constructing a series of greps.
for filexp in `cat tmp.omit`; do
- grep -v ${filexp} < ${top_builddir}/lib/classes.1 > ${top_builddir}/lib/classes.2
- mv ${top_builddir}/lib/classes.2 ${top_builddir}/lib/classes.1
+ grep -v ${filexp} < ${top_builddir}/lib/classes.1 > ${top_builddir}/lib/classes.tmp
+ mv ${top_builddir}/lib/classes.tmp ${top_builddir}/lib/classes.1
done
Attachment:
signature.asc
Description: This is a digitally signed message part
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |