Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] Questions about Managed Make

Folks,

  So I've finally kind'a sort'a managed to create a plugin which
contributes a new development configuration (QNX Neutrino build output 
target, compiler tools, etc) to the Managed Make world .... yay!

Of course now I have some questions which have come up as a result
of the experience =;-)

- The current scheme only seems to use the 'osList' field of the 'target'
  contribution to determine which configurations to display.  This seems
  to make it difficult to configure remote targetting tools.  For example
  I would like to configure:
  -The platforms/OS's/architectures that a tool will run on.  This should
   support more than a single value since you may have a tool (like gcc)
   which supports the same flags but runs on multiple OS'es.
  -The platforms/OS's/architecture that a tool will generate output for 
  (note the deliberate overuse of target!).  Again this list should support
  multiple values since you may output for x86, but output a binary object
  that you can then link on Linux or Neutrino.

Along the same line the 'target' contribution is forced to contains fields 
that I'm not sure belong in it, but I haven't looked into the code yet to
see what role they play in the generation of the makefile.  Things like
the cleanCommand, if you are now supporting multiple OS'es with a particular
target configuration, may need to be dynamic (ie rm -fr vs del vs ...)

The dynamic vs static configuration comes up again when you look at 
particular tools.  For example we allow developers today to install our
tools multiple times with multiple versions in completely arbitrary
locations.  For example I might have:

c:/thomasf/myinstall/usr/bin/qcc
c:/anotherinstall/usr/bin/qcc

I'd like to be able to have a single "qcc" configuration and then pick
the compiler programatically based on selections that the user has made
(ie as part of the project or workspace preferences for which compiler
they want to use).  We don't want to rely on the PATH mechanism since
we might collide with other tools, and we don't know the full path until
after installing, and even then the user might choose to change it.

In any case thought I would start asking a couple of questions and see
where this takes us.  The good news is that I was able to configure
and set something up using the managed make building Neutrino binaries.

Thanks,
 Thomas



Back to the top