octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug in the 'mex' garbage collector (octave 2.9.10)


From: John W. Eaton
Subject: Re: Bug in the 'mex' garbage collector (octave 2.9.10)
Date: Mon, 30 Apr 2007 13:28:42 -0400

On 29-Apr-2007, David Bateman wrote:

| As you are talking about build slowness. It seems to me that the *.df
| files and built and re-built, and for good measure built once again,
| during a build of octave. We should fix the build process so they are
| only built once. Also the *.df file is built compared to the old version
| and then removed. If the *.df is newer than the corresponding *.cc file,
| I don't think it should be built at all..

If the .df files is newer than the .cc file, it should not be built.
I think that part is correct now.  The problem is that the .cc file is
newer than the .df file, but the change to the .cc file doesn't affect
the .df file.  The idea was that by comparing and only touching the
.df file if it has really changed would save updating the things that
depend on the .df files.  This works well if creating the .df file is
fast compared to what will happen if the .df file is touched.  But in
this case, I don't think that is true, and because of the
dependencies we end up recreating the .df files several times, only to
see that they haven't changed.  Instead, if we just create them
whenever the .cc files change, then we will trigger a rebuild of
builtins.cc, PKG_ADD, and gendoc.cc.  But those files also use
move-if-change to avoid triggering further unnecessary actions, and
they are quick to build and there are only a three files, not N, so I
think it makes sense to keep those using move-if-change.  So I checked
in the following change.

Thanks,

jwe

src/ChangeLog:

2007-04-30  John W. Eaton  <address@hidden>

        * Makefile.in (%.df : %.cc): Use mv instead of
        $(simple-move-if-change-rule).


Index: src/Makefile.in
===================================================================
RCS file: /cvs/octave/src/Makefile.in,v
retrieving revision 1.434
diff -u -u -r1.434 Makefile.in
--- src/Makefile.in     27 Apr 2007 15:31:10 -0000      1.434
+++ src/Makefile.in     30 Apr 2007 17:21:24 -0000
@@ -30,7 +30,7 @@
          egrep '^(///*|/\*) *PKG_ADD:' $< ; \
          $(CXXCPP) $(CPPFLAGS) $(CXXFLAGS_NO_PT_FLAGS) -DMAKE_BUILTINS $< \
            | $(srcdir)/mkdefs) > address@hidden
-       @$(simple-move-if-change-rule)
+       @mv address@hidden $@
 
 # How to make a .oct file from a .o file:
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]