Only call configure in surface subdirectories if the required deps are available

I think these checks should probably be in the surface build files so they
are self contained...