Remove dependency to CPP: add support for conditional directives