build-declaration func