[Buildroot] [PATCHv1.0] hdf5: new package
Ernest Williams
realcontrols at gmail.com
Tue Jan 6 03:44:24 UTC 2015
Hi Thomas,
Did I submit this patch correctly?
I have not seen a reply to this one.
Cheers,
Ernest
On Sun, Jan 4, 2015 at 4:12 PM, Ernesto L. Williams Jr <
realcontrols at gmail.com> wrote:
> Signed-off-by: Ernesto L. Williams Jr <ernesto at 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 at 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 */
> ++/*******************/
> ++
> ++
> ++
>
> ++/*-------------------------------------------------------------------------
> ++ * 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 at 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150105/f120e72e/attachment-0002.html>
More information about the buildroot
mailing list