Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] Managed Make Builder configurations

> I would rather define at Project creation:
> 
> * create either a Executable, a static or shared library,
> * decide, which target architecture to run it (x86,ARM,68k),
> * decide, which toolchain to use,
> * decide, which additional files I need (like startup code).

(An aisde from the main point: I'm of the opinion that we should
either choose target architecture, and then filter the list of
available toolchains to those that only match the choosen arch;
or that we should allow the user to specify the toolchain, and
infer the target arch from the toolchain itself.)

While I don't have a problem with this, I would like to see
the target architecture, toolchain, and additional files
be associated with a configuration, rather than a project.
At project creation, the default configurations generated
(debug, release, etc.) would be created using the target
architecture, toolchain, etc. specified by the wizard, but
the user should be able to change these on a per-configuration
basis.

Why?  A couple of use cases:

- I'm working on software that's intended to run on multiple
  hardware architectures, and I want to be able to do a build
  for any one (or all) of those architectures on demand as a
  sanity check.

- I'm maintaining a library that is usable with any number of
  compilers on one platform; I want to have one configuration
  that builds with an older toolchain (gcc-2.95), one with a
  newer toolchain (gcc-3.4), and additional configurations for
  everything in between (gcc-3.0, 3.1, etc.)
  
- I'm doing primary development and testing of software under
  one platform (x86 Linux), but targeting the same OS running
  on a different prcessor (ARM Linux).  Occaisionally I'll
  want to generate an ARM build for verification and/or debugging.

- I have a library (static or shared) that needs to be built
  for both a client and server; the client runs on one platform,
  the server runs on another platform.  I'd like a rebuild of
  my project to automatically rebuild both configurations : 
  "libprotocol debug x86" and "libprotocol debug ppc"

Looking at my user cases, I've realized that there's probably
a good reason to allowing a user to specify which configurations
should be built when the project itself is built.  Right now,
the currently selected configuration is the one that gets built;
you should be able to tell CDT that building a project means
just building the currently selected configuration, or building
the currently selected configuration plus one or more additional
configurations.

-Samrobb


Back to the top