[Scons-dev] This morning's WTF moment

anatoly techtonik techtonik at gmail.com
Sat Sep 6 08:41:55 EDT 2014


 On Sat, Sep 6, 2014 at 2:59 PM, Gary Oberbrunner <garyo at oberbrunner.com> wrote:
> On Sat, Sep 6, 2014 at 7:34 AM, anatoly techtonik <techtonik at gmail.com>
> wrote:
>>
>> The problem repeats on all Windows systems with SCons 2.3.x and
>> below.
>>
>> Well, "revamp" is the name, but not the action. It is actually a trap,
>> because it is not actionable.
>
> I disagree.  I am currently taking action on it.  There is some
> documentation on the wiki describing my direction, and I'm writing some test
> code to explore further.

I am afraid you're the only one who knows what you're doing. =) If you
could paste a reference to this specific wiki location, I could change
my mind, but so far I am definitely not in the list of people who are
able to track this progress.

And to better understand my position, the **actionable** thing is the
one that can be solved by anyone, i.e. by majority of people. To make
this rule practical - by majority of people in this list. So it is not that I
doubt in your abilities to solve it, it is that I doubt in my abilities to
give it a proper review.

I can say that the main reason is the limited amount of text I can
handle, but at the given moment the most important pieces of data
that I miss are explained in the previous mail. It just happens that
my thinking process is different and I can't really stick to proposed
learning scenarios when I have several active of my own.

>> My attempt to fix the issue uncovered
>> more complex stuff. The actual thread is here:
>>
>> https://bitbucket.org/scons/scons/pull-request/169/once-more-suppress-warning-about-missing/diff
>>
>> I wish I could summarize the problem, but it is very elusive, but over
>> the last week the idea had ripen into a concept of making tool lookup
>> logic cross-platform. Right now it is plarform-dependent and rules are
>> not clear.
>>
>> complexity#001 - FAQ
>>
>> http://www.scons.org/wiki/FrequentlyAskedQuestions#Why_doesn.27t_SCons_find_my_compiler.2BAC8-linker.2BAC8-etc..3F_I_can_execute_it_just_fine_from_the_command_line.
>> Q: "Why doesn't SCons find my compiler/linker/etc.? ..."
>> A: env = Environment(ENV = {'PATH' : os.environ['PATH']})
>>
>> But dammit, the most simple SConstruct Program('hello.c') works on
>> Linux with GCC, and I believe it should work on Windows with MSVC
>> too. So, default tools are obviously an exception from this rule.
>
> It does work on Windows with MSVC (as long as the MSVC version is supported
> by SCons, installed correctly, etc.).  The problem we're discussing here is
> that a SConscript that _doesn't_ use Program() gets warnings if MSVC is not
> installed.

Not sure why do you point to it. The problem is obvious for me
from the start. ISTM that in the context of -dev list it is more
useful to research the cause, which is what I am doing. The
previous mail is my own analysis of the problem.

>> complexity#002 - How default tools work?
>> SCons is somehow able to find default GCC or default MSVC without
>> env/PATH patch. But when MSVC is unavailable on Windows, SCons
>> doesn't fallback to GCC even if GCC is in PATH. Why?
>
> Because the current "tool chain" logic doesn't support that.  It's one of
> the major goals of my revamp to have fallback tools.  See the wiki page.

Dammit. I am trying to address **specific** simple points right
here right now, and you're trying to stop the process by switching
discussion from these specific point to some abstract "revamp"
idea on a wiki page that doesn't even have an address.

It look like I am getting mad again. =) To be clear what kind or
response I'd appreciate - not just a simple "because", but a
description of what really happens.

>> This should be described before moving further and before I can
>> support any talks about revamp.
>
>
> Sorry if you don't support it, but I'm making progress nonetheless. :-)

I am making progress too. =) I just can't point people to this thread
anymore, because it is turned into non-technical discussion.


And yes, here is the missing link:
http://www.scons.org/wiki/ToolchainRevamp
* Requirements
* Users
* Design
* Discussion (empty)

This is already a good thing - I like the brevity of the notes in
comparison with previous threads and unanswered questions.

What is missing here is "User Stories", where "This morning's WTF
moment" is one of the most important (if not the most important).
The reason to maintain such pages (with all possible error messages
and action) is that people who fall into such situation are more
motivated to fix the issue than those who don't experience this.
So, anything to make the issue **actionable** is highly important.
This includes:
 * clarification
   * balance between text amount, time and detalization
     * pictures!
     * summaries
     * decomposition
 * links to source code
 * links to tests
 * quick start instructions
 * review and merge fastlane
-- 
anatoly t.


More information about the Scons-dev mailing list