This tri-state flag has the following properties:
If _EWL_FORCE_ENABLE_BOOL_SUPPORT is defined, the C++ library will internally ignore the " Enable bool support" setting in the application's language preference panel, despite the fact that most of the C++ library is compiled into the application (since it is in headers) instead of into the binary C++ library.
The purpose of this flag is (when defined) to avoid having to recompile the C++ library when " Enable bool" support is changed in the language preferences panel.
With _EWL_FORCE_ENABLE_BOOL_SUPPORT defined to one, std::methods will continue to have a real bool in their signature, even when bool support is turned off in the application. But the user won't be able to form a bool (or a true/false). The user won't be able to:
bool b = std::ios_base::sync_with_stdio(false);
// error: undefined bool and false
but this will work:
unsigned char b = std::ios_base::sync_with_stdio(0);
And the C++ lib will link instead of getting the ctype link error.
Changing this flag will require a recompile of the C++ library.