--- h5py-2.7.0/setup_build.py.orig	2017-06-16 19:33:54.858023400 +0300
+++ h5py-2.7.0/setup_build.py	2017-06-16 19:37:16.980584200 +0300
@@ -17,6 +17,7 @@
 from functools import reduce
 import api_gen
 
+from sysconfig import _POSIX_BUILD
 
 def localpath(*args):
     return op.abspath(reduce(op.join, (op.dirname(__file__),)+args))
@@ -36,7 +37,13 @@
    'define_macros'  : [('H5_USE_16_API', None)]
 }
 
-if sys.platform.startswith('win'):
+if _POSIX_BUILD:
+    COMPILER_SETTINGS['define_macros'].extend([
+        ('H5_USE_16_API', None),
+        ('_HDF5USEDLL_', None),
+        ('H5_BUILT_AS_DYNAMIC_LIB', None)
+    ])
+elif sys.platform.startswith('win'):
     COMPILER_SETTINGS['include_dirs'].append(localpath('windows'))
     COMPILER_SETTINGS['define_macros'].extend([
         ('_HDF5USEDLL_', None),
--- h5py-2.10.0/setup_configure.py.orig	2019-10-28 06:39:22.882866000 +0300
+++ h5py-2.10.0/setup_configure.py	2019-10-28 06:45:46.958833800 +0300
@@ -200,8 +200,12 @@
         regexp = re.compile(r'^libhdf5.dylib')
     elif sys.platform.startswith('win') or \
         sys.platform.startswith('cygwin'):
-        default_path = 'hdf5.dll'
-        regexp = re.compile(r'^hdf5.dll')
+        if 'GCC' in sys.version:
+          default_path = 'libhdf5-0.dll'
+          regexp = re.compile(r'^libhdf5-[0-9].dll')
+        else:
+          default_path = 'hdf5.dll'
+          regexp = re.compile(r'^hdf5.dll')
     else:
         default_path = 'libhdf5.so'
         regexp = re.compile(r'^libhdf5.so')
