hi,
This week I ran into an issue building OTB against a gdal with internal
libtiff and libgeotiff. After spending a bit of time trying to figure
out why i had a problem I thought it might be useful if gdal-config
could report on internal libs and if they are hidden.
What came up with is a gdal-config switch for each lib that has an
internal option that will return "external" if gdal used the external
lib. "internal", or "hidden" if it uses the internal lib and gdal was
configured with --with-hide-internal-symbols=yes
Attached is a diff. Does anyone have any opinions on this or alternate
ideas?
Brian
Index: /home/rush/Projects/gdal-trunk/apps/gdal-config.in
===================================================================
--- /home/rush/Projects/gdal-trunk/apps/gdal-config.in (revision 22359)
+++ /home/rush/Projects/gdal-trunk/apps/gdal-config.in (working copy)
@@ -11,6 +11,14 @@
[--version]
[--ogr-enabled]
[--formats]
+ [--libz-setting]
+ [--pcraster-setting]
+ [--png-setting]
+ [--pcidsk-setting]
+ [--tiff-setting]
+ [--geotiff-setting]
+ [--jpeg-setting]
+ [--gif-setting]
EOF
exit $1
}
@@ -52,6 +60,84 @@
echo $CONFIG_FORMATS
;;
+ --libz-setting)
+ if test "$CONFIG_HIDE_INTERNAL_SYMBOLS" = "yes" && test "$CONFIG_LIBZ_SETTING" = "internal"
+ then
+ echo "hidden"
+ else
+ echo "$CONFIG_LIBZ_SETTING"
+ fi
+
+ ;;
+
+ --pcraster-setting)
+ if test "$CONFIG_HIDE_INTERNAL_SYMBOLS" = "yes" && test "$CONFIG_PCRASTER_SETTING" = "internal"
+ then
+ echo "hidden"
+ else
+ echo "$CONFIG_PCRASTER_SETTING"
+ fi
+
+ ;;
+
+ --png-setting)
+ if test "$CONFIG_HIDE_INTERNAL_SYMBOLS" = "yes" && test "$CONFIG_PNG_SETTING" = "internal"
+ then
+ echo "hidden"
+ else
+ echo "$CONFIG_PNG_SETTING"
+ fi
+
+ ;;
+
+ --pcidsk-setting)
+ if test "$CONFIG_HIDE_INTERNAL_SYMBOLS" = "yes" && test "$CONFIG_PCIDSK_SETTING" = "internal"
+ then
+ echo "hidden"
+ else
+ echo "$CONFIG_PCIDSK_SETTING"
+ fi
+
+ ;;
+
+ --tiff-setting)
+ if test "$CONFIG_HIDE_INTERNAL_SYMBOLS" = "yes" && test "$CONFIG_TIFF_SETTING" = "internal"
+ then
+ echo "hidden"
+ else
+ echo "$CONFIG_TIFF_SETTING"
+ fi
+
+ ;;
+
+ --geotiff-setting)
+ if test "$CONFIG_HIDE_INTERNAL_SYMBOLS" = "yes" && test "$CONFIG_GEOTIFF_SETTING" = "internal"
+ then
+ echo "hidden"
+ else
+ echo "$CONFIG_GEOTIFF_SETTING"
+ fi
+
+ ;;
+
+ --jpeg-setting)
+ if test "$CONFIG_HIDE_INTERNAL_SYMBOLS" = "yes" && test "$CONFIG_JPEG_SETTING" = "internal"
+ then
+ echo "hidden"
+ else
+ echo "$CONFIG_JPEG_SETTING"
+ fi
+
+ ;;
+
+ --gif-setting)
+ if test "$CONFIG_HIDE_INTERNAL_SYMBOLS" = "yes" && test "$CONFIG_GIF_SETTING" = "internal"
+ then
+ echo "hidden"
+ else
+ echo "$CONFIG_GIF_SETTING"
+ fi
+ ;;
*)
usage 1 1>&2
;;
Index: /home/rush/Projects/gdal-trunk/apps/GNUmakefile
===================================================================
--- /home/rush/Projects/gdal-trunk/apps/GNUmakefile (revision 22359)
+++ /home/rush/Projects/gdal-trunk/apps/GNUmakefile (working copy)
@@ -138,6 +138,15 @@
echo 'CONFIG_VERSION="'`cat ../VERSION`'"' >> gdal-config
echo 'CONFIG_OGR_ENABLED=$(OGR_ENABLED)' >> gdal-config
echo 'CONFIG_FORMATS="$(GDAL_FORMATS)"' >> gdal-config
+ echo 'CONFIG_LIBZ_SETTING="$(LIBZ_SETTING)"' >> gdal-config
+ echo 'CONFIG_PCRASTER_SETTING="$(PCRASTER_SETTING)"' >> gdal-config
+ echo 'CONFIG_PNG_SETTING="$(PNG_SETTING)"' >> gdal-config
+ echo 'CONFIG_PCIDSK_SETTING="$(PCIDSK_SETTING)"' >> gdal-config
+ echo 'CONFIG_TIFF_SETTING="$(TIFF_SETTING)"' >> gdal-config
+ echo 'CONFIG_GEOTIFF_SETTING="$(GEOTIFF_SETTING)"' >> gdal-config
+ echo 'CONFIG_JPEG_SETTING="$(JPEG_SETTING)"' >> gdal-config
+ echo 'CONFIG_GIF_SETTING="$(GIF_SETTING)"' >> gdal-config
+ echo 'CONFIG_HIDE_INTERNAL_SYMBOLS="$(HAVE_HIDE_INTERNAL_SYMBOLS)"' >> gdal-config
cat gdal-config.in >> gdal-config
chmod a+x gdal-config
@@ -152,6 +161,15 @@
echo 'CONFIG_VERSION="'`cat ../VERSION`'"' >> gdal-config-inst
echo 'CONFIG_OGR_ENABLED=$(OGR_ENABLED)' >> gdal-config-inst
echo 'CONFIG_FORMATS="$(GDAL_FORMATS)"' >> gdal-config-inst
+ echo 'CONFIG_LIBZ_SETTING="$(LIBZ_SETTING)"' >> gdal-config-inst
+ echo 'CONFIG_PCRASTER_SETTING="$(PCRASTER_SETTING)"' >> gdal-config-inst
+ echo 'CONFIG_PNG_SETTING="$(PNG_SETTING)"' >> gdal-config-inst
+ echo 'CONFIG_PCIDSK_SETTING="$(PCIDSK_SETTING)"' >> gdal-config-inst
+ echo 'CONFIG_TIFF_SETTING="$(TIFF_SETTING)"' >> gdal-config-inst
+ echo 'CONFIG_GEOTIFF_SETTING="$(GEOTIFF_SETTING)"' >> gdal-config-inst
+ echo 'CONFIG_JPEG_SETTING="$(JPEG_SETTING)"' >> gdal-config-inst
+ echo 'CONFIG_GIF_SETTING="$(GIF_SETTING)"' >> gdal-config-inst
+ echo 'CONFIG_HIDE_INTERNAL_SYMBOLS="$(HAVE_HIDE_INTERNAL_SYMBOLS)"' >> gdal-config-inst
cat gdal-config.in >> gdal-config-inst
chmod a+x gdal-config-inst
Index: /home/rush/Projects/gdal-trunk/GDALmake.opt.in
===================================================================
--- /home/rush/Projects/gdal-trunk/GDALmake.opt.in (revision 22359)
+++ /home/rush/Projects/gdal-trunk/GDALmake.opt.in (working copy)
@@ -55,6 +55,7 @@
HAVE_OGDI = @HAVE_OGDI@
OGR_ENABLED = @OGR_ENABLED@
+HAVE_HIDE_INTERNAL_SYMBOLS = @HAVE_HIDE_INTERNAL_SYMBOLS@
OSX_FRAMEWORK_PREFIX = /Library/Frameworks/GDAL.framework
OSX_VERSION_FRAMEWORK_PREFIX = ${OSX_FRAMEWORK_PREFIX}/Versions/@GDAL_VERSION_MAJOR@.@GDAL_VERSION_MINOR@
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev