1dnl 2dnl $ Id: $ 3dnl vim:se ts=2 sw=2 et: 4 5PHP_ARG_ENABLE(geos, whether to enable geos support, 6[ --enable-geos Enable geos support]) 7 8PHP_ARG_WITH(geos-config, for geos-config, 9[ --with-geos-config[=DIR] Use geos-config]) 10 11if test -z "$PHP_DEBUG"; then 12 AC_ARG_ENABLE(debug, 13 [ --enable-debug compile with debugging symbols],[ 14 PHP_DEBUG=$enableval 15 ],[ PHP_DEBUG=no 16 ]) 17fi 18 19if test "$PHP_GEOS" != "no"; then 20 if test "$PHP_GEOS_CONFIG" != "yes"; then 21 if test -x "$PHP_GEOS_CONFIG"; then 22 GEOS_CONFIG="$PHP_GEOS_CONFIG" 23 fi 24 else 25 AC_PATH_PROG(GEOS_CONFIG, geos-config) 26 fi 27 28 if test -n "$GEOS_CONFIG"; then 29 GEOS_VERSION=`$GEOS_CONFIG --version` 30 GEOS_INCLUDE=`$GEOS_CONFIG --includes` 31 GEOS_LDFLAGS=`$GEOS_CONFIG --ldflags` 32 AC_MSG_RESULT([Using GEOS version $GEOS_VERSION]) 33 AC_DEFINE(HAVE_GEOS_C_H,1,[Whether to have geos_c.h]) 34 fi 35 36 if test -z "$GEOS_INCLUDE"; then 37 AC_MSG_ERROR(Cannot find geos_c.h. Please specify correct GEOS installation path) 38 fi 39 40 if test -z "$GEOS_LDFLAGS"; then 41 AC_MSG_ERROR(Cannot find geos_c.so. Please specify correct GEOS installation path) 42 fi 43 44 old_CFLAGS=$CFLAGS 45 CFLAGS="-I$GEOS_INCLUDE $CFLAGS" 46 47 old_LDFLAGS=$LDFLAGS 48 LDFLAGS="$GEOS_LDFLAGS $LDFLAGS" 49 50 AC_CHECK_HEADER(geos_c.h,, AC_MSG_ERROR(Can't find GEOS includes)) 51 AC_CHECK_LIB(geos_c, initGEOS_r,, AC_MSG_ERROR([Unable to build the GEOS: a newer libgeos is required])) 52 AC_CHECK_LIB(geos_c, finishGEOS_r,, AC_MSG_ERROR([Unable to build the GEOS: a newer libgeos is required])) 53 AC_CHECK_LIB(geos_c, GEOSClipByRect_r, AC_DEFINE(HAVE_GEOS_CLIP_BY_RECT,1,[Whether we have GEOSClipByRect_r])) 54 AC_CHECK_LIB(geos_c, GEOSCoveredBy_r, AC_DEFINE(HAVE_GEOS_COVERED_BY,1,[Whether we have GEOSCoveredBy_r])) 55 AC_CHECK_LIB(geos_c, GEOSCovers_r, AC_DEFINE(HAVE_GEOS_COVERS,1,[Whether we have GEOSCovers_r])) 56 AC_CHECK_LIB(geos_c, GEOSDelaunayTriangulation_r, AC_DEFINE(HAVE_GEOS_DELAUNAY_TRIANGULATION,1,[Whether we have GEOSDelaunayTriangulation_r])) 57 AC_CHECK_LIB(geos_c, GEOSGeomGetEndPoint_r, AC_DEFINE(HAVE_GEOS_GEOM_GET_END_POINT,1,[Whether we have GEOSGeomGetEndPoint_r])) 58 AC_CHECK_LIB(geos_c, GEOSGeomGetNumPoints_r, AC_DEFINE(HAVE_GEOS_GEOM_GET_NUM_POINTS,1,[Whether we have GEOSGeomGetNumPoints_r])) 59 AC_CHECK_LIB(geos_c, GEOSGeomGetPointN_r, AC_DEFINE(HAVE_GEOS_GEOM_GET_POINT_N,1,[Whether we have GEOSGeomGetPointN_r])) 60 AC_CHECK_LIB(geos_c, GEOSGeomGetStartPoint_r, AC_DEFINE(HAVE_GEOS_GEOM_GET_START_POINT,1,[Whether we have GEOSGeomGetStartPoint_r])) 61 AC_CHECK_LIB(geos_c, GEOSGeomGetX_r, AC_DEFINE(HAVE_GEOS_GEOM_GET_X,1,[Whether we have GEOSGeomGetX_r])) 62 AC_CHECK_LIB(geos_c, GEOSGeomGetY_r, AC_DEFINE(HAVE_GEOS_GEOM_GET_Y,1,[Whether we have GEOSGeomGetY_r])) 63 AC_CHECK_LIB(geos_c, GEOSGeom_extractUniquePoints_r, AC_DEFINE(HAVE_GEOS_GEOM_EXTRACT_UNIQUE_POINTS,1,[Whether we have GEOSGeom_extractUniquePoints_r])) 64 AC_CHECK_LIB(geos_c, GEOSGeom_getCoordinateDimension_r, AC_DEFINE(HAVE_GEOS_GEOM_GET_COORDINATE_DIMENSION,1,[Whether we have GEOSGeom_getCoordinateDimension_r])) 65 AC_CHECK_LIB(geos_c, GEOSNode_r, AC_DEFINE(HAVE_GEOS_NODE,1,[Whether we have GEOSNode_r])) 66 AC_CHECK_LIB(geos_c, GEOSOffsetCurve_r, AC_DEFINE(HAVE_GEOS_OFFSET_CURVE,1,[Whether we have GEOSOffsetCurve_r])) 67 AC_CHECK_LIB(geos_c, GEOSPolygonize_full_r, AC_DEFINE(HAVE_GEOS_POLYGONIZE_FULL,1,[Whether we have GEOSPolygonize_full_r])) 68 AC_CHECK_LIB(geos_c, GEOSRelateBoundaryNodeRule_r, AC_DEFINE(HAVE_GEOS_RELATE_BOUNDARY_NODE_RULE,1,[Whether we have GEOSRelateBoundaryNodeRule_r])) 69 AC_CHECK_LIB(geos_c, GEOSRelatePatternMatch_r, AC_DEFINE(HAVE_GEOS_RELATE_PATTERN_MATCH,1,[Whether we have GEOSRelatePatternMatch_r])) 70 AC_CHECK_LIB(geos_c, GEOSSharedPaths_r, AC_DEFINE(HAVE_GEOS_SHARED_PATHS,1,[Whether we have GEOSSharedPaths_r])) 71 AC_CHECK_LIB(geos_c, GEOSSnap_r, AC_DEFINE(HAVE_GEOS_SNAP,1,[Whether we have GEOSSnap_r])) 72 AC_CHECK_LIB(geos_c, GEOSUnaryUnion_r, AC_DEFINE(HAVE_GEOS_UNARY_UNION,1,[Whether we have GEOSUnaryUnion_r])) 73 AC_CHECK_LIB(geos_c, GEOSVoronoiDiagram_r, AC_DEFINE(HAVE_GEOS_VORONOI_DIAGRAM,1,[Whether we have GEOSVoronoiDiagram_r])) 74 AC_CHECK_LIB(geos_c, GEOSisClosed_r, AC_DEFINE(HAVE_GEOS_IS_CLOSED,1,[Whether we have GEOSisClosed_r])) 75 AC_CHECK_LIB(geos_c, GEOSisValidDetail_r, AC_DEFINE(HAVE_GEOS_IS_VALID_DETAIL,1,[Whether we have GEOSisValidDetail_r])) 76 AC_CHECK_LIB(geos_c, GEOSGeom_setPrecision_r, AC_DEFINE(HAVE_GEOS_GEOM_SET_PRECISION,1,[Whether we have GEOSGeom_setPrecision_r])) 77 AC_CHECK_LIB(geos_c, GEOSGeom_getPrecision_r, AC_DEFINE(HAVE_GEOS_GEOM_GET_PRECISION,1,[Whether we have GEOSGeom_getPrecision_r])) 78 79 AC_CHECK_LIB(geos_c, GEOSWKTWriter_setTrim_r, AC_DEFINE(HAVE_GEOS_WKT_WRITER_SET_TRIM,1,[Whether we have GEOSWKTWriter_setTrim_r])) 80 AC_CHECK_LIB(geos_c, GEOSWKTWriter_setRoundingPrecision_r, AC_DEFINE(HAVE_GEOS_WKT_WRITER_SET_ROUNDING_PRECISION,1,[Whether we have GEOSWKTWriter_setRoundingPrecision_r])) 81 AC_CHECK_LIB(geos_c, GEOSWKTWriter_setOutputDimension_r, AC_DEFINE(HAVE_GEOS_WKT_WRITER_SET_OUTPUT_DIMENSION,1,[Whether we have GEOSWKTWriter_setOutputDimension_r])) 82 AC_CHECK_LIB(geos_c, GEOSWKTWriter_getOutputDimension_r, AC_DEFINE(HAVE_GEOS_WKT_WRITER_GET_OUTPUT_DIMENSION,1,[Whether we have GEOSWKTWriter_getOutputDimension_r])) 83 AC_CHECK_LIB(geos_c, GEOSWKTWriter_setOld3D_r, AC_DEFINE(HAVE_GEOS_WKT_WRITER_SET_OLD_3D,1,[Whether we have GEOSWKTWriter_setOld3D_r])) 84 85 AC_TRY_COMPILE(geos_c.h, GEOS_PREC_NO_TOPO, AC_DEFINE(HAVE_GEOS_PREC_NO_TOPO,1,[Whether we have GEOS_PREC_NO_TOPO])) 86 AC_TRY_COMPILE(geos_c.h, GEOS_PREC_KEEP_COLLAPSED, AC_DEFINE(HAVE_GEOS_PREC_KEEP_COLLAPSED,1,[Whether we have GEOS_PREC_KEEP_COLLAPSED])) 87 88 CFLAGS=$old_CFLAGS 89 dnl LDFLAGS=$old_LDFLAGS 90 91 PHP_ADD_LIBRARY(geos_c, 1, GEOS_SHARED_LIBADD) 92 PHP_ADD_MAKEFILE_FRAGMENT(Makefile.frag) 93 PHP_SUBST(GEOS_SHARED_LIBADD) 94 PHP_ADD_INCLUDE($GEOS_INCLUDE, 1) 95 PHP_NEW_EXTENSION(geos, geos.c, $ext_shared,,) 96fi 97