libhdf5: add package
authorYour Name <you@example.com>
Fri, 6 Apr 2018 19:47:23 +0000 (21:47 +0200)
committerFredrik Fornwall <fredrik@fornwall.net>
Mon, 30 Apr 2018 00:00:06 +0000 (02:00 +0200)
packages/libhdf5/CMakeLists.patch [new file with mode: 0644]
packages/libhdf5/aarch64/H5Tinit.c [new file with mode: 0644]
packages/libhdf5/aarch64/H5lib_settings.c [new file with mode: 0644]
packages/libhdf5/aarch64/TryRunResults_out.cmake [new file with mode: 0644]
packages/libhdf5/build.sh [new file with mode: 0755]

diff --git a/packages/libhdf5/CMakeLists.patch b/packages/libhdf5/CMakeLists.patch
new file mode 100644 (file)
index 0000000..8dbb20e
--- /dev/null
@@ -0,0 +1,85 @@
+--- /home/builder/termux-packages/packages/libhdf5/CMakeLists.txt.orig 2018-04-03 22:59:37.677363132 +0000
++++ src/src/CMakeLists.txt     2018-04-04 06:18:37.177298348 +0000
+@@ -848,13 +848,13 @@
+   target_link_libraries (H5detect "ws2_32.lib")
+ endif ()
+-set (CMD $<TARGET_FILE:H5detect>)
+-add_custom_command (
+-    OUTPUT ${HDF5_BINARY_DIR}/H5Tinit.c
+-    COMMAND ${CMD}
+-    ARGS > ${HDF5_BINARY_DIR}/H5Tinit.c
+-    DEPENDS H5detect
+-)
++#set (CMD $<TARGET_FILE:H5detect>)
++#add_custom_command (
++#    OUTPUT ${HDF5_BINARY_DIR}/H5Tinit.c
++#    COMMAND ${CMD}
++#    ARGS > ${HDF5_BINARY_DIR}/H5Tinit.c
++#    DEPENDS H5detect
++#)
+ add_executable (H5make_libsettings ${HDF5_SRC_DIR}/H5make_libsettings.c)
+ TARGET_C_PROPERTIES (H5make_libsettings STATIC " " " ")
+@@ -862,14 +862,14 @@
+   target_link_libraries (H5make_libsettings "ws2_32.lib")
+ endif ()
+-set (CMD $<TARGET_FILE:H5make_libsettings>)
+-add_custom_command (
+-    OUTPUT ${HDF5_BINARY_DIR}/H5lib_settings.c
+-    COMMAND ${CMD}
+-    ARGS > ${HDF5_BINARY_DIR}/H5lib_settings.c
+-    DEPENDS H5make_libsettings
+-    WORKING_DIRECTORY ${HDF5_BINARY_DIR}
+-)
++#set (CMD $<TARGET_FILE:H5make_libsettings>)
++#add_custom_command (
++#    OUTPUT ${HDF5_BINARY_DIR}/H5lib_settings.c
++#    COMMAND ${CMD}
++#    ARGS > ${HDF5_BINARY_DIR}/H5lib_settings.c
++#    DEPENDS H5make_libsettings
++#    WORKING_DIRECTORY ${HDF5_BINARY_DIR}
++#)
+ #-----------------------------------------------------------------------------
+ # Add H5Tinit source to build - generated by H5Detect/CMake at configure time
+@@ -903,22 +903,22 @@
+ if (BUILD_SHARED_LIBS)
+   file (MAKE_DIRECTORY "${HDF5_BINARY_DIR}/shared")
+-  set (CMD $<TARGET_FILE:H5detect>)
+-  add_custom_command (
+-      OUTPUT ${HDF5_BINARY_DIR}/shared/H5Tinit.c
+-      COMMAND ${CMD}
+-      ARGS > ${HDF5_BINARY_DIR}/shared/H5Tinit.c
+-      DEPENDS H5detect
+-      WORKING_DIRECTORY ${HDF5_BINARY_DIR}/shared
+-  )
+-  set (CMD $<TARGET_FILE:H5make_libsettings>)
+-  add_custom_command (
+-      OUTPUT ${HDF5_BINARY_DIR}/shared/H5lib_settings.c
+-      COMMAND ${CMD}
+-      ARGS > ${HDF5_BINARY_DIR}/shared/H5lib_settings.c
+-      DEPENDS H5make_libsettings
+-      WORKING_DIRECTORY ${HDF5_BINARY_DIR}
+-  )
++#  set (CMD $<TARGET_FILE:H5detect>)
++#  add_custom_command (
++#      OUTPUT ${HDF5_BINARY_DIR}/shared/H5Tinit.c
++#      COMMAND ${CMD}
++#      ARGS > ${HDF5_BINARY_DIR}/shared/H5Tinit.c
++#      DEPENDS H5detect
++#      WORKING_DIRECTORY ${HDF5_BINARY_DIR}/shared
++#  )
++#  set (CMD $<TARGET_FILE:H5make_libsettings>)
++#  add_custom_command (
++#      OUTPUT ${HDF5_BINARY_DIR}/shared/H5lib_settings.c
++#      COMMAND ${CMD}
++#      ARGS > ${HDF5_BINARY_DIR}/shared/H5lib_settings.c
++#      DEPENDS H5make_libsettings
++#      WORKING_DIRECTORY ${HDF5_BINARY_DIR}
++#  )
+   set (shared_gen_SRCS ${HDF5_BINARY_DIR}/shared/H5Tinit.c ${HDF5_BINARY_DIR}/shared/H5lib_settings.c)
+   add_library (${HDF5_LIBSH_TARGET} SHARED ${common_SRCS} ${shared_gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS})
+   TARGET_C_PROPERTIES (${HDF5_LIBSH_TARGET} SHARED " " " ")
diff --git a/packages/libhdf5/aarch64/H5Tinit.c b/packages/libhdf5/aarch64/H5Tinit.c
new file mode 100644 (file)
index 0000000..2f624d1
--- /dev/null
@@ -0,0 +1,991 @@
+/* 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 COPYING file, which can be found at the root of the source code       *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
+ * If you do not have access to either file, you may request a copy from     *
+ * help@hdfgroup.org.                                                        *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Created:            Mar 30, 2018
+ *                     u0_a220@localhost
+ *
+ * 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 */
+/****************/
+
+#include "H5Tmodule.h"          /* This source code file is part of the H5T module */
+
+
+/***********/
+/* Headers */
+/***********/
+#include "H5private.h"         /* Generic Functions                    */
+#include "H5Eprivate.h"                /* Error handling                       */
+#include "H5FLprivate.h"       /* Free Lists                           */
+#include "H5Iprivate.h"                /* IDs                                  */
+#include "H5Tpkg.h"            /* Datatypes                            */
+
+
+/****************/
+/* Local Macros */
+/****************/
+
+
+/******************/
+/* Local Typedefs */
+/******************/
+
+
+/********************/
+/* Package Typedefs */
+/********************/
+
+
+/********************/
+/* Local Prototypes */
+/********************/
+
+
+/********************/
+/* Public Variables */
+/********************/
+
+
+/*****************************/
+/* Library Private Variables */
+/*****************************/
+
+
+/*********************/
+/* Package Variables */
+/*********************/
+
+
+
+/*******************/
+/* Local Variables */
+/*******************/
+
+
+\f
+/*-------------------------------------------------------------------------
+ * Function:   H5T__init_native
+ *
+ * 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
+H5T__init_native(void)
+{
+    H5T_t      *dt = NULL;
+    herr_t     ret_value = SUCCEED;
+
+    FUNC_ENTER_PACKAGE
+
+   /*
+    *    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
+    * SEEEEEEE EEEEEEEE MMMMMMMM MMMMMMMM
+    *   11       10        9        8
+    * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
+    *    7        6        5        4
+    * MMMMMMMM MMMMMMMM 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 = 16;
+    dt->shared->u.atomic.order = H5T_ORDER_LE;
+    dt->shared->u.atomic.offset = 0;
+    dt->shared->u.atomic.prec = 128;
+    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 = 127;
+    dt->shared->u.atomic.u.f.epos = 112;
+    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 = 112;
+    dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
+    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 H5T__init_native() */
+
+/****************************************/
+/* ALIGNMENT and signal-handling status */
+/****************************************/
+/* Signal() support: yes */
+/* setjmp() support: yes */
+/* longjmp() support: yes */
+/* sigsetjmp() support: yes */
+/* siglongjmp() support: yes */
+/* sigprocmask() support: yes */
+
+/******************************/
+/* signal handlers statistics */
+/******************************/
+/* signal_handlers tested: 15 times */
+/* sigbus_handler called: 5 times */
+/* sigsegv_handler called: 5 times */
+/* sigill_handler called: 5 times */
diff --git a/packages/libhdf5/aarch64/H5lib_settings.c b/packages/libhdf5/aarch64/H5lib_settings.c
new file mode 100644 (file)
index 0000000..16e3caf
--- /dev/null
@@ -0,0 +1,106 @@
+/* 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 COPYING file, which can be found at the root of the source code       *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
+ * If you do not have access to either file, you may request a copy from     *
+ * help@hdfgroup.org.                                                        *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Created:            Mar 30, 2018
+ *                     u0_a220@localhost
+ *
+ * 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.10.1\n"
+       "                  Configured on: Fri Mar 30 08:09:43 CEST 2018\n"
+       "                  Configured by: u0_a220@localhost\n"
+       "                    Host system: aarch64-unknown-linux-gnu\n"
+       "              Uname information: Linux localhost 3.10.84-perf-g99119bc #1 SMP PREEMPT Fri Aug 18 15:21:50 2017 aarch64 Android\n"
+       "                       Byte sex: little-endian\n"
+       "             Installation point: /data/data/com.termux/files/home/scratch/hdf5-1.10.1/hdf5\n"
+       "\n"
+       "Compiling Options:\n"
+       "------------------\n"
+       "                     Build Mode: production\n"
+       "              Debugging Symbols: no\n"
+       "                        Asserts: no\n"
+       "                      Profiling: no\n"
+       "             Optimization Level: high\n"
+       "\n"
+       "Linking Options:\n"
+       "----------------\n"
+       "                      Libraries: static, shared\n"
+       "  Statically Linked Executables: \n"
+       "                        LDFLAGS: \n"
+       "                     H5_LDFLAGS: \n"
+       "                     AM_LDFLAGS: \n"
+       "                Extra libraries: -lz -ldl -lm \n"
+       "                       Archiver: ar\n"
+       "                         Ranlib: ranlib\n"
+       "\n"
+       "Languages:\n"
+       "----------\n"
+       "                              C: yes\n"
+       "                     C Compiler: /data/data/com.termux/files/usr/bin/gcc\n"
+       "                       CPPFLAGS: \n"
+       "                    H5_CPPFLAGS: -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L   -DNDEBUG -UH5_DEBUG_API\n"
+       "                    AM_CPPFLAGS: \n"
+       "                        C Flags: \n"
+       "                     H5 C Flags:     \n"
+       "                     AM C Flags: \n"
+       "               Shared C Library: yes\n"
+       "               Static C Library: yes\n"
+       "\n"
+       "\n"
+       "                        Fortran: no\n"
+       "\n"
+       "                            C++: no\n"
+       "\n"
+       "                           Java: no\n"
+       "\n"
+       "\n"
+       "Features:\n"
+       "---------\n"
+       "                  Parallel HDF5: no\n"
+       "             High-level library: yes\n"
+       "                   Threadsafety: no\n"
+       "            Default API mapping: v110\n"
+       " With deprecated public symbols: yes\n"
+       "         I/O filters (external): deflate(zlib)\n"
+       "                            MPE: no\n"
+       "                     Direct VFD: no\n"
+       "                        dmalloc: no\n"
+       " Packages w/ extra debug output: none\n"
+       "                    API tracing: no\n"
+       "           Using memory checker: no\n"
+       "Memory allocation sanity checks: no\n"
+       "            Metadata trace file: no\n"
+       "         Function stack tracing: no\n"
+       "      Strict file format checks: no\n"
+       "   Optimization instrumentation: no\n"
+;
+
diff --git a/packages/libhdf5/aarch64/TryRunResults_out.cmake b/packages/libhdf5/aarch64/TryRunResults_out.cmake
new file mode 100644 (file)
index 0000000..fc27834
--- /dev/null
@@ -0,0 +1,194 @@
+# This file was generated by CMake because it detected TRY_RUN() commands
+# in crosscompiling mode. It will be overwritten by the next CMake run.
+# Copy it to a safe location, set the variables to appropriate values
+# and use it then to preset the CMake cache (using -C).
+
+
+# TEST_LFS_WORKS_RUN
+#    indicates whether the executable would have been able to run on its
+#    target platform. If so, set TEST_LFS_WORKS_RUN to
+#    the exit code (in many cases 0 for success), otherwise enter "FAILED_TO_RUN".
+# TEST_LFS_WORKS_RUN__TRYRUN_OUTPUT
+#    contains the text the executable would have printed on stdout and stderr.
+#    If the executable would not have been able to run, set TEST_LFS_WORKS_RUN__TRYRUN_OUTPUT empty.
+#    Otherwise check if the output is evaluated by the calling CMake code. If so,
+#    check what the source file would have printed when called with the given arguments.
+# The TEST_LFS_WORKS_COMPILE variable holds the build result for this TRY_RUN().
+# 
+# Source file   : /home/builder/.termux-build/libhdf5/src/config/cmake_ext_mod/HDFTests.c
+# Executable    : /home/builder/.termux-build/libhdf5/build/CMakeFiles/cmTC_0c83a-TEST_LFS_WORKS_RUN
+# Run arguments : 
+#    Called from: [3]  /home/builder/.termux-build/libhdf5/src/config/cmake_ext_mod/ConfigureChecks.cmake
+#                 [2]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [1]  /home/builder/.termux-build/libhdf5/src/CMakeLists.txt
+
+set( TEST_LFS_WORKS_RUN 
+     "0"
+     CACHE STRING "Result from TRY_RUN" FORCE)
+
+set( TEST_LFS_WORKS_RUN__TRYRUN_OUTPUT 
+     ""
+     CACHE STRING "Output from TRY_RUN" FORCE)
+
+
+# H5_PRINTF_LL_TEST_RUN
+#    indicates whether the executable would have been able to run on its
+#    target platform. If so, set H5_PRINTF_LL_TEST_RUN to
+#    the exit code (in many cases 0 for success), otherwise enter "FAILED_TO_RUN".
+# H5_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT
+#    contains the text the executable would have printed on stdout and stderr.
+#    If the executable would not have been able to run, set H5_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT empty.
+#    Otherwise check if the output is evaluated by the calling CMake code. If so,
+#    check what the source file would have printed when called with the given arguments.
+# The H5_PRINTF_LL_TEST_COMPILE variable holds the build result for this TRY_RUN().
+# 
+# Source file   : /home/builder/.termux-build/libhdf5/src/config/cmake_ext_mod/HDFTests.c
+# Executable    : /home/builder/.termux-build/libhdf5/build/CMakeFiles/cmTC_0923e-H5_PRINTF_LL_TEST_RUN
+# Run arguments : 
+#    Called from: [3]  /home/builder/.termux-build/libhdf5/src/config/cmake_ext_mod/ConfigureChecks.cmake
+#                 [2]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [1]  /home/builder/.termux-build/libhdf5/src/CMakeLists.txt
+
+set( H5_PRINTF_LL_TEST_RUN 
+     "0"
+     CACHE STRING "Result from TRY_RUN" FORCE)
+
+set( H5_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT 
+     "H5_PRINTF_LL_WIDTH=[l]"
+     CACHE STRING "Output from TRY_RUN" FORCE)
+
+
+# H5_LDOUBLE_TO_LONG_SPECIAL_RUN
+#    indicates whether the executable would have been able to run on its
+#    target platform. If so, set H5_LDOUBLE_TO_LONG_SPECIAL_RUN to
+#    the exit code (in many cases 0 for success), otherwise enter "FAILED_TO_RUN".
+# H5_LDOUBLE_TO_LONG_SPECIAL_RUN__TRYRUN_OUTPUT
+#    contains the text the executable would have printed on stdout and stderr.
+#    If the executable would not have been able to run, set H5_LDOUBLE_TO_LONG_SPECIAL_RUN__TRYRUN_OUTPUT empty.
+#    Otherwise check if the output is evaluated by the calling CMake code. If so,
+#    check what the source file would have printed when called with the given arguments.
+# The H5_LDOUBLE_TO_LONG_SPECIAL_COMPILE variable holds the build result for this TRY_RUN().
+# 
+# Source file   : /home/builder/.termux-build/libhdf5/src/config/cmake/ConversionTests.c
+# Executable    : /home/builder/.termux-build/libhdf5/build/CMakeFiles/cmTC_b96b8-H5_LDOUBLE_TO_LONG_SPECIAL_RUN
+# Run arguments : 
+#    Called from: [3]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [2]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [1]  /home/builder/.termux-build/libhdf5/src/CMakeLists.txt
+
+set( H5_LDOUBLE_TO_LONG_SPECIAL_RUN 
+     "1"
+     CACHE STRING "Result from TRY_RUN" FORCE)
+
+set( H5_LDOUBLE_TO_LONG_SPECIAL_RUN__TRYRUN_OUTPUT 
+     ""
+     CACHE STRING "Output from TRY_RUN" FORCE)
+
+
+# H5_LONG_TO_LDOUBLE_SPECIAL_RUN
+#    indicates whether the executable would have been able to run on its
+#    target platform. If so, set H5_LONG_TO_LDOUBLE_SPECIAL_RUN to
+#    the exit code (in many cases 0 for success), otherwise enter "FAILED_TO_RUN".
+# H5_LONG_TO_LDOUBLE_SPECIAL_RUN__TRYRUN_OUTPUT
+#    contains the text the executable would have printed on stdout and stderr.
+#    If the executable would not have been able to run, set H5_LONG_TO_LDOUBLE_SPECIAL_RUN__TRYRUN_OUTPUT empty.
+#    Otherwise check if the output is evaluated by the calling CMake code. If so,
+#    check what the source file would have printed when called with the given arguments.
+# The H5_LONG_TO_LDOUBLE_SPECIAL_COMPILE variable holds the build result for this TRY_RUN().
+# 
+# Source file   : /home/builder/.termux-build/libhdf5/src/config/cmake/ConversionTests.c
+# Executable    : /home/builder/.termux-build/libhdf5/build/CMakeFiles/cmTC_f960d-H5_LONG_TO_LDOUBLE_SPECIAL_RUN
+# Run arguments : 
+#    Called from: [3]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [2]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [1]  /home/builder/.termux-build/libhdf5/src/CMakeLists.txt
+
+set( H5_LONG_TO_LDOUBLE_SPECIAL_RUN 
+     "1"
+     CACHE STRING "Result from TRY_RUN" FORCE)
+
+set( H5_LONG_TO_LDOUBLE_SPECIAL_RUN__TRYRUN_OUTPUT 
+     ""
+     CACHE STRING "Output from TRY_RUN" FORCE)
+
+
+# H5_LDOUBLE_TO_LLONG_ACCURATE_RUN
+#    indicates whether the executable would have been able to run on its
+#    target platform. If so, set H5_LDOUBLE_TO_LLONG_ACCURATE_RUN to
+#    the exit code (in many cases 0 for success), otherwise enter "FAILED_TO_RUN".
+# H5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT
+#    contains the text the executable would have printed on stdout and stderr.
+#    If the executable would not have been able to run, set H5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT empty.
+#    Otherwise check if the output is evaluated by the calling CMake code. If so,
+#    check what the source file would have printed when called with the given arguments.
+# The H5_LDOUBLE_TO_LLONG_ACCURATE_COMPILE variable holds the build result for this TRY_RUN().
+# 
+# Source file   : /home/builder/.termux-build/libhdf5/src/config/cmake/ConversionTests.c
+# Executable    : /home/builder/.termux-build/libhdf5/build/CMakeFiles/cmTC_39750-H5_LDOUBLE_TO_LLONG_ACCURATE_RUN
+# Run arguments : 
+#    Called from: [3]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [2]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [1]  /home/builder/.termux-build/libhdf5/src/CMakeLists.txt
+
+set( H5_LDOUBLE_TO_LLONG_ACCURATE_RUN 
+     "0"
+     CACHE STRING "Result from TRY_RUN" FORCE)
+
+set( H5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT 
+     ""
+     CACHE STRING "Output from TRY_RUN" FORCE)
+
+
+# H5_LLONG_TO_LDOUBLE_CORRECT_RUN
+#    indicates whether the executable would have been able to run on its
+#    target platform. If so, set H5_LLONG_TO_LDOUBLE_CORRECT_RUN to
+#    the exit code (in many cases 0 for success), otherwise enter "FAILED_TO_RUN".
+# H5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT
+#    contains the text the executable would have printed on stdout and stderr.
+#    If the executable would not have been able to run, set H5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT empty.
+#    Otherwise check if the output is evaluated by the calling CMake code. If so,
+#    check what the source file would have printed when called with the given arguments.
+# The H5_LLONG_TO_LDOUBLE_CORRECT_COMPILE variable holds the build result for this TRY_RUN().
+# 
+# Source file   : /home/builder/.termux-build/libhdf5/src/config/cmake/ConversionTests.c
+# Executable    : /home/builder/.termux-build/libhdf5/build/CMakeFiles/cmTC_e6f7f-H5_LLONG_TO_LDOUBLE_CORRECT_RUN
+# Run arguments : 
+#    Called from: [3]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [2]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [1]  /home/builder/.termux-build/libhdf5/src/CMakeLists.txt
+
+set( H5_LLONG_TO_LDOUBLE_CORRECT_RUN 
+     "0"
+     CACHE STRING "Result from TRY_RUN" FORCE)
+
+set( H5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT 
+     ""
+     CACHE STRING "Output from TRY_RUN" FORCE)
+
+
+# H5_NO_ALIGNMENT_RESTRICTIONS_RUN
+#    indicates whether the executable would have been able to run on its
+#    target platform. If so, set H5_NO_ALIGNMENT_RESTRICTIONS_RUN to
+#    the exit code (in many cases 0 for success), otherwise enter "FAILED_TO_RUN".
+# H5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT
+#    contains the text the executable would have printed on stdout and stderr.
+#    If the executable would not have been able to run, set H5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT empty.
+#    Otherwise check if the output is evaluated by the calling CMake code. If so,
+#    check what the source file would have printed when called with the given arguments.
+# The H5_NO_ALIGNMENT_RESTRICTIONS_COMPILE variable holds the build result for this TRY_RUN().
+# 
+# Source file   : /home/builder/.termux-build/libhdf5/src/config/cmake/ConversionTests.c
+# Executable    : /home/builder/.termux-build/libhdf5/build/CMakeFiles/cmTC_178af-H5_NO_ALIGNMENT_RESTRICTIONS_RUN
+# Run arguments : 
+#    Called from: [3]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [2]  /home/builder/.termux-build/libhdf5/src/config/cmake/ConfigureChecks.cmake
+#                 [1]  /home/builder/.termux-build/libhdf5/src/CMakeLists.txt
+
+set( H5_NO_ALIGNMENT_RESTRICTIONS_RUN 
+     "0"
+     CACHE STRING "Result from TRY_RUN" FORCE)
+
+set( H5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT 
+     ""
+     CACHE STRING "Output from TRY_RUN" FORCE)
+
diff --git a/packages/libhdf5/build.sh b/packages/libhdf5/build.sh
new file mode 100755 (executable)
index 0000000..a44099b
--- /dev/null
@@ -0,0 +1,39 @@
+TERMUX_PKG_HOMEPAGE=https://portal.hdfgroup.org/display/support
+TERMUX_PKG_DESCRIPTION="Hierarchical Data Format 5 (HDF5)"
+_HDF5_MAJOR=1
+_HDF5_MINOR=10
+_HDF5_PATCH=1
+TERMUX_PKG_VERSION=${_HDF5_MAJOR}.${_HDF5_MINOR}.${_HDF5_PATCH}
+TERMUX_PKG_SHA256=9c5ce1e33d2463fb1a42dd04daacbc22104e57676e2204e3d66b1ef54b88ebf2
+TERMUX_PKG_SRCURL=https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${_HDF5_MAJOR}.${_HDF5_MINOR}/hdf5-$TERMUX_PKG_VERSION/src/hdf5-$TERMUX_PKG_VERSION.tar.bz2
+TERMUX_PKG_DEPENDS="libzopfli"
+TERMUX_PKG_FORCE_CMAKE=true
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-C$TERMUX_PKG_BUILDER_DIR/aarch64/TryRunResults_out.cmake "
+
+termux_step_pre_configure () {
+       cp $TERMUX_PKG_BUILDER_DIR/aarch64/{H5Tinit.c,H5lib_settings.c} $TERMUX_PKG_BUILDDIR/
+       mkdir -p $TERMUX_PKG_BUILDDIR/shared/
+       cp $TERMUX_PKG_BUILDER_DIR/aarch64/{H5Tinit.c,H5lib_settings.c} $TERMUX_PKG_BUILDDIR/shared/
+}
+
+termux_step_post_configure () {
+       cp $TERMUX_PKG_BUILDER_DIR/aarch64/{H5Tinit.c,H5lib_settings.c} $TERMUX_PKG_BUILDDIR/shared/
+}
+
+termux_step_post_make_install() {
+       # Add a pkg-config file
+       cat > "$PKG_CONFIG_LIBDIR/hdf5.pc" <<-HERE
+               prefix=$TERMUX_PREFIX
+               exec_prefix=\${prefix}
+               libdir=\${exec_prefix}/lib
+               includedir=\${exec_prefix}/include
+               Name: hdf5
+               Description: $TERMUX_PKG_DESCRIPTION
+               Version: $TERMUX_PKG_VERSION
+               Requires:
+               Libs: -L\${libdir} -lhdf5
+               Cflags: -I\${includedir}
+               
+       HERE
+}