move defines into config.h.in
use pragma once instead of include guards