Hi,

 

Assume the following:

 

foo.c

 

#if    !defined(_WIN32)

    #include     “some_linux_file.h”

#endif

 

If I build it on Windows, MSVC doesn’t even look into the header file (or what there is) between the above #if and #endif because the #if evaluates to false.

 

My observation with bjam is that it does.

 

After foo.c is built, if I touch “some_linux_file.h” and issue ‘bjam –n’,    bjam says  foo.c needs to be built.

 

Could somebody confirm if it’s designed like that?

Thanks,

Anant