Prechádzať zdrojové kódy

configure: use new PROJ API only with proj-5.1.x or higher, otherwise fall back to old PROJ.4 API

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@72778 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 6 rokov pred
rodič
commit
0130600fc2
3 zmenil súbory, kde vykonal 604 pridanie a 464 odobranie
  1. 587 463
      configure
  2. 13 0
      configure.in
  3. 4 1
      include/config.h.in

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 587 - 463
configure


+ 13 - 0
configure.in

@@ -688,6 +688,18 @@ LOC_CHECK_INC_PATH(proj,External PROJ,PROJINC)
 LOC_CHECK_INCLUDES(proj.h,External PROJ,$PROJINC,PROJ4API=1)
 
 if test $PROJ4API = 0 ; then
+    LOC_CHECK_VERSION_INT(proj.h,PROJ_VERSION_MAJOR,External PROJ major,proj_ver_major,$PROJINC,0)
+    LOC_CHECK_VERSION_INT(proj.h,PROJ_VERSION_MINOR,External PROJ minor,proj_ver_minor,$PROJINC,0)
+    LOC_CHECK_VERSION_INT(proj.h,PROJ_VERSION_PATCH,External PROJ patch,proj_ver_patch,$PROJINC,0)
+    AC_MSG_RESULT([found PROJ version "${proj_ver_major}.${proj_ver_minor}.${proj_ver_patch}"])
+    # minimum required PROJ 5+ version to use the new PROJ API: 5.1.0
+    if test ${proj_ver_major} = 5 && test `expr "proj_ver_minor" \< 1` = 1 ; then
+	AC_MSG_WARN([At least PROJ version "5.1.0" is required for the new API ])
+	PROJ4API=1
+    fi
+fi
+
+if test $PROJ4API = 0 ; then
     AC_MSG_RESULT([using new PROJ version 5+ API])
 
     # With PROJ library directory
@@ -696,6 +708,7 @@ if test $PROJ4API = 0 ; then
     LOC_CHECK_LIBS(proj,proj_pj_info,External PROJ,$PROJLIB,PROJLIB,,,)
 else
     AC_MSG_RESULT([using old PROJ version 4 API])
+    AC_DEFINE(USE_PROJ4API)
 
     LOC_CHECK_INCLUDES(proj_api.h,External PROJ,$PROJINC)
     # PROJ version check for v4.x

+ 4 - 1
include/config.h.in

@@ -146,8 +146,11 @@
 /* define if SQLite is to be used */
 #undef HAVE_SQLITE
 
-/* define if proj.h exists */
+#undef USE_PROJ4API
+#ifndef USE_PROJ4API
+/* define if proj.h exists and if the PROJ4 API should not be used */
 #undef HAVE_PROJ_H
+#endif
 
 /* define if GDAL is to be used */
 #undef HAVE_GDAL