Index: configure =================================================================== --- configure (revision 23757) +++ configure (working copy) @@ -722,6 +722,7 @@ NETCDF_HAS_NC4 NETCDF_ROOT NETCDF_SETTING +NETCDF_NCCONFIG HDF5_INCLUDE HAVE_HDF5 HDF4_INCLUDE @@ -21071,6 +21072,7 @@ NETCDF_ROOT= NETCDF_HAS_NC4= NETCDF_HAS_HDF4= +NETCDF_NCCONFIG= # Check whether --with-netcdf was given. @@ -21085,6 +21087,169 @@ echo "netCDF support disabled." +else + + unset ac_cv_path_NETCDF_NCCONFIG + if test "$with_netcdf" = "yes" -o "$with_netcdf" = "" ; then + # Extract the first word of "nc-config", so it can be a program name with args. +set dummy nc-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_NETCDF_NCCONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $NETCDF_NCCONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_NETCDF_NCCONFIG="$NETCDF_NCCONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_NETCDF_NCCONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_NETCDF_NCCONFIG" && ac_cv_path_NETCDF_NCCONFIG="no" + ;; +esac +fi +NETCDF_NCCONFIG=$ac_cv_path_NETCDF_NCCONFIG +if test -n "$NETCDF_NCCONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NETCDF_NCCONFIG" >&5 +$as_echo "$NETCDF_NCCONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + tmp_path="$with_netcdf/bin$PATH_SEPARATOR$with_netcdf" + # Extract the first word of "nc-config", so it can be a program name with args. +set dummy nc-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_NETCDF_NCCONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $NETCDF_NCCONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_NETCDF_NCCONFIG="$NETCDF_NCCONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $tmp_path +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_NETCDF_NCCONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_NETCDF_NCCONFIG" && ac_cv_path_NETCDF_NCCONFIG="no" + ;; +esac +fi +NETCDF_NCCONFIG=$ac_cv_path_NETCDF_NCCONFIG +if test -n "$NETCDF_NCCONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NETCDF_NCCONFIG" >&5 +$as_echo "$NETCDF_NCCONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi + + if test "$NETCDF_NCCONFIG" = "no" ; then + echo " did not find nc-config, some features may be missing" + echo " use --with-netcdf=/path/to/netcdf or add nc-config to PATH" + NETCDF_NCCONFIG= + elif test "`$NETCDF_NCCONFIG --version`" = "" ; then + echo "did not get netCDF version from $NETCDF_NCCONFIG ... using fallback" + NETCDF_NCCONFIG= + fi + + if test "$NETCDF_NCCONFIG" != "" ; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking libnetcdf compiler and linker flags with nc-config" >&5 +$as_echo_n "checking libnetcdf compiler and linker flags with nc-config... " >&6; } + NETCDF_VERSION=`$NETCDF_NCCONFIG --version` + NETCDF_PREFIX=`$NETCDF_NCCONFIG --prefix` + NETCDF_INCLUDEDIR=`$NETCDF_NCCONFIG --includedir` + NETCDF_LIBS=`$NETCDF_NCCONFIG --libs` + echo "" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: got version=\"$NETCDF_VERSION\", prefix=\"$NETCDF_PREFIX\", + libs=\"$NETCDF_LIBS\", includedir=\"$NETCDF_INCLUDEDIR\"" >&5 +$as_echo " got version=\"$NETCDF_VERSION\", prefix=\"$NETCDF_PREFIX\", + libs=\"$NETCDF_LIBS\", includedir=\"$NETCDF_INCLUDEDIR\"" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nc_open in -lnetcdf" >&5 +$as_echo_n "checking for nc_open in -lnetcdf... " >&6; } +if ${ac_cv_lib_netcdf_nc_open+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnetcdf $NETCDF_LIBS $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char nc_open (); +int +main () +{ +return nc_open (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_netcdf_nc_open=yes +else + ac_cv_lib_netcdf_nc_open=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_netcdf_nc_open" >&5 +$as_echo "$ac_cv_lib_netcdf_nc_open" >&6; } +if test "x$ac_cv_lib_netcdf_nc_open" = xyes; then : + NETCDF_SETTING=yes +else + NETCDF_SETTING=no +fi + + + if test "$NETCDF_SETTING" = "yes" ; then + EXTRA_INCLUDES="-I$NETCDF_INCLUDEDIR $EXTRA_INCLUDES" + NETCDF_ROOT=$NETCDF_PREFIX + LIBS="$NETCDF_LIBS $LIBS" + fi + + elif test "$with_netcdf" = "yes" -o "$with_netcdf" = "" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nc_open in -lnetcdf" >&5 @@ -21154,7 +21319,7 @@ fi else - echo "libnetcdf not found - netCDF support disabled" + echo "libnetcdf not found ... netCDF support disabled" fi else @@ -21218,34 +21383,18 @@ echo "using libnetcdf from $with_netcdf" else - echo "libnetcdf not found in "$with_netcdf" - netCDF support disabled" + echo "libnetcdf not found in "$with_netcdf" ... netCDF support disabled" fi fi - if test "$NETCDF_SETTING" = "yes" ; then - ncdump=$NETCDF_ROOT"/bin/ncdump" - nc_config="" + if test "$NETCDF_NCCONFIG" != "" ; then - if { test -x "$ncdump"; }; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking libnetcdf version with $ncdump" >&5 -$as_echo_n "checking libnetcdf version with $ncdump... " >&6; } - netcdf_version=`$ncdump 2>&1 | grep "netcdf library version" | awk '{gsub(/"/,"");print $4}'` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: got $netcdf_version" >&5 -$as_echo "got $netcdf_version" >&6; } - if test "$netcdf_version" != "" -a "${netcdf_version:0:1}" == "4" ; then - nc_config=$NETCDF_ROOT"/bin/nc-config" - fi - fi - - if { test -x "$nc_config"; }; then - echo "checking libnetcdf config with $nc_config" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for netcdf-4 (and HDF5) support in libnetcdf" >&5 $as_echo_n "checking for netcdf-4 (and HDF5) support in libnetcdf... " >&6; } - if test "x$($nc_config --has-nc4)" = "xyes"; then : + if test "x$($NETCDF_NCCONFIG --has-nc4)" = "xyes"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } NETCDF_HAS_NC4=yes @@ -21257,7 +21406,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for HDF4 support in libnetcdf" >&5 $as_echo_n "checking for HDF4 support in libnetcdf... " >&6; } - if test "x$($nc_config --has-hdf4)" = "xyes"; then : + if test "x$($NETCDF_NCCONFIG --has-hdf4)" = "xyes"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } NETCDF_HAS_HDF4=yes @@ -21268,25 +21417,28 @@ fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ncdump and/or nc-config not found, skipping netcdf-4 tests" >&5 -$as_echo "ncdump and/or nc-config not found, skipping netcdf-4 tests" >&6; } NETCDF_HAS_NC4=no NETCDF_HAS_HDF4=no fi fi +fi + NETCDF_SETTING=$NETCDF_SETTING -NETCDF_ROOT=$NETCDF_ROOT -NETCDF_HAS_NC4=$NETCDF_HAS_NC4 +if test "$NETCDF_SETTING" != "no" ; then -NETCDF_HAS_HDF4=$NETCDF_HAS_HDF4 + NETCDF_ROOT=$NETCDF_ROOT + NETCDF_HAS_NC4=$NETCDF_HAS_NC4 -if test "$NETCDF_SETTING" != "no" ; then - OPT_GDAL_FORMATS="netcdf $OPT_GDAL_FORMATS" + NETCDF_HAS_HDF4=$NETCDF_HAS_HDF4 + + + OPT_GDAL_FORMATS="netcdf $OPT_GDAL_FORMATS" + fi Index: configure.in =================================================================== --- configure.in (revision 23757) +++ configure.in (working copy) @@ -1410,6 +1410,7 @@ NETCDF_ROOT= NETCDF_HAS_NC4= NETCDF_HAS_HDF4= +NETCDF_NCCONFIG= AC_ARG_WITH([netcdf],[ --with-netcdf[=ARG] Include netCDF support (ARG=no or netCDF tree prefix)],,) @@ -1419,6 +1420,51 @@ echo "netCDF support disabled." +else + + dnl find nc-config location + unset ac_cv_path_NETCDF_NCCONFIG + if test "$with_netcdf" = "yes" -o "$with_netcdf" = "" ; then + AC_PATH_PROG(NETCDF_NCCONFIG, nc-config, no) + else + tmp_path="$with_netcdf/bin$PATH_SEPARATOR$with_netcdf" + AC_PATH_PROG(NETCDF_NCCONFIG, nc-config, no, $tmp_path) + fi + + dnl test nc-config + if test "$NETCDF_NCCONFIG" = "no" ; then + echo " did not find nc-config, some features may be missing" + echo " use --with-netcdf=/path/to/netcdf or add nc-config to PATH" + NETCDF_NCCONFIG= + elif test "`$NETCDF_NCCONFIG --version`" = "" ; then + echo "did not get netCDF version from $NETCDF_NCCONFIG ... using fallback" + NETCDF_NCCONFIG= + fi + + dnl test linking using flags from nc-config + if test "$NETCDF_NCCONFIG" != "" ; then + + AC_MSG_CHECKING([libnetcdf compiler and linker flags with nc-config]) + NETCDF_VERSION=`$NETCDF_NCCONFIG --version` + NETCDF_PREFIX=`$NETCDF_NCCONFIG --prefix` + NETCDF_INCLUDEDIR=`$NETCDF_NCCONFIG --includedir` + NETCDF_LIBS=`$NETCDF_NCCONFIG --libs` + echo "" +dnl AC_MSG_RESULT([ using $NETCDF_VERSION in $NETCDF_PREFIX]) + AC_MSG_RESULT([ got version="$NETCDF_VERSION", prefix="$NETCDF_PREFIX", + libs="$NETCDF_LIBS", includedir="$NETCDF_INCLUDEDIR"]) + + AC_CHECK_LIB([netcdf], [nc_open], [NETCDF_SETTING=yes], [NETCDF_SETTING=no], $NETCDF_LIBS) + + if test "$NETCDF_SETTING" = "yes" ; then + EXTRA_INCLUDES="-I$NETCDF_INCLUDEDIR $EXTRA_INCLUDES" + NETCDF_ROOT=$NETCDF_PREFIX + LIBS="$NETCDF_LIBS $LIBS" + fi + +dnl previous behaviour without nc-config + +dnl test linking using default settings elif test "$with_netcdf" = "yes" -o "$with_netcdf" = "" ; then AC_CHECK_LIB([netcdf], [nc_open], [NETCDF_SETTING=yes], [NETCDF_SETTING=no],) @@ -1452,9 +1498,10 @@ fi else - echo "libnetcdf not found - netCDF support disabled" + echo "libnetcdf not found ... netCDF support disabled" fi +dnl test linking using --with_netcdf dir else AC_CHECK_LIB([netcdf], [nc_open], [NETCDF_SETTING=yes], [NETCDF_SETTING=no],-L$with_netcdf -L$with_netcdf/lib) @@ -1475,35 +1522,18 @@ echo "using libnetcdf from $with_netcdf" else - echo "libnetcdf not found in "$with_netcdf" - netCDF support disabled" + echo "libnetcdf not found in "$with_netcdf" ... netCDF support disabled" fi fi -dnl start new test - -dnl test for NC4 and HDF4 support +dnl test for NC4 and HDF4 support with nc-config if test "$NETCDF_SETTING" = "yes" ; then - ncdump=$NETCDF_ROOT"/bin/ncdump" - nc_config="" + if test "$NETCDF_NCCONFIG" != "" ; then - dnl test for libnetcdf v4 - if { test -x "$ncdump"; }; then - AC_MSG_CHECKING([libnetcdf version with $ncdump]) - netcdf_version=`$ncdump 2>&1 | grep "netcdf library version" | awk '{gsub(/"/,"");print $4}'` - AC_MSG_RESULT([got $netcdf_version]) - if test "$netcdf_version" != "" -a "${netcdf_version:0:1}" == "4" ; then - nc_config=$NETCDF_ROOT"/bin/nc-config" - fi - fi - - dnl if nc-config is found (only for libnetcdf-4), test for netcdf-4 and HDF4 support - if { test -x "$nc_config"; }; then - echo "checking libnetcdf config with $nc_config" - AC_MSG_CHECKING([for netcdf-4 (and HDF5) support in libnetcdf]) - if test "x$($nc_config --has-nc4)" = "xyes"; then : + if test "x$($NETCDF_NCCONFIG --has-nc4)" = "xyes"; then : AC_MSG_RESULT([yes]) NETCDF_HAS_NC4=yes else @@ -1512,7 +1542,7 @@ fi AC_MSG_CHECKING([for HDF4 support in libnetcdf]) - if test "x$($nc_config --has-hdf4)" = "xyes"; then : + if test "x$($NETCDF_NCCONFIG --has-hdf4)" = "xyes"; then : AC_MSG_RESULT([yes]) NETCDF_HAS_HDF4=yes else @@ -1521,21 +1551,25 @@ fi else - AC_MSG_RESULT([ncdump and/or nc-config not found, skipping netcdf-4 tests]) NETCDF_HAS_NC4=no NETCDF_HAS_HDF4=no fi fi -dnl end new test +fi +dnl export results + AC_SUBST([NETCDF_SETTING], [$NETCDF_SETTING]) -AC_SUBST([NETCDF_ROOT], [$NETCDF_ROOT]) -AC_SUBST([NETCDF_HAS_NC4], [$NETCDF_HAS_NC4]) -AC_SUBST([NETCDF_HAS_HDF4], [$NETCDF_HAS_HDF4]) if test "$NETCDF_SETTING" != "no" ; then - OPT_GDAL_FORMATS="netcdf $OPT_GDAL_FORMATS" + + AC_SUBST([NETCDF_ROOT], [$NETCDF_ROOT]) + AC_SUBST([NETCDF_HAS_NC4], [$NETCDF_HAS_NC4]) + AC_SUBST([NETCDF_HAS_HDF4], [$NETCDF_HAS_HDF4]) + + OPT_GDAL_FORMATS="netcdf $OPT_GDAL_FORMATS" + fi