implement as many macros as feasible for this compilation target