Developer forums (C::B DEVELOPMENT STRICTLY!) > Compiler Framework Redesign

Compiler framework redesign (?)

<< < (5/9) > >>

tiwag:

--- Quote from: rickg22 on January 02, 2006, 05:54:49 pm ---... Wouldn't it be good that if you switched the compiler (i.e. from MSVC to GCC), a new set of default options would appear, and if you switched back, the first options were just like you left them before changing the compiler dropdown?
--- End quote ---
totally agree

mandrav:
So you want some more details, huh? ;)
Here's some food for thought:

[*] One XML file per compiler.
[*] Contains the toolchain (programs) that make up this compiler and connects the separate tools together (we could probably use some scripting here to avoid hard-coding logic in C::B).
[*] Contains some high-level mandatory options. Something like "debug", "optimize", "target cpu", etc. These high-level options will be defined by C::B and all compilers must implement them (even if they 're just dummy :P). This should take care of the "switching-compilers-back-and-forth" issue ;)

[/list]

Another, short-term goal (i.e. before next release), is to add cross-platform support in the project file. This way you could define different sets of options based on the platform. This is a relatively easy change. The way I 've thought about it, is to add an extra attribute to <Project>, <Target>, <Compiler> and <Linker> tags defining the target platform. If not there, defaults to "any" (much like it works now, platform-agnostic and backwards-compatible). So, one would create a windows-target and a linux-target and the correct one would be chosen automatically by C::B based on the platform it runs in.

rickg22:
Cool!!! :)

tiwag:

--- Quote from: mandrav on January 02, 2006, 06:10:38 pm ---... add cross-platform support in the project file. This way you could define different sets of options based on the platform. This is a relatively easy change. The way I 've thought about it, is to add an extra attribute to <Project>, <Target>, <Compiler> and <Linker> tags defining the target platform. If not there, defaults to "any" (much like it works now, platform-agnostic and backwards-compatible). So, one would create a windows-target and a linux-target and the correct one would be chosen automatically by C::B based on the platform it runs in.

--- End quote ---
great ! very important i think !

yop:
I just remembered what else I was thinking for the compiler plugin and luckily I had my browser open (I'd forget it otherwise...). The precompiled headers support should be available for all compilers that support it (and probably have an option that will disable the whole process if not). This should also be customizable per compiler (I know that linux icc has about the same syntax as gcc when it comes to precompiled headers), like the rest of the commands to the compiler are.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version