Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[linuxtools-dev] The location of Linux Tools Project executables

Hi Folks,

We have an interesting challenge with the Linux Tools Project plug-ins,
and that is being able to determine where each of the linux tool
executables are.  I think for most users of the plug-ins, they can
assume that all of the tools are on their search path, for example
/usr/bin/opcontrol.

However, in our SDK, we may have multiple versions of toolchains, and
ideally, we'd like to be able to associate a set of tool paths on a
per-project basis.  As a concrete example, I want project A to use
opcontrol from /usr/bin, project B to use /opt/at4.0/bin/opcontrol, and
project C to use /opt/at5.0/bin/opcontrol.

I'm fairly certain that there's no existing mechanism in the Linux Tools
Projects plugins determining the location of the tools.  They are just
assumed to be on $PATH somewhere.

As a solution, I'd like to suggest that each tool look into the
project's persistent properties for a root path specific to it.  For
example, we can have these persistent properties:

OProfile_Root_Path
Valgrind_Root_Path
SystemTap_Root_Path
Autoconfig_Root_Path
etc.

Each tool would look for its persistent *_Root_Path property, and if it
doesn't find one, it would work as it does today, otherwise, it would
prepend the *_Root_Path property value onto the executable's name and
invoke that instead of relying on $PATH.

I'm not certain if it's possible, but one of the prerequisites for
installing any of the Linux Tools Project plug-ins would be a plug-in
that would add another entry in the project properties under "C/C++
Build", and would allow setting each of these root paths by hand
(project wizards could also set them as desired by the specific toolchain).

Any thoughts?  Is there a better way to go?

- Corey


Back to the top