Cross module version specs
    Paulo Pinto 
    pjmlp at progtools.org
       
    Thu Apr 26 23:32:12 PDT 2012
    
    
  
On Friday, 27 April 2012 at 05:51:36 UTC, Walter Bright wrote:
> On 4/26/2012 3:09 AM, James Miller wrote:
>> I'm trying to write a binding that has conditional sections 
>> where some features
>> have to be enabled. I am using version statements for this.
>>
>> I have a list of version specs in a module by themselves. When 
>> I try to compile
>> another module that imports this module, it acts as if the 
>> version was never
>> specified. I have tried wrapping the specs inside a version 
>> block, then setting
>> that from the command but that doesn't work. Setting the 
>> version manually works
>> as expected. I have also tried including the versions file on 
>> the command line.
>>
>> All I can think is that version specifiers aren't carried 
>> across modules, which
>> pretty much makes them completely useless unless you only use 
>> the built-in
>> versions.
>
> This is quite deliberate behavior.
>
> Aside from the rationale and other solutions given in this 
> thread, the one I prefer is to define features as functions, 
> and then implement those functions or not depending on the 
> configuration.
I would be with Walter on this.
This is the usual behavior in any other module based language 
with conditional compilation support. Developers picking up D 
would be confused, if the behavior would be different here.
--
Paulo
    
    
More information about the Digitalmars-d
mailing list