diff --git a/libgui/src/module.mk b/libgui/src/module.mk --- a/libgui/src/module.mk +++ b/libgui/src/module.mk @@ -183,7 +183,6 @@ src_libgui_src_la_CPPFLAGS = \ $(AM_CPPFLAGS) \ $(FT2_CPPFLAGS) \ $(FONTCONFIG_CPPFLAGS) \ - $(HDF5_CPPFLAGS) \ @OCTGUI_DLL_DEFS@ \ @QT_CPPFLAGS@ \ -I$(srcdir)/qterminal/libqterminal \ diff --git a/libinterp/corefcn/load-save.h b/libinterp/corefcn/load-save.h --- a/libinterp/corefcn/load-save.h +++ b/libinterp/corefcn/load-save.h @@ -41,9 +41,7 @@ enum load_save_format_type LS_MAT_BINARY, LS_MAT5_BINARY, LS_MAT7_BINARY, -#ifdef HAVE_HDF5 LS_HDF5, -#endif /* HAVE_HDF5 */ LS_UNKNOWN }; diff --git a/libinterp/octave-value/ov-base-int.cc b/libinterp/octave-value/ov-base-int.cc --- a/libinterp/octave-value/ov-base-int.cc +++ b/libinterp/octave-value/ov-base-int.cc @@ -553,14 +553,15 @@ octave_base_int_scalar::load_binary ( return true; } -#if defined (HAVE_HDF5) - template bool octave_base_int_scalar::save_hdf5 (octave_hdf5_id loc_id, const char *name, bool) { + bool retval = true; + +#if defined (HAVE_HDF5) + hid_t save_type_hid = HDF5_SAVE_TYPE; - bool retval = true; hsize_t dimens[3]; hid_t space_hid, data_hid; space_hid = data_hid = -1; @@ -587,6 +588,10 @@ octave_base_int_scalar::save_hdf5 (oc H5Dclose (data_hid); H5Sclose (space_hid); +#else + gripe_save ("hdf5"); +#endif + return retval; } @@ -594,6 +599,8 @@ template bool octave_base_int_scalar::load_hdf5 (octave_hdf5_id loc_id, const char *name) { +#if defined (HAVE_HDF5) + hid_t save_type_hid = HDF5_SAVE_TYPE; #if HAVE_HDF5_18 hid_t data_hid = H5Dopen (loc_id, name, H5P_DEFAULT); @@ -623,6 +630,10 @@ octave_base_int_scalar::load_hdf5 (oc H5Dclose (data_hid); return true; + +#else + gripe_load ("hdf5"); + return false; +#endif } -#endif diff --git a/libinterp/octave-value/ov-base-int.h b/libinterp/octave-value/ov-base-int.h --- a/libinterp/octave-value/ov-base-int.h +++ b/libinterp/octave-value/ov-base-int.h @@ -121,11 +121,9 @@ public: bool load_binary (std::istream& is, bool swap, oct_mach_info::float_format); -#if defined (HAVE_HDF5) bool save_hdf5 (octave_hdf5_id loc_id, const char *name, bool); bool load_hdf5 (octave_hdf5_id loc_id, const char *name); -#endif }; #endif diff --git a/libinterp/octave-value/ov-base.cc b/libinterp/octave-value/ov-base.cc --- a/libinterp/octave-value/ov-base.cc +++ b/libinterp/octave-value/ov-base.cc @@ -1091,10 +1091,8 @@ octave_base_value::load_binary (std::ist return false; } -#if defined (HAVE_HDF5) - bool -octave_base_value::save_hdf5 (hid_t, const char *, bool) +octave_base_value::save_hdf5 (octave_hdf5_id, const char *, bool) { gripe_wrong_type_arg ("octave_base_value::save_binary()", type_name ()); @@ -1102,15 +1100,13 @@ octave_base_value::save_hdf5 (hid_t, con } bool -octave_base_value::load_hdf5 (hid_t, const char *) +octave_base_value::load_hdf5 (octave_hdf5_id, const char *) { gripe_wrong_type_arg ("octave_base_value::load_binary()", type_name ()); return false; } -#endif - int octave_base_value::write (octave_stream&, int, oct_data_conv::data_type, int, oct_mach_info::float_format) const diff --git a/libinterp/octave-value/ov-struct.cc b/libinterp/octave-value/ov-struct.cc --- a/libinterp/octave-value/ov-struct.cc +++ b/libinterp/octave-value/ov-struct.cc @@ -1624,12 +1624,12 @@ octave_scalar_struct::load_binary (std:: return success; } -#if defined (HAVE_HDF5) - bool octave_scalar_struct::save_hdf5 (octave_hdf5_id loc_id, const char *name, bool save_as_floats) { +#if defined (HAVE_HDF5) + hid_t data_hid = -1; #if HAVE_HDF5_18 @@ -1664,6 +1664,11 @@ octave_scalar_struct::save_hdf5 (octave_ H5Gclose (data_hid); return true; + +#else + gripe_save ("hdf5"); + return false; +#endif } bool @@ -1671,6 +1676,8 @@ octave_scalar_struct::load_hdf5 (octave_ { bool retval = false; +#if defined (HAVE_HDF5) + hdf5_callback_data dsub; herr_t retval2 = 0; @@ -1710,11 +1717,13 @@ octave_scalar_struct::load_hdf5 (octave_ retval = true; } +#else + gripe_load ("hdf5"); +#endif + return retval; } -#endif - mxArray * octave_scalar_struct::as_mxArray (void) const { diff --git a/libinterp/octave-value/ov-struct.h b/libinterp/octave-value/ov-struct.h --- a/libinterp/octave-value/ov-struct.h +++ b/libinterp/octave-value/ov-struct.h @@ -260,11 +260,9 @@ public: bool load_binary (std::istream& is, bool swap, oct_mach_info::float_format fmt); -#if defined (HAVE_HDF5) bool save_hdf5 (octave_hdf5_id loc_id, const char *name, bool save_as_floats); bool load_hdf5 (octave_hdf5_id loc_id, const char *name); -#endif mxArray *as_mxArray (void) const;