Hi William,

The issue I would like to address it make it easy to import other tools when it 
is needed to do so.

Importing the g++ tools in “hard” as we cannot just “import g++”  but have to 
do something more complex with importlib ( now that we are python 2.7 and 
better)

I am fine with making this patch. I was more trying to give a heads up to see 
if some had issue with changing g++ to gxx and making g++ a proxy.

For a more terse detail of the issue, a user was asking questions as the it 
went along needed an example on how Parts could be extended to find an arm 
version of gcc. So he could say “scons all –target-arm” and have it work. When 
I made the sample I hit the issue of importing g++ again. I felt that instead 
of me fixing this in Parts alone this is an easy and useful fix in core SCons. 
The sample I made (attached)

Requires one to write code like:

import importlib
gxx_module = importlib.import_module('parts.tools.g++')
globals().update(gxx_module.__dict__)


instead of something expected for gcc:

from parts.tools.gcc import *

The suggestion here is a change to lower the bar for user that might need to do 
more advance stuff by avoiding the need for them to use importlib module to 
import tools.

Hope that is quick and to the point ☺  Just want to check that no one has an 
concern with such a change?

Jason


From: Scons-dev [mailto:[email protected]] On Behalf Of William 
Blevins
Sent: Tuesday, December 20, 2016 10:30 PM
To: SCons developer list <[email protected]>
Subject: Re: [Scons-dev] g++.py tool mapping to gxx.py

Jason,
I don't see a technical reason that this cannot be done, but I am not sure I 
understand the problem that this aims to solve. Can you give me a TR;DR 
version? I skimmed the link above but I didn't see the immediate issue.
V/R,
William

On Tue, Dec 20, 2016 at 11:18 PM, Jason Kenny 
<[email protected]<mailto:[email protected]>> wrote:

Hi guys,

I was just helping someone with a sample to get parts to select gcc version of 
the arm cross compiler. I need to add the core code Part proper for arm. 
However, the point of the e-mail was me noticing again the issue with g++ tool 
in scons. The sample you can find in this issue here: 
https://bitbucket.org/sconsparts/parts/issues/12/how-do-i-use-include_parts-for-including
 has to import the g++ tool. I almost forgot the pain this has caused me in the 
past. The code to import file looks like:

import importlib
gxx_module = importlib.import_module('parts.tools.g++')

which unless you are are really good with python is not so obvious.

I was thinking it would be a good idea to:

•       make a gxx.py tool

•       move g++.py content into gxx.py

•       change g++.py to be a proxy to gxx.py. ie “from gxx import *” so 
nothing breaks

Does anyone have any concerns about such a pull request being made?


Thanks
Jason

_______________________________________________
Scons-dev mailing list
[email protected]<mailto:[email protected]>
https://pairlist2.pair.net/mailman/listinfo/scons-dev

Attachment: hello-custom-gcc.7z
Description: hello-custom-gcc.7z

_______________________________________________
Scons-dev mailing list
[email protected]
https://pairlist2.pair.net/mailman/listinfo/scons-dev

Reply via email to