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

Bill Deegan bill at baddogconsulting.com
Thu Jan 7 10:54:00 EST 2016


Donald,

It's not clear from your email whether you resolved this issue. Did you?
Why did you want to copy a built library from another machine into the
build tree? (so we can understand the use model)

Sounds like your SCons logic specified how to build a static library
(including it's sources), and you want to copy that built library from
another machine into the build tree and have SCons not rebuild it. Is that
correct?

-Bill

On Thu, Jan 7, 2016 at 12:10 AM, Donald Guy <donald.b.guy at gmail.com> wrote:

> 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
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20160107/5412522e/attachment.html>


More information about the Scons-users mailing list