[
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