[Scons-users] Ignore documentation should include notion of "treating as up-to-date" for SEO

Donald Guy donald.b.guy at gmail.com
Thu Jan 7 03:10:35 EST 2016


I just spent a little over two hours fighting with an issue wherein a
dependent static library that I wanted to copy from one computer to
another was getting rebuilt repeatedly incorrectly to be incomplete,
by virtue of being copied into an environment without some of its
ancestor object files (avoiding the rebuilding of which was precisely
_why_ it was being copied there in the first place).

I experimented a bunch with CacheDir and the related flags, I tried to
hack around it by sneaking the "-lfoo" flag in as a raw LINKERFLAG to
avoid the dependency . I tried and failed to understand what
Repository's are for / how they are different from the cache.

I got this infuriating output from "--debug=explain": "scons: Cannot
explain why `bin/lib/libfoo.a' is being rebuilt: No previous build
information found"

I did a bunch of google searches. They included, amongst others:
"scons don't rebuild static library"
"scons dependency on static library"
"scons treat force up to date"
"scons mark file as up to date"

There are a few stack overflow posts that poke at but don't answer the question.

The closest I got to what looked like an answer was this 12 deep long
thread on this list from May of 2014:
https://pairlist4.pair.net/pipermail/scons-users/2014-May/002529.html

Ultimately no one pointed at the simple correct answer: the Ignore function:
http://www.scons.org/doc/production/HTML/scons-user.html#idp1378207284

While there is only a subtle difference between the logic of "ignore a
dependency" and "treat /certify a dependency (and its dependencies) as
up to date" or "refuse to rebuild this", I am clearly not the only one
who has been frustrated by a failure of search framing on this point.

I would thus humbly request someone consider updating the
documentation for that function to capture more of these framings, and
might even suggest some synonymous functions (UpToDate, DoNotTrigger
NeverBuild) or a runtime targeting flag for this sort of thing.

Minimally, hopefully this email gets indexed and can help someone else
avoid this frustration in the future.

Anyway, Thanks, Hope Y'all are well,
~Donald Guy


More information about the Scons-users mailing list