mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-26 17:57:49 +08:00
cccfe836db
* Revise configuration, avoid hidden dependencies * Expose hdf5 and netcdf feature, fix static linkage * Fix hdf5 pc files * Add spatialite flag * Update versions * Expose feature platform dependencies * Update versions * Configure gdal for windows arm and arm64 * Add postgresql feature * Update versions * Update wrapper * Update versions * Update baseline * [skip actions] CI * Use pkgconfig for expat * Update versions * uwp is unsupported (comsuppw.lib, atls.lib) * Update versions
304 lines
11 KiB
Diff
304 lines
11 KiB
Diff
diff --git a/gdal/configure.ac b/gdal/configure.ac
|
|
index 30cd613..43f1daf 100644
|
|
--- a/gdal/configure.ac
|
|
+++ b/gdal/configure.ac
|
|
@@ -48,6 +48,8 @@ dnl Compute the canonical host-system (the system we are building for)
|
|
dnl type variable $host
|
|
AC_CANONICAL_HOST
|
|
|
|
+PKG_PROG_PKG_CONFIG([0.21])
|
|
+
|
|
dnl Enable as much warnings as possible
|
|
AC_LANG_PUSH([C])
|
|
AX_COMPILER_VENDOR
|
|
@@ -1336,12 +1338,15 @@ AC_MSG_CHECKING([for libtiff])
|
|
|
|
if test "x${with_libtiff}" = "xyes" -o "x${with_libtiff}" = "x" ; then
|
|
|
|
- dnl Only automatically pick up the external libtiff if it is >= 4.0.
|
|
- AC_CHECK_LIB(tiff,TIFFScanlineSize64,TIFF_SETTING=external HAVE_BIGTIFF=yes,TIFF_SETTING=internal HAVE_BIGTIFF=yes,)
|
|
+ PKG_CHECK_MODULES([TIFF],[libtiff-4 > 4.0], [TIFF_SETTING=external], [TIFF_SETTING=internal HAVE_BIGTIFF=yes])
|
|
|
|
if test "$TIFF_SETTING" = "external" ; then
|
|
- LIBS="-ltiff $LIBS"
|
|
AC_MSG_RESULT([using pre-installed libtiff.])
|
|
+ EXTRA_INCLUDES="$TIFF_CFLAGS $EXTRA_INCLUDES"
|
|
+ SAVED_LIBS="$LIBS"
|
|
+ LIBS="$TIFF_LIBS"
|
|
+ AC_SEARCH_LIBS(TIFFScanlineSize64,[],HAVE_BIGTIFF=yes,HAVE_BIGTIFF=no,)
|
|
+ LIBS="$TIFF_LIBS $SAVED_LIBS"
|
|
else
|
|
AC_MSG_RESULT([using internal TIFF code.])
|
|
fi
|
|
@@ -1402,22 +1407,28 @@ AC_ARG_WITH(curl,
|
|
dnl Clear some cache variables
|
|
unset ac_cv_path_LIBCURL
|
|
|
|
+LIBCURL_MODVERSION=
|
|
if test "`basename xx/$with_curl`" = "curl-config" ; then
|
|
LIBCURL_CONFIG="$with_curl"
|
|
elif test "$with_curl" = "no" ; then
|
|
LIBCURL_CONFIG=no
|
|
+elif test "$with_curl" = "yes" -o "$with_curl" = "" ; then
|
|
+ PKG_CHECK_EXISTS([libcurl], [LIBCURL_CONFIG="${PKG_CONFIG} libcurl"], [LIBCURL_CONFIG=false])
|
|
+ LIBCURL_MODVERSION=`$LIBCURL_CONFIG --modversion`
|
|
else
|
|
AC_PATH_PROG(LIBCURL_CONFIG, curl-config, no)
|
|
fi
|
|
|
|
if test "$LIBCURL_CONFIG" != "no" ; then
|
|
|
|
- CURL_VERNUM=`$LIBCURL_CONFIG --vernum`
|
|
- CURL_VER=`$LIBCURL_CONFIG --version | awk '{print $2}'`
|
|
+ CURL_VER="`$LIBCURL_CONFIG --version | awk '{print $2}'`$LIBCURL_MODVERSION"
|
|
|
|
AC_MSG_RESULT([ found libcurl version $CURL_VER])
|
|
|
|
- AC_CHECK_LIB(curl,curl_global_init,CURL_SETTING=yes,CURL_SETTING=no,`$LIBCURL_CONFIG --libs`)
|
|
+ SAVED_LIBS="$LIBS"
|
|
+ LIBS=`$LIBCURL_CONFIG --libs`
|
|
+ AC_SEARCH_LIBS(curl_global_init,[],CURL_SETTING=yes,CURL_SETTING=no,)
|
|
+ LIBS="$SAVED_LIBS"
|
|
|
|
fi
|
|
|
|
@@ -1431,7 +1442,9 @@ dnl Proj depends on it so it must appear before.
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
SQLITE3_REQ_VERSION="3.0.0"
|
|
-AX_LIB_SQLITE3($SQLITE3_REQ_VERSION)
|
|
+AC_CHECK_LIB(sqlite3,sqlite3_open,HAVE_SQLITE3=yes,AC_MSG_ERROR([vcpkg sqlite3 not found]),)
|
|
+SQLITE3_CFLAGS=
|
|
+SQLITE3_LDFLAGS=-lsqlite3
|
|
|
|
if test "$HAVE_SQLITE3" = "yes"; then
|
|
LIBS="$SQLITE3_LDFLAGS $LIBS"
|
|
@@ -1639,6 +1652,19 @@ dnl ---------------------------------------------------------------------------
|
|
AC_ARG_WITH(liblzma,[ --with-liblzma[=ARG] Include liblzma support (ARG=yes/no)],,)
|
|
|
|
if test "$with_liblzma" = "yes" ; then
|
|
+ PKG_CHECK_MODULES([LIBLZMA],[liblzma],[HAVE_LIBLZMA_PC=yes],[HAVE_LIBLZMA_PC=no])
|
|
+ SAVED_LIBS="$LIBS"
|
|
+ LIBS="$LIBLZMA_LIBS"
|
|
+ AC_SEARCH_LIBS(lzma_code,[],LIBLZMA_SETTING=yes,LIBLZMA_SETTING=no,)
|
|
+ if test "$LIBLZMA_SETTING" = "yes" ; then
|
|
+ LIBS="$LIBLZMA_LIBS $SAVED_LIBS"
|
|
+ elif test "$HAVE_LIBLZMA_PC" = "yes" ; then
|
|
+ AC_MSG_ERROR([vcpkg liblzma broken])
|
|
+ else
|
|
+ LIBS="$SAVED_LIBS"
|
|
+ fi
|
|
+
|
|
+elif false; then
|
|
AC_CHECK_LIB(lzma,lzma_code,LIBLZMA_SETTING=yes,LIBLZMA_SETTING=no,)
|
|
AC_CHECK_HEADERS(lzma.h)
|
|
|
|
@@ -1661,6 +1687,19 @@ dnl ---------------------------------------------------------------------------
|
|
AC_ARG_WITH(zstd,[ --with-zstd[=ARG] Include zstd support (ARG=yes/no/installation_prefix)],,)
|
|
|
|
if test "$with_zstd" = "" -o "$with_zstd" = "yes" ; then
|
|
+ PKG_CHECK_MODULES([ZSTD],[libzstd],[HAVE_LIBZSTD_PC=yes],[HAVE_LIBZSTD_PC=no])
|
|
+ SAVED_LIBS="$LIBS"
|
|
+ LIBS="$ZSTD_LIBS"
|
|
+ AC_SEARCH_LIBS(ZSTD_decompressStream,[],ZSTD_SETTING=yes,ZSTD_SETTING=no,)
|
|
+ if test "$ZSTD_SETTING" = "yes" ; then
|
|
+ LIBS="$ZSTD_LIBS $SAVED_LIBS"
|
|
+ elif test "$HAVE_LIBZSTD_PC" = "yes" ; then
|
|
+ AC_MSG_ERROR([vcpkg libzstd broken])
|
|
+ else
|
|
+ LIBS="$SAVED_LIBS"
|
|
+ fi
|
|
+
|
|
+elif false; then
|
|
AC_CHECK_LIB(zstd,ZSTD_decompressStream,ZSTD_SETTING=yes,ZSTD_SETTING=no,)
|
|
|
|
if test "$ZSTD_SETTING" = "yes" ; then
|
|
@@ -1962,6 +2001,12 @@ else
|
|
SAVED_LIBS="${LIBS}"
|
|
LIBS="${PG_LIB}"
|
|
AC_CHECK_LIB(pq,PQconnectdb,HAVE_PG=yes,HAVE_PG=no)
|
|
+ if test "${HAVE_PG}" = "no" ; then
|
|
+ unset ac_cv_lib_pq_PQconnectdb
|
|
+ PG_LIB="${PG_LIB} -lpgcommon -lpgport"
|
|
+ LIBS="${PG_LIB} ${SAVED_LIBS}"
|
|
+ AC_CHECK_LIB(pq,PQconnectdb,HAVE_PG=yes,HAVE_PG=no,[-lpgcommon -lpgport])
|
|
+ fi
|
|
LIBS="${SAVED_LIBS}"
|
|
if test "${HAVE_PG}" = "yes" ; then
|
|
LIBS="${PG_LIB} ${LIBS}"
|
|
@@ -2322,6 +2367,15 @@ AC_ARG_WITH(geotiff,[ --with-geotiff=ARG Libgeotiff library to use (ARG=inte
|
|
|
|
if test "$with_geotiff" = "yes" -o "$with_geotiff" = "" ; then
|
|
|
|
+ AC_CHECK_LIB(geotiff,GTIFAttachPROJContext,GEOTIFF_SETTING=external,GEOTIFF_SETTING=internal)
|
|
+ if test $GEOTIFF_SETTING = "external" ; then
|
|
+ LIBS="-lgeotiff $LIBS"
|
|
+ else
|
|
+ AC_MSG_ERROR([vcpkg geotiff broken])
|
|
+ fi
|
|
+
|
|
+elif false; then
|
|
+
|
|
if test "$TIFF_SETTING" = "internal" ; then
|
|
GEOTIFF_SETTING=internal
|
|
else
|
|
@@ -3005,7 +3059,7 @@ elif test "$with_hdf5" = "yes" -o "$with_hdf5" = "" ; then
|
|
# Test that the package found is for the right architecture
|
|
saved_LIBS="$LIBS"
|
|
LIBS="$HDF5_LIBS"
|
|
- AC_CHECK_LIB(hdf5,H5Fopen, [HAVE_HDF5=yes], [HAVE_HDF5=no])
|
|
+ AC_SEARCH_LIBS(H5Fopen,[],[HAVE_HDF5=yes],[HAVE_HDF5=no],)
|
|
LIBS="$saved_LIBS"
|
|
|
|
if test "$HAVE_HDF5" = "yes"; then
|
|
@@ -3135,6 +3189,24 @@ if test "$with_netcdf" = "no" ; then
|
|
|
|
echo "netCDF support disabled."
|
|
|
|
+elif true ; then
|
|
+
|
|
+ PKG_CHECK_MODULES([NETCDF],[netcdf],[HAVE_NETCDF_PC=yes],[HAVE_NETCDF_PC=no])
|
|
+ SAVED_LIBS="$LIBS"
|
|
+ LIBS="$NETCDF_LIBS"
|
|
+ AC_SEARCH_LIBS(nc_open,[],NETCDF_SETTING=yes,NETCDF_SETTING=no,)
|
|
+ if test "$NETCDF_SETTING" = "yes" ; then
|
|
+ LIBS="$NETCDF_LIBS $SAVED_LIBS"
|
|
+ EXTRA_INCLUDES="$NETCDF_CFLAGS $EXTRA_INCLUDES"
|
|
+ PKG_CHECK_VAR([NETCDF_ROOT],[netcdf],[prefix],,)
|
|
+ PKG_CHECK_VAR([NETCDF_INCLUDEDIR],[netcdf],[includedir],,)
|
|
+ NETCDF_NCCONFIG=
|
|
+ elif test "$HAVE_NETCDF_PC" = "yes" ; then
|
|
+ AC_MSG_ERROR([vcpkg netcdf-c broken])
|
|
+ else
|
|
+ LIBS="$SAVED_LIBS"
|
|
+ fi
|
|
+
|
|
else
|
|
|
|
dnl find nc-config location
|
|
@@ -3355,6 +3427,21 @@ if test "$with_openjpeg" = "no" ; then
|
|
|
|
AC_MSG_NOTICE([OpenJPEG (JPEG2000) support disabled.])
|
|
|
|
+elif true ; then
|
|
+
|
|
+ PKG_CHECK_MODULES([OPENJPEG],[libopenjp2 >= 2.1.0],[HAVE_LIBOPENJP2_PC=yes],[HAVE_LIBOPENJP2_PC=no])
|
|
+ SAVED_LIBS="$LIBS"
|
|
+ LIBS="$OPENJPEG_LIBS"
|
|
+ AC_SEARCH_LIBS(opj_setup_decoder,[],HAVE_OPENJPEG=yes,HAVE_OPENJPEG=no,)
|
|
+ if test "$HAVE_OPENJPEG" = "yes" ; then
|
|
+ EXTRA_INCLUDES="$OPENJPEG_CFLAGS $EXTRA_INCLUDES"
|
|
+ LIBS="$OPENJPEG_LIBS $SAVED_LIBS"
|
|
+ elif test "$HAVE_LIBOPENJP2_PC" = "yes" ; then
|
|
+ AC_MSG_ERROR([vcpkg libopenjpeg broken])
|
|
+ else
|
|
+ LIBS="$SAVED_LIBS"
|
|
+ fi
|
|
+
|
|
else
|
|
|
|
PKG_PROG_PKG_CONFIG([0.21])
|
|
@@ -4046,7 +4133,9 @@ dnl ---------------------------------------------------------------------------
|
|
|
|
dnl Expat 1.95.0 released in 2000-09-28
|
|
EXPAT_REQ_VERSION="1.95.0"
|
|
-AX_LIB_EXPAT($EXPAT_REQ_VERSION)
|
|
+PKG_CHECK_MODULES([EXPAT],[expat],[HAVE_EXPAT=yes],[AC_MSG_ERROR([vcpkg expat not found])])
|
|
+EXPAT_LDFLAGS="$EXPAT_LIBS"
|
|
+EXPAT_INCLUDE=""
|
|
|
|
if test "$HAVE_EXPAT" = "yes"; then
|
|
LIBS="$EXPAT_LDFLAGS $LIBS"
|
|
@@ -4069,7 +4158,13 @@ dnl Check for Google libkml support.
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
LIBKML_REQ_VERSION="1.3.0"
|
|
+if test "x${with_libkml}" = "xno"; then
|
|
+ echo "libkml support disabled."
|
|
+ HAVE_LIBKML="no"
|
|
+ LIBKML_CFLAGS=
|
|
+else
|
|
AX_LIB_LIBKML($LIBKML_REQ_VERSION)
|
|
+fi
|
|
|
|
if test "$HAVE_LIBKML" = "yes"; then
|
|
LIBS="$LIBKML_LDFLAGS $LIBS"
|
|
@@ -4252,8 +4347,8 @@ else
|
|
dnl Add curl to LIBS; it might be local to DODS or generally installed
|
|
if test -x $DODS_BIN/curl-config; then
|
|
LIBS="$LIBS `$DODS_BIN/curl-config --libs`"
|
|
- elif which curl-config > /dev/null 2>&1; then
|
|
- LIBS="$LIBS `curl-config --libs`"
|
|
+ elif test "$CURL_SETTING" = "yes"; then
|
|
+ LIBS="$LIBS $CURL_LIB"
|
|
else
|
|
AC_MSG_ERROR([You gave a dods root, but I can't find curl!])
|
|
fi
|
|
@@ -4295,7 +4390,7 @@ if test "x$with_xml2" = "xyes" -o "x$with_xml2" = "x" ; then
|
|
if test "${HAVE_LIBXML2}" = "yes"; then
|
|
SAVED_LIBS="${LIBS}"
|
|
LIBS="${LIBXML2_LIBS}"
|
|
- AC_CHECK_LIB(xml2,xmlParseDoc,HAVE_LIBXML2=yes,HAVE_LIBXML2=no)
|
|
+ AC_SEARCH_LIBS(xmlParseDoc,[],HAVE_LIBXML2=yes,HAVE_LIBXML2=no,)
|
|
LIBS="${SAVED_LIBS}"
|
|
fi
|
|
|
|
@@ -4509,6 +4604,22 @@ WEBP_SETTING=no
|
|
|
|
if test "$with_webp" = "yes" -o "$with_webp" = "" ; then
|
|
|
|
+ PKG_CHECK_MODULES([WEBP],[libwebp],[HAVE_LIBWEBP_PC=yes],[HAVE_LIBWEBP_PC=no])
|
|
+ SAVED_LIBS="$LIBS"
|
|
+ LIBS="$WEBP_LIBS"
|
|
+ AC_SEARCH_LIBS(WebPDecodeRGB,[],WEBP_SETTING=yes,WEBP_SETTING=no,)
|
|
+
|
|
+ if test "$WEBP_SETTING" = "yes" ; then
|
|
+ LIBS="$WEBP_LIBS $SAVED_LIBS"
|
|
+ elif test "$HAVE_LIBWEBP_PC" = "yes" ; then
|
|
+ AC_MSG_ERROR([vcpkg libwebp broken])
|
|
+ else
|
|
+ echo "libwebp not found - WEBP support disabled"
|
|
+ LIBS="$SAVED_LIBS"
|
|
+ fi
|
|
+
|
|
+elif false ; then
|
|
+
|
|
AC_CHECK_LIB(webp,WebPDecodeRGB,WEBP_SETTING=yes,WEBP_SETTING=no,)
|
|
|
|
if test "$WEBP_SETTING" = "yes" ; then
|
|
@@ -4540,7 +4651,7 @@ dnl ---------------------------------------------------------------------------
|
|
dnl Check if geos library is available.
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
-GEOS_INIT(3.1.0)
|
|
+PKG_CHECK_MODULES(GEOS,geos >= 3.1.0,HAVE_GEOS=yes,AC_MSG_ERROR([vcpkg geos not found]))
|
|
if test "${HAVE_GEOS}" = "yes" ; then
|
|
AC_MSG_NOTICE([Using C API from GEOS $GEOS_VERSION])
|
|
STRIP_SYSTEM_LIBRARY_PATHS("${GEOS_LIBS}")
|
|
@@ -4779,6 +4890,16 @@ dnl ---------------------------------------------------------------------------
|
|
|
|
AC_ARG_WITH(libjson-c,[ --with-libjson-c[=ARG] Include libjson-c support (ARG=internal or libjson-c directory)],,)
|
|
|
|
+PKG_CHECK_MODULES([JSONC],[json-c],[HAVE_JSONC=yes],[HAVE_JSONC=no])
|
|
+SAVED_LIBS="$LIBS"
|
|
+LIBS="$JSONC_LIBS"
|
|
+AC_SEARCH_LIBS(json_object_set_serializer,[],LIBJSONC_SETTING=external,LIBJSONC_SETTING=,)
|
|
+if test "$LIBJSONC_SETTING" = "external" ; then
|
|
+ LIBS="$JSONC_LIBS $SAVED_LIBS"
|
|
+ JSON_INCLUDE="$JSONC_CFLAGS"
|
|
+else
|
|
+ LIBS="$SAVED_LIBS"
|
|
+
|
|
if test "$with_libjson_c" = "external" -o "$with_libjson_c" = "" -o "$with_libjson_c" = "yes" ; then
|
|
AC_CHECK_LIB(json-c,json_object_set_serializer,LIBJSONC_SETTING=external,LIBJSONC_SETTING=internal,)
|
|
elif test "$with_libjson_c" = "internal" ; then
|
|
@@ -4807,6 +4928,8 @@ else
|
|
AC_MSG_RESULT([using internal libjson-c code])
|
|
fi
|
|
|
|
+fi # json-c.pc
|
|
+
|
|
AC_SUBST(LIBJSONC_SETTING,$LIBJSONC_SETTING)
|
|
AC_SUBST(JSON_INCLUDE,$JSON_INCLUDE)
|
|
|