[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