Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCHv1.0] hdf5: new package
@ 2015-01-05  0:12 Ernesto L. Williams Jr
  2015-01-06  3:44 ` Ernest Williams
  2015-01-07 21:56 ` Thomas Petazzoni
  0 siblings, 2 replies; 3+ messages in thread
From: Ernesto L. Williams Jr @ 2015-01-05  0:12 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Ernesto L. Williams Jr <ernesto@slac.stanford.edu>
---
 package/Config.in                                 |   1 +
 package/hdf5/Config.in                            |  19 +
 package/hdf5/hdf5-Makefile-configs.patch          | 147 ++++
 package/hdf5/hdf5-generate-H5Tinit.c.patch        | 995 ++++++++++++++++++++++
 package/hdf5/hdf5-generate-H5lib_settings.c.patch | 100 +++
 package/hdf5/hdf5.hash                            |   2 +
 package/hdf5/hdf5.mk                              |  58 ++
 7 files changed, 1322 insertions(+)
 create mode 100644 package/hdf5/Config.in
 create mode 100644 package/hdf5/hdf5-Makefile-configs.patch
 create mode 100644 package/hdf5/hdf5-generate-H5Tinit.c.patch
 create mode 100644 package/hdf5/hdf5-generate-H5lib_settings.c.patch
 create mode 100644 package/hdf5/hdf5.hash
 create mode 100644 package/hdf5/hdf5.mk

diff --git a/package/Config.in b/package/Config.in
index 8d91b04..897c1a9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -597,6 +597,7 @@ menu "Audio/Sound"
 endmenu
 
 menu "Compression and decompression"
+	source "package/hdf5/Config.in"
 	source "package/libarchive/Config.in"
 	source "package/lzo/Config.in"
 	source "package/snappy/Config.in"
diff --git a/package/hdf5/Config.in b/package/hdf5/Config.in
new file mode 100644
index 0000000..e8ba072
--- /dev/null
+++ b/package/hdf5/Config.in
@@ -0,0 +1,19 @@
+config BR2_PACKAGE_HDF5
+	bool "hdf5"
+	help
+	  HDF (Hierarchical Data Format) is a data model, library,
+	  and file format: for storing, analyzing and managing data.
+	  The HDF5 data model, file format, API, library, and tools
+	  are open and distributed without charge.
+	  
+	  HDF5 uses the zlib library to support the HDF5 deflate
+	  data compression filter. 
+	  If you want to use HDF5 to optionally compress/encode data,
+	  you will also need Szip. The HDF5 Library must be
+	  configured and built using the Szip Library.
+	  Make sure that the szip package is installed prior to
+	  building HDF5.
+	  For Szip please refer to the following URL:
+	  http://hdfgroup.org/doc_resource/SZIP
+	    
+	  http://www.hdfgroup.org
diff --git a/package/hdf5/hdf5-Makefile-configs.patch b/package/hdf5/hdf5-Makefile-configs.patch
new file mode 100644
index 0000000..035cf6e
--- /dev/null
+++ b/package/hdf5/hdf5-Makefile-configs.patch
@@ -0,0 +1,147 @@
+diff -urN hdf5-1.8.14.orig/src/Makefile.am hdf5-1.8.14/src/Makefile.am
+--- hdf5-1.8.14.orig/src/Makefile.am	2015-01-04 08:01:46.267979169 -0800
++++ hdf5-1.8.14/src/Makefile.am	2015-01-04 08:25:33.523856257 -0800
+@@ -26,6 +26,12 @@
+ # Use -g to force no optimization since many compilers (e.g., Intel) takes
+ # a long time to compile it with any optimization on.  H5detect is used
+ # to generate H5Tinit.c once. So, optimization is not critical.
++
++
++# Modified by ELW: This autogeneration should be done by PERL or
++# configure to support portability and cross compiling. 
++# For now, I will take these files from a host only build
++# and used them for a cross very similar to the x86_64 architecture
+ noinst_PROGRAMS = H5detect H5make_libsettings
+ 
+ # Our main target, the HDF5 library
+@@ -34,8 +40,13 @@
+ # Add libtool numbers to the HDF5 library (from config/lt_vers.am)
+ libhdf5_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
+ 
++# Modified by ELW: This autogeneration should be done by PERL or
++# configure to support portability
++# and cross compiling. For now, I will take these files from a host only build
++# and used them for a cross very similar to the x86_64 architecture
+ # H5Tinit.c and H5lib_settings.c are generated files and should be cleaned.
+-MOSTLYCLEANFILES=H5Tinit.c H5lib_settings.c
++#MOSTLYCLEANFILES=H5Tinit.c H5lib_settings.c
++
+ # H5pubconf.h is generated by configure, and should be cleaned.
+ DISTCLEANFILES=H5pubconf.h
+ 
+@@ -127,24 +138,36 @@
+ # Things should have been all set during H5detect making.
+ # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
+ # is set to ignore the error.
+-H5Tinit.c: H5detect$(EXEEXT)
+-	LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) |                  \
+-		sed -e 's/-L/:/g' -e 's/ //g'`"                               \
+-	$(RUNSERIAL) ./H5detect$(EXEEXT) > $@  ||                               \
+-	    (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||          \
+-	    ($(RM) $@ ; exit 1)
++
++# Modified by ELW: This autogeneration should be done by PERL or
++# configure to support portability and cross compiling. 
++# For now, I will take these files from a host only build
++# and used them for a cross very similar to the x86_64 architecture
++
++#H5Tinit.c: H5detect$(EXEEXT)
++#	LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) |                  \
++#		sed -e 's/-L/:/g' -e 's/ //g'`"                               \
++#	$(RUNSERIAL) ./H5detect$(EXEEXT) > $@  ||                               \
++#	    (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||          \
++#	    ($(RM) $@ ; exit 1)
+ 
+ # Build configuration header file generation
+ # The LD_LIBRARY_PATH setting is a kludge.
+ # Things should have been all set during H5make_libsettings making.
+ # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
+ # is set to ignore the error.
+-H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings
+-	LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) |                  \
+-		sed -e 's/-L/:/g' -e 's/ //g'`"                               \
+-	$(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@  ||                               \
+-	    (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||          \
+-	    ($(RM) $@ ; exit 1)
++
++# Modified by ELW: This autogeneration should be done by PERL or
++# configure to support portability and cross compiling. 
++# For now, I will take these files from a host only build
++# and used them for a cross very similar to the x86_64 architecture
++
++#H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings
++#	LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) |                  \
++#		sed -e 's/-L/:/g' -e 's/ //g'`"                               \
++#	$(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@  ||                               \
++#	    (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||          \
++#	    ($(RM) $@ ; exit 1)
+ 
+ # Error header generation
+ #
+diff -urN hdf5-1.8.14.orig/src/Makefile.in hdf5-1.8.14/src/Makefile.in
+--- hdf5-1.8.14.orig/src/Makefile.in	2015-01-04 08:01:46.269979148 -0800
++++ hdf5-1.8.14/src/Makefile.in	2015-01-04 08:30:31.140015990 -0800
+@@ -738,8 +738,14 @@
+ # Add libtool numbers to the HDF5 library (from config/lt_vers.am)
+ libhdf5_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
+ 
++# Modified by ELW: This autogeneration should be done by PERL or
++# configure to support portability and cross compiling. 
++# For now, I will take these files from a host only build
++# and used them for a cross very similar to the x86_64 architecture
++
+ # H5Tinit.c and H5lib_settings.c are generated files and should be cleaned.
+-MOSTLYCLEANFILES = H5Tinit.c H5lib_settings.c
++#MOSTLYCLEANFILES = H5Tinit.c H5lib_settings.c
++
+ # H5pubconf.h is generated by configure, and should be cleaned.
+ DISTCLEANFILES = H5pubconf.h
+ 
+@@ -1666,24 +1672,35 @@
+ # Things should have been all set during H5detect making.
+ # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
+ # is set to ignore the error.
+-H5Tinit.c: H5detect$(EXEEXT)
+-	LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) |                  \
+-		sed -e 's/-L/:/g' -e 's/ //g'`"                               \
+-	$(RUNSERIAL) ./H5detect$(EXEEXT) > $@  ||                               \
+-	    (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||          \
+-	    ($(RM) $@ ; exit 1)
++
++# Modified by ELW: This autogeneration should be done by PERL or
++# configure to support portability and cross compiling. 
++# For now, I will take these files from a host only build
++# and used them for a cross very similar to the x86_64 architecture
++#H5Tinit.c: H5detect$(EXEEXT)
++#	LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) |                  \
++#		sed -e 's/-L/:/g' -e 's/ //g'`"                               \
++#	$(RUNSERIAL) ./H5detect$(EXEEXT) > $@  ||                               \
++#	    (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||          \
++#	    ($(RM) $@ ; exit 1)
+ 
+ # Build configuration header file generation
+ # The LD_LIBRARY_PATH setting is a kludge.
+ # Things should have been all set during H5make_libsettings making.
+ # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
+ # is set to ignore the error.
+-H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings
+-	LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) |                  \
+-		sed -e 's/-L/:/g' -e 's/ //g'`"                               \
+-	$(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@  ||                               \
+-	    (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||          \
+-	    ($(RM) $@ ; exit 1)
++
++# Modified by ELW: This autogeneration should be done by PERL or
++# configure to support portability and cross compiling. 
++# For now, I will take these files from a host only build
++# and used them for a cross very similar to the x86_64 architecture
++
++#H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings
++#	LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) |                  \
++#		sed -e 's/-L/:/g' -e 's/ //g'`"                               \
++#	$(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@  ||                               \
++#	    (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||          \
++#	    ($(RM) $@ ; exit 1)
+ 
+ # Error header generation
+ #
diff --git a/package/hdf5/hdf5-generate-H5Tinit.c.patch b/package/hdf5/hdf5-generate-H5Tinit.c.patch
new file mode 100644
index 0000000..a963d74
--- /dev/null
+++ b/package/hdf5/hdf5-generate-H5Tinit.c.patch
@@ -0,0 +1,995 @@
+--- /dev/null	2015-01-03 19:14:44.831833329 -0800
++++ hdf5-1.8.14/src/H5Tinit.c	2015-01-04 07:42:00.880427296 -0800
+@@ -0,0 +1,992 @@
++/* Generated automatically by H5detect -- do not edit */
++
++
++
++/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
++ * Copyright by The HDF Group.                                               *
++ * Copyright by the Board of Trustees of the University of Illinois.         *
++ * All rights reserved.                                                      *
++ *                                                                           *
++ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
++ * terms governing use, modification, and redistribution, is contained in    *
++ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
++ * of the source code distribution tree; Copyright.html can be found at the  *
++ * root level of an installed copy of the electronic HDF5 document set and   *
++ * is linked from the top-level documents page.  It can also be found at     *
++ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
++ * access to either file, you may request a copy from help at hdfgroup.org.     *
++ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
++ *
++ * Created:		Jan  2, 2015
++ *			Ernest L Williams <ernesto@localhost.localdomain>
++ *
++ * Purpose:		This machine-generated source code contains
++ *			information about the various integer and
++ *			floating point numeric formats found on this
++ *			architecture.  The parameters below should be
++ *			checked carefully and errors reported to the
++ *			HDF5 maintainer.
++ *			
++ *			Each of the numeric formats listed below are
++ *			printed from most significant bit to least
++ *			significant bit even though the actual bytes
++ *			might be stored in a different order in
++ *			memory.	 The integers above each binary byte
++ *			indicate the relative order of the bytes in
++ *			memory; little-endian machines have
++ *			decreasing numbers while big-endian machines
++ *			have increasing numbers.
++ *			
++ *			The fields of the numbers are printed as
++ *			letters with `S' for the mantissa sign bit,
++ *			`M' for the mantissa magnitude, and `E' for
++ *			the exponent.  The exponent has an associated
++ *			bias which can be subtracted to find the
++ *			true exponent.	The radix point is assumed
++ *			to be before the first `M' bit.	 Any bit
++ *			of a floating-point value not falling into one
++ *			of these categories is printed as a question
++ *			mark.  Bits of integer types are printed as
++ *			`I' for 2's complement and `U' for magnitude.
++ *			
++ *			If the most significant bit of the normalized
++ *			mantissa (always a `1' except for `0.0') is
++ *			not stored then an `implicit=yes' appears
++ *			under the field description.  In thie case,
++ *			the radix point is still assumed to be
++ *			before the first `M' but after the implicit
++ *			bit.
++ *
++ * Modifications:
++ *
++ *	DO NOT MAKE MODIFICATIONS TO THIS FILE!
++ *	It was generated by code in `H5detect.c'.
++ *
++ *-------------------------------------------------------------------------
++ */
++
++/****************/
++/* Module Setup */
++/****************/
++
++#define H5T_PACKAGE /*suppress error about including H5Tpkg.h*/
++
++
++/***********/
++/* Headers */
++/***********/
++#include "H5private.h"		/* Generic Functions			*/
++#include "H5Eprivate.h"		/* Error handling		  	*/
++#include "H5FLprivate.h"	/* Free Lists				*/
++#include "H5Iprivate.h"		/* IDs			  		*/
++#include "H5Tpkg.h"		/* Datatypes 				*/
++
++
++/****************/
++/* Local Macros */
++/****************/
++
++
++/******************/
++/* Local Typedefs */
++/******************/
++
++
++/********************/
++/* Package Typedefs */
++/********************/
++
++
++/********************/
++/* Local Prototypes */
++/********************/
++
++
++/********************/
++/* Public Variables */
++/********************/
++
++
++/*****************************/
++/* Library Private Variables */
++/*****************************/
++
++
++/*********************/
++/* Package Variables */
++/*********************/
++
++
++
++/*******************/
++/* Local Variables */
++/*******************/
++
++
++\f
++/*-------------------------------------------------------------------------
++ * Function:	H5TN_init_interface
++ *
++ * Purpose:	Initialize pre-defined native datatypes from code generated
++ *              during the library configuration by H5detect.
++ *
++ * Return:	Success:	non-negative
++ *		Failure:	negative
++ *
++ * Programmer:	Robb Matzke
++ *              Wednesday, December 16, 1998
++ *
++ *-------------------------------------------------------------------------
++ */
++herr_t
++H5TN_init_interface(void)
++{
++    H5T_t	*dt = NULL;
++    herr_t	ret_value = SUCCEED;
++
++    FUNC_ENTER_NOAPI(FAIL)
++
++   /*
++    *    0
++    * IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_SCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_SCHAR_ALIGN_g = 1;
++    H5T_NATIVE_SCHAR_COMP_ALIGN_g = 1;
++
++   /*
++    *    0
++    * UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UCHAR_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_SHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_SHORT_ALIGN_g = 1;
++    H5T_NATIVE_SHORT_COMP_ALIGN_g = 2;
++
++   /*
++    *    1        0
++    * UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_USHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_USHORT_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_ALIGN_g = 1;
++    H5T_NATIVE_INT_COMP_ALIGN_g = 4;
++
++   /*
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_LONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_LONG_ALIGN_g = 1;
++    H5T_NATIVE_LONG_COMP_ALIGN_g = 8;
++
++   /*
++    *    7        6        5        4
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_ULONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_ULONG_ALIGN_g = 1;
++
++   /*
++    *    0
++    * IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT8_ALIGN_g = 1;
++
++   /*
++    *    0
++    * UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT8_ALIGN_g = 1;
++
++   /*
++    *    0
++    * IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_LEAST8_ALIGN_g = 1;
++
++   /*
++    *    0
++    * UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_LEAST8_ALIGN_g = 1;
++
++   /*
++    *    0
++    * IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_FAST8_ALIGN_g = 1;
++
++   /*
++    *    0
++    * UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_FAST8_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT16_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT16_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_LEAST16_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_LEAST16_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_FAST16_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_FAST16_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT32_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT32_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_LEAST32_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_LEAST32_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_FAST32_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_FAST32_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_LEAST64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_LEAST64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_FAST64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_FAST64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_LLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_LLONG_ALIGN_g = 1;
++    H5T_NATIVE_LLONG_COMP_ALIGN_g = 8;
++
++   /*
++    *    7        6        5        4
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_ULLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_ULLONG_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
++    * Implicit bit? yes
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_FLOAT;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.f.sign = 31;
++    dt->shared->u.atomic.u.f.epos = 23;
++    dt->shared->u.atomic.u.f.esize = 8;
++    dt->shared->u.atomic.u.f.ebias = 0x0000007f;
++    dt->shared->u.atomic.u.f.mpos = 0;
++    dt->shared->u.atomic.u.f.msize = 23;
++    dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
++    dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
++    if((H5T_NATIVE_FLOAT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_FLOAT_ALIGN_g = 1;
++    H5T_NATIVE_FLOAT_COMP_ALIGN_g = 4;
++
++   /*
++    *    7        6        5        4
++    * SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM
++    *    3        2        1        0
++    * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
++    * Implicit bit? yes
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_FLOAT;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.f.sign = 63;
++    dt->shared->u.atomic.u.f.epos = 52;
++    dt->shared->u.atomic.u.f.esize = 11;
++    dt->shared->u.atomic.u.f.ebias = 0x000003ff;
++    dt->shared->u.atomic.u.f.mpos = 0;
++    dt->shared->u.atomic.u.f.msize = 52;
++    dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
++    dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
++    if((H5T_NATIVE_DOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_DOUBLE_ALIGN_g = 1;
++    H5T_NATIVE_DOUBLE_COMP_ALIGN_g = 8;
++
++   /*
++    *   15       14       13       12
++    * ???????? ???????? ???????? ????????
++    *   11       10        9        8
++    * ???????? ???????? SEEEEEEE EEEEEEEE
++    *    7        6        5        4
++    * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
++    *    3        2        1        0
++    * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
++    * Implicit bit? no
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_FLOAT;
++    dt->shared->size = 16;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 80;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.f.sign = 79;
++    dt->shared->u.atomic.u.f.epos = 64;
++    dt->shared->u.atomic.u.f.esize = 15;
++    dt->shared->u.atomic.u.f.ebias = 0x00003fff;
++    dt->shared->u.atomic.u.f.mpos = 0;
++    dt->shared->u.atomic.u.f.msize = 64;
++    dt->shared->u.atomic.u.f.norm = H5T_NORM_NONE;
++    dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
++    if((H5T_NATIVE_LDOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_LDOUBLE_ALIGN_g = 1;
++    H5T_NATIVE_LDOUBLE_COMP_ALIGN_g = 16;
++
++    /* Set the native order for this machine */
++    H5T_native_order_g = H5T_ORDER_LE;
++
++    /* Structure alignment for pointers, hvl_t, hobj_ref_t, hdset_reg_ref_t */
++    H5T_POINTER_COMP_ALIGN_g = 8;
++    H5T_HVL_COMP_ALIGN_g = 8;
++    H5T_HOBJREF_COMP_ALIGN_g = 8;
++    H5T_HDSETREGREF_COMP_ALIGN_g = 1;
++
++done:
++    if(ret_value < 0) {
++        if(dt != NULL) {
++            dt->shared = H5FL_FREE(H5T_shared_t, dt->shared);
++            dt = H5FL_FREE(H5T_t, dt);
++        } /* end if */
++    } /* end if */
++
++    FUNC_LEAVE_NOAPI(ret_value);
++} /* end H5TN_init_interface() */
++
++/****************************************/
++/* ALIGNMENT and signal-handling status */
++/****************************************/
++/* Signal() support: yes */
++/* setjmp() support: yes */
++/* longjmp() support: yes */
++/* sigsetjmp() support: no */
++/* siglongjmp() support: yes */
++/* sigprocmask() support: yes */
++
++/******************************/
++/* signal handlers statistics */
++/******************************/
++/* signal_handlers tested: 10 times */
++/* sigbus_handler called: 5 times */
++/* sigsegv_handler called: 5 times */
diff --git a/package/hdf5/hdf5-generate-H5lib_settings.c.patch b/package/hdf5/hdf5-generate-H5lib_settings.c.patch
new file mode 100644
index 0000000..e356689
--- /dev/null
+++ b/package/hdf5/hdf5-generate-H5lib_settings.c.patch
@@ -0,0 +1,100 @@
+--- /dev/null	2015-01-03 19:14:44.831833329 -0800
++++ hdf5-1.8.14/src/H5lib_settings.c	2015-01-04 07:42:00.879427306 -0800
+@@ -0,0 +1,97 @@
++/* Generated automatically by H5make_libsettings -- do not edit */
++
++
++
++/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
++ * Copyright by The HDF Group.                                               *
++ * Copyright by the Board of Trustees of the University of Illinois.         *
++ * All rights reserved.                                                      *
++ *                                                                           *
++ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
++ * terms governing use, modification, and redistribution, is contained in    *
++ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
++ * of the source code distribution tree; Copyright.html can be found at the  *
++ * root level of an installed copy of the electronic HDF5 document set and   *
++ * is linked from the top-level documents page.  It can also be found at     *
++ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
++ * access to either file, you may request a copy from help at hdfgroup.org.     *
++ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
++ *
++ * Created:		Jan  2, 2015
++ *			Ernest L Williams <ernesto@localhost.localdomain>
++ *
++ * Purpose:		This machine-generated source code contains
++ *			information about the library build configuration
++ *
++ * Modifications:
++ *
++ *	DO NOT MAKE MODIFICATIONS TO THIS FILE!
++ *	It was generated by code in `H5make_libsettings.c'.
++ *
++ *-------------------------------------------------------------------------
++ */
++
++char H5libhdf5_settings[]=
++	"	    SUMMARY OF THE HDF5 CONFIGURATION\n"
++	"	    =================================\n"
++	"\n"
++	"General Information:\n"
++	"-------------------\n"
++	"		   HDF5 Version: 1.8.14\n"
++	"		  Configured on: Tue Dec 30 10:18:41 PST 2014\n"
++	"		  Configured by: ernesto at localhost.localdomain\n"
++	"		 Configure mode: development\n"
++	"		    Host system: x86_64-unknown-linux-gnu\n"
++	"	      Uname information: Linux localhost.localdomain 3.17.4-301.fc21.x86_64 #1 SMP Thu Nov 27 19:09:10 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux\n"
++	"		       Byte sex: little-endian\n"
++	"		      Libraries: static, shared\n"
++	"	     Installation point: /home/ernesto/packages/install/hdf5-1.8.14\n"
++	"\n"
++	"Compiling Options:\n"
++	"------------------\n"
++	"               Compilation Mode: development\n"
++	"                     C Compiler: /usr/bin/gcc ( gcc (GCC) 4.9.2 20141101 )\n"
++	"                         CFLAGS: \n"
++	"                      H5_CFLAGS: -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wunreachable-code -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wstrict-overflow -Wlogical-op -Wlarger-than=2048 -Wvla -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute
 =noreturn -Wsuggest-attribute=format -Wdate-time -Wopenmp-simd -g -fverbose-asm\n"
++	"                      AM_CFLAGS: \n"
++	"                       CPPFLAGS: \n"
++	"                    H5_CPPFLAGS: -D_POSIX_C_SOURCE=199506L   -UNDEBUG -DH5D_DEBUG -DH5E_DEBUG -DH5F_DEBUG -DH5G_DEBUG -DH5HG_DEBUG -DH5I_DEBUG -DH5MM_DEBUG -DH5O_DEBUG -DH5P_DEBUG -DH5S_DEBUG -DH5T_DEBUG -DH5V_DEBUG -DH5Z_DEBUG -DH5_DEBUG_API\n"
++	"                    AM_CPPFLAGS: -I/home/ernesto/packages/install/szip-2.1/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_BSD_SOURCE \n"
++	"               Shared C Library: yes\n"
++	"               Static C Library: yes\n"
++	"  Statically Linked Executables: no\n"
++	"                        LDFLAGS: \n"
++	"                     H5_LDFLAGS: \n"
++	"                     AM_LDFLAGS:  -L/home/ernesto/packages/install/hdf5-1.8.14/lib -L/home/ernesto/packages/install/szip-2.1/lib\n"
++	" 	 	Extra libraries:  -lpthread -lsz -lz -ldl -lm \n"
++	" 		       Archiver: ar\n"
++	" 		 	 Ranlib: ranlib\n"
++	" 	      Debugged Packages: d,e,f,g,hg,i,mm,o,p,s,t,v,z\n"
++	"		    API Tracing: yes\n"
++	"\n"
++	"Languages:\n"
++	"----------\n"
++	"                        Fortran: no\n"
++	"\n"
++	"                            C++: no\n"
++	"\n"
++	"Features:\n"
++	"---------\n"
++	"                  Parallel HDF5: no\n"
++	"             High Level library: yes\n"
++	"                   Threadsafety: yes\n"
++	"            Default API Mapping: v18\n"
++	" With Deprecated Public Symbols: yes\n"
++	"         I/O filters (external): deflate(zlib),szip(encoder)\n"
++	"         I/O filters (internal): shuffle,fletcher32,nbit,scaleoffset\n"
++	"                            MPE: no\n"
++	"                     Direct VFD: no\n"
++	"                        dmalloc: no\n"
++	"Clear file buffers before write: yes\n"
++	"           Using memory checker: no\n"
++	"         Function Stack Tracing: no\n"
++	"      Strict File Format Checks: yes\n"
++	"   Optimization Instrumentation: yes\n"
++	"       Large File Support (LFS): yes\n"
++;
++
diff --git a/package/hdf5/hdf5.hash b/package/hdf5/hdf5.hash
new file mode 100644
index 0000000..d3dce7c
--- /dev/null
+++ b/package/hdf5/hdf5.hash
@@ -0,0 +1,2 @@
+# Locally computed by Ernesto Williams
+sha256 1dbefeeef7f591897c632b2b090db96bb8d35ad035beaa36bc39cb2bc67e0639  hdf5-1.8.14.tar.gz
diff --git a/package/hdf5/hdf5.mk b/package/hdf5/hdf5.mk
new file mode 100644
index 0000000..1ef0059
--- /dev/null
+++ b/package/hdf5/hdf5.mk
@@ -0,0 +1,58 @@
+####################################################################
+#
+# hdf5
+#
+####################################################################
+
+HDF5_VERSION = 1.8.14
+HDF5_SITE = http://www.hdfgroup.org/ftp/HDF5/current/src
+HDF5_LICENSE = hdf5 license
+HDF5_LICENSE_FILES = COPYING
+HDF5_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install
+HDF5_INSTALL_STAGING = YES
+
+HDF5_DEPENDENCIES += szip
+
+# For now give the correct answers to the configure stage: 
+# need to fix this
+HDF5_CONF_ENV = hdf5_cv_have_lfs=yes \
+        hdf5_cv_gettimeofday_tz=yes \
+        hdf5_cv_szlib_can_encode=yes \
+        hdf5_cv_vsnprintf_works=yes \
+        hdf5_cv_printf_ll=ll \
+        hdf5_cv_system_scope_threads=yes \
+        hdf5_cv_direct_io=yes \
+        hdf5_cv_ldouble_to_integer_works=yes \
+        hdf5_cv_ulong_to_float_accurate=yes \
+        hdf5_cv_ulong_to_fp_bottom_bit_accurate=yes \
+        hdf5_cv_fp_to_ullong_accurate=yes \
+        hdf5_cv_fp_to_ullong_right_maximum=yes \
+        hdf5_cv_ldouble_to_uint_accurate=yes \
+        hdf5_cv_ullong_to_ldouble_precision=yes \
+        hdf5_cv_fp_to_integer_overflow_works=yes \
+        hdf5_cv_ldouble_to_long_special=no \
+        hdf5_cv_long_to_ldouble_special=no \
+        hdf5_cv_ldouble_to_llong_accurate=yes \
+        hdf5_cv_llong_to_ldouble_correct=yes  
+
+# Needs this to support: O_DIRECT
+
+ifeq ($(BR2_PACKAGE_SZIP),y)
+     HDF5_CONF_ENV +=  \
+     CFLAGS="-D_GNU_SOURCE -I${STAGING_DIR}/usr/include" \
+     CPPFLAGS="-D_GNU_SOURCE -I${STAGING_DIR}/usr/include " \
+     LDFLAGS="-L${STAGING_DIR}/usr/lib -lsz"
+else
+     HDF5_CONF_ENV +=  \
+     CFLAGS="-D_GNU_SOURCE " \
+     CPPFLAGS="-D_GNU_SOURCE " 
+endif
+
+ifeq ($(BR2_PACKAGE_SZIP),y)
+  HDF5_CONF_OPTS += --enable-threadsafe \
+  --with-szlib="${STAGING_DIR}/usr/lib" --enable-static-exec
+else
+  HDF5_CONF_OPTS += --enable-threadsafe --enable-static-exec
+endif
+
+$(eval $(autotools-package))
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-01-07 21:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-05  0:12 [Buildroot] [PATCHv1.0] hdf5: new package Ernesto L. Williams Jr
2015-01-06  3:44 ` Ernest Williams
2015-01-07 21:56 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox