added shapelib if-defs to keep shapelib optional