octave-maintainers
[Top][All Lists]
Advanced

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

Understanding the Octave build process: a small change to one DLD-FUNCTI


From: John W. Eaton
Subject: Understanding the Octave build process: a small change to one DLD-FUNCTION source caused massive relinking
Date: Thu, 23 Sep 2010 14:56:29 -0400

On 23-Sep-2010, John Swensen wrote:

| I have been hacking on the
| __magick_read__.cc file in the DLD-FUNCTIONS direectory and have
| noticed that the build process seems to be re-linking every single
| DLD-FUNCTION regardless of whether the underlying sources were
| edited.  For example, I only edited __magick_read__.cc, but when I
| run 'make' I get output similar to what is listed at the end of this
| message for each file in DLD-FUNCTIONS.

Oops.  This is happening because builtins.cc depends on $(DEF_FILES)
(the generated .df files that contain extracted docstrings and other
info) and that list mistakenly included the .df files generated from
the dynamically-linked files in the DLD-FUNCTIONS directory.

I checked in the following change, which seems to fix the problem for me:

  http://hg.savannah.gnu.org/hgweb/octave/rev/0c752b657217

Note however, that changing any file that causes libcruft, liboctave,
or liboctinterp to be rebuilt will result in relinking (but not
recompiling) all the .oct files.  I see no good way around that as
some systems require that shared libraries be linked with all the
libraries they depend on, even if only indirectly.  I think that to
fix this problem for systems that do not have this requirement
requires some changes to libtool and/or automake.

Thanks for prompting me to take another look at this, and my apologies
for the gazillions of CPU cycles wasted as a result of this mistake.

jwe


reply via email to

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