re-add boost preprocessor, it went missing during the merge somehow