digitalmars.D.learn - version() used in multiple special cases?
On
http://www.dsource.org/tutorials/index.php?show_example=117
I found this interesting example of version() use
<code>
// By Joey Peters
// pass -version=free to dmd
version(Free) {
version = FeatureA;
} else {
version = FeatureA;
version = FeatureB;
}
void main() {
// every version has this.
version(FeatureA) {
printf("Hello world!");
}
// only the non free has this
version(FeatureB) {
printf("Deluxe!");
}
}
</code>
I but from reading die above I get the feeling you also ways need to
place version + else. What I would be looking for is to be able to do
this...
...code...
version(debug)
{
writefln...
}
...code...
version(debugging2)
{
writefln...
}
...code...
and be able to selectively turn those blocks on and off.
Would -version=debug compile my code, plus turn on the debug version
section, but not the debugging2 section. Dito for -version=debugging2?
Could I then group them
version(AllDebug) {
version = debug;
version = debugging2;
} else {
}
I.e. that with -version=AllDebug I could turn on all debugging, and by
not defining a -version, no debug code would be in the compile?
AEon
Mar 31 2005
AEon wrote:I but from reading the above I get the feeling you always need to place version + else. What I would be looking for is to be able to do this... ....code... version(debug) { writefln... } ....code... version(debugging2) { writefln... } ....code... and be able to selectively turn those blocks on and off. Would -version=debug compile my code, plus turn on the debug version section, but not the debugging2 section. Dito for -version=debugging2?Just tested this, the above already works as expected (hoped for), i.e. you do not need to define the "default" code in an else{} of version. So far so good.Could I then group them version(AllDebug) { version = debug; version = debugging2; } else { } I.e. that with -version=AllDebug I could turn on all debugging, and by not defining a -version, no debug code would be in the compile?This does not work though. Is there any way to group all the versions in one new version tag? AEon
Mar 31 2005








AEon <aeon2001 lycos.de>