How do I do this?

Shachar Shemesh via Digitalmars-d digitalmars-d at puremagic.com
Thu Aug 3 03:46:06 PDT 2017


The problem: I'm writing a library. This library has logging facilities, 
but where it's going to be used there are better logging facilities. 
Under C, that wouldn't be a big issue:

log.h:
#ifdef REAL_LOG_LIBRARY
#include REAL_LOG_LIBRARY
#else

// Declarations go here

#endif


I can now inject from my build system -DREAL_LOG_LIBRARY=real/impl/log.h 
into the compilation command line, and I'm done.

Under D, there is no facility to transfer a string from the command line 
to the code, so I can't use that approach.

I seem to remember that D had an option of importing an external file as 
something (string? code? anything would do for my purposes). I cannot 
seem to find it, however. A search for "string import" and "import 
mixin" brought back nothing useful.

Help?
Shachar


More information about the Digitalmars-d mailing list