Cairo or halt

with or without cairo.
try package first, and if that fails, then try lib and header checks.
Hard-stop if user specifies with cairo, but developer version (with headers) not installed.