diff --git a/.gitattributes b/.gitattributes index e1e127f..84cabbd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10,7 +10,6 @@ /README -text /autogen.sh -text /config.guess -text -/config.h.in -text /config.sub -text /configure.ac -text /depcomp -text diff --git a/config.h.in b/config.h.in deleted file mode 100755 index 558ea81..0000000 --- a/config.h.in +++ /dev/null @@ -1,44 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* "" */ -#undef MY_BUILD_CPU - -/* "" */ -#undef MY_BUILD_OS - -/* "" */ -#undef MY_BUILD_VENDOR - -/* "" */ -#undef MY_GNUNAME - -/* "" */ -#undef MY_UNAME - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Version number of package */ -#undef VERSION - -/* Define to 1 if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif diff --git a/configure.ac b/configure.ac index 8f03407..106fc32 100644 --- a/configure.ac +++ b/configure.ac @@ -24,6 +24,12 @@ AC_ARG_ENABLE( [Compile with debug support [default=no]])], [USE_DEBUG=$enableval]) +AC_ARG_ENABLE( + [shared], + [AC_HELP_STRING([--enable-shared], + [Compile with shared library support [default=no]])], + [USE_SHARED=$enableval]) + AC_ARG_ENABLE( [64], [AC_HELP_STRING([--enable-64], @@ -227,6 +233,17 @@ else AC_MSG_RESULT([no]) fi +# shared library +AC_MSG_CHECKING([if shared libraries are enabled]) + +if test "X$USE_SHARED" = "Xyes"; then + AC_MSG_RESULT([yes]) + CFLAGS="$CFLAGS -fPIC" + FFLAGS="$FFLAGS -fPIC" +else + AC_MSG_RESULT([no]) +fi + ###################### 64-bit compilation enabled ############################# AC_MSG_CHECKING([if 64-bit compilation is enabled]) diff --git a/doc/Doxyfile b/doc/Doxyfile index 554de61..4f55e5b 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = H5Part -PROJECT_NUMBER = 1.3.3 +PROJECT_NUMBER = 1.5 OUTPUT_DIRECTORY = ./ReferencePages CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/src/H5Part.c b/src/H5Part.c index a444b8f..e83343b 100644 --- a/src/H5Part.c +++ b/src/H5Part.c @@ -1226,10 +1226,6 @@ H5PartWriteFileAttribString ( Writes a string attribute bound to the current time-step. - This function creates a new attribute \c name with the string \c value as - content. The attribute is bound to the current time step in the file given - by the file handle \c f. - If the attribute already exists an error will be returned. There is currently no way to change the content of an existing attribute. @@ -1239,8 +1235,8 @@ H5PartWriteFileAttribString ( h5part_int64_t H5PartWriteStepAttribString ( H5PartFile *f, /*!< [in] Handle to open file */ - const char *attrib_name,/*!< [in] Name of attribute to create */ - const char *attrib_value/*!< [in] Value of attribute */ + const char *name, /*!< [in] Name of attribute to create */ + const char *value /*!< [in] Value of attribute */ ) { SET_FNAME ( "H5PartWriteStepAttribString" ); @@ -1251,10 +1247,80 @@ H5PartWriteStepAttribString ( h5part_int64_t herr = _H5Part_write_attrib ( f->timegroup, - attrib_name, + name, H5T_NATIVE_CHAR, - attrib_value, - strlen ( attrib_value ) + 1 ); + value, + strlen ( value ) + 1 ); + if ( herr < 0 ) return herr; + + return H5PART_SUCCESS; +} + +/*! + \ingroup h5part_attrib + + Writes an int32 attribute bound to the current time-step. + + If the attribute already exists an error will be returned. There + is currently no way to change the content of an existing attribute. + + \return \c H5PART_SUCCESS or error code +*/ + +h5part_int64_t +H5PartWriteStepAttribInt32 ( + H5PartFile *f, /*!< [in] Handle to open file */ + const char *name, /*!< [in] Name of attribute to create */ + const h5part_int32_t value /*!< [in] Value of attribute */ + ) { + + SET_FNAME ( "H5PartWriteStepAttribInt32" ); + + CHECK_FILEHANDLE ( f ); + CHECK_WRITABLE_MODE( f ); + CHECK_TIMEGROUP( f ); + + h5part_int64_t herr = _H5Part_write_attrib ( + f->timegroup, + name, + H5T_NATIVE_INT32, + &value, + 1 ); + if ( herr < 0 ) return herr; + + return H5PART_SUCCESS; +} + +/*! + \ingroup h5part_attrib + + Writes a float32 attribute bound to the current time-step. + + If the attribute already exists an error will be returned. There + is currently no way to change the content of an existing attribute. + + \return \c H5PART_SUCCESS or error code +*/ + +h5part_int64_t +H5PartWriteStepAttribFloat32 ( + H5PartFile *f, /*!< [in] Handle to open file */ + const char *name, /*!< [in] Name of attribute to create */ + const h5part_float32_t value /*!< [in] Value of attribute */ + ) { + + SET_FNAME ( "H5PartWriteStepAttribFloat32" ); + + CHECK_FILEHANDLE ( f ); + CHECK_WRITABLE_MODE( f ); + CHECK_TIMEGROUP( f ); + + h5part_int64_t herr = _H5Part_write_attrib ( + f->timegroup, + name, + H5T_NATIVE_FLOAT, + &value, + 1 ); if ( herr < 0 ) return herr; return H5PART_SUCCESS; diff --git a/src/H5Part.h b/src/H5Part.h index 65a5a19..9fb6ed0 100644 --- a/src/H5Part.h +++ b/src/H5Part.h @@ -52,6 +52,7 @@ extern "C" { /* data types */ #define H5PART_INT64 ((h5part_int64_t)H5T_NATIVE_INT64) +#define H5PART_INT32 ((h5part_int64_t)H5T_NATIVE_INT32) #define H5PART_FLOAT64 ((h5part_int64_t)H5T_NATIVE_DOUBLE) #define H5PART_FLOAT32 ((h5part_int64_t)H5T_NATIVE_FLOAT) #define H5PART_CHAR ((h5part_int64_t)H5T_NATIVE_CHAR) @@ -286,14 +287,28 @@ h5part_int64_t H5PartWriteFileAttribString ( H5PartFile *f, const char *name, - const char *attrib + const char *value ); h5part_int64_t H5PartWriteStepAttribString ( H5PartFile *f, const char *name, - const char *attrib + const char *value + ); + +h5part_int64_t +H5PartWriteStepAttribInt32 ( + H5PartFile *f, + const char *name, + const h5part_int32_t value + ); + +h5part_int64_t +H5PartWriteStepAttribFloat32 ( + H5PartFile *f, + const char *name, + const h5part_float32_t value ); h5part_int64_t @@ -330,14 +345,14 @@ h5part_int64_t H5PartReadStepAttrib ( H5PartFile *f, const char *name, - void *data + void *value ); h5part_int64_t H5PartReadFileAttrib ( H5PartFile *f, const char *name, - void *data + void *value ); h5part_int64_t