      if blas_info and ('HAVE_CBLAS', None) in blas_info.get('define_macros', []):
          extra_info = blas_info
          # These files are also in MANIFEST.in so that they are always in
-
---- numpy-1.16.4.orig/numpy/linalg/setup.py	2019-02-21 17:33:42.000000000 +0100
-+++ numpy-1.16.4/numpy/linalg/setup.py	2019-09-28 17:34:15.000000000 +0200
-@@ -38,9 +38,12 @@
-                 return []
-             return [all_sources[0]]
- 
-+    def get_lapack_lite_sources_ios(ext, build_dir):
-+        return []
-+
-     config.add_extension(
-         'lapack_lite',
--        sources=['lapack_litemodule.c', get_lapack_lite_sources],
-+        sources=['lapack_litemodule.c', get_lapack_lite_sources_ios],
-         depends=['lapack_lite/f2c.h'],
-         extra_info=lapack_info,
-     )
-@@ -48,7 +51,7 @@
-     # umath_linalg module
-     config.add_extension(
-         '_umath_linalg',
--        sources=['umath_linalg.c.src', get_lapack_lite_sources],
-+        sources=['umath_linalg.c.src', get_lapack_lite_sources_ios],
-         depends=['lapack_lite/f2c.h'],
-         extra_info=lapack_info,
-         libraries=['npymath'],
-
---- numpy-1.16.4.orig/numpy/core/setup.py	2019-09-28 17:41:37.000000000 +0200
-+++ numpy-1.16.4/numpy/core/setup.py	2019-09-28 17:41:58.000000000 +0200
-@@ -824,7 +824,10 @@
+@@ -822,7 +824,10 @@ def configuration(parent_package='',top_path=None):
              join('include', 'numpy', 'npy_1_7_deprecated_api.h'),
              # add library sources as distuils does not consider libraries
              # dependencies

diff -Naur numpy/core/setup.py numpy-1.16.4/numpy/core/setup.py
--- numpy-1.16.4.orig/numpy/core/setup.py	2019-05-27 12:41:06.000000000 +0200
+++ numpy-1.16.4/numpy/core/setup.py	2019-09-28 12:51:56.000000000 +0200
@@ -757,7 +757,9 @@
             join('src', 'common', 'numpyos.c'),
             ]
 

                                  [generate_config_h,
                                   generate_numpyconfig_h,
                                   generate_numpy_api,
diff --git a/numpy/linalg/lapack_lite/python_xerbla.c b/numpy/linalg/lapack_lite/python_xerbla.c
index dfc195556..7110d1fc3 100644
--- a/numpy/linalg/lapack_lite/python_xerbla.c
+++ b/numpy/linalg/lapack_lite/python_xerbla.c
@@ -20,7 +20,7 @@
   info: Number of the invalid parameter.
 */
 
-int xerbla_(char *srname, integer *info)
+int custom_xerbla_(char *srname, integer *info)
 {
         static const char format[] = "On entry to %.*s" \
                 " parameter number %d had an illegal value";
diff --git a/numpy/linalg/lapack_litemodule.c b/numpy/linalg/lapack_litemodule.c
index 696a6d874..d187ad2d1 100644
--- a/numpy/linalg/lapack_litemodule.c
+++ b/numpy/linalg/lapack_litemodule.c
@@ -45,7 +45,7 @@ extern int FNAME(zungqr)(int *m, int *n, int *k, f2c_doublecomplex a[],
                           int *lda, f2c_doublecomplex tau[],
                           f2c_doublecomplex work[], int *lwork, int *info);
 
-extern int FNAME(xerbla)(char *srname, int *info);
+extern int FNAME(custom_xerbla)(char *srname, int *info);
 
 static PyObject *LapackError;
 
@@ -291,7 +291,7 @@ lapack_lite_xerbla(PyObject *NPY_UNUSED(self), PyObject *args)
 
     NPY_BEGIN_THREADS_DEF;
     NPY_BEGIN_THREADS;
-    FNAME(xerbla)("test", &info);
+    FNAME(custom_xerbla)("test", &info);
     NPY_END_THREADS;
 
     if (PyErr_Occurred()) {
diff --git a/numpy/linalg/setup.py b/numpy/linalg/setup.py
index 66c07c9e1..6f81243be 100644
--- a/numpy/linalg/setup.py
+++ b/numpy/linalg/setup.py
@@ -48,7 +48,7 @@ def configuration(parent_package='', top_path=None):
     # umath_linalg module
     config.add_extension(
         '_umath_linalg',
-        sources=['umath_linalg.c.src', get_lapack_lite_sources],
+        sources=['umath_linalg.c.src', lambda e, b: []],
         depends=['lapack_lite/f2c.h'],
         extra_info=lapack_info,
         libraries=['npymath'],
diff --git a/numpy/linalg/umath_linalg.c.src b/numpy/linalg/umath_linalg.c.src
index 9fc68a7aa..270c9bc32 100644
--- a/numpy/linalg/umath_linalg.c.src
+++ b/numpy/linalg/umath_linalg.c.src
@@ -68,6 +68,8 @@ dbg_stack_trace()
 # define FNAME(x) x##_
 #endif
 
+# define FNAME_APPLE(x) cblas_##x
+
 typedef struct { float r, i; } f2c_complex;
 typedef struct { double r, i; } f2c_doublecomplex;
 /* typedef long int (*L_fp)(); */
@@ -284,21 +286,25 @@ FNAME(zpotri)(char *uplo, int *n,
               int *info);
 
 extern int
-FNAME(scopy)(int *n,
+FNAME_APPLE(scopy)(int *n,
              float *sx, int *incx,
              float *sy, int *incy);
+#define scopy_ FNAME_APPLE(scopy)
 extern int
-FNAME(dcopy)(int *n,
+FNAME_APPLE(dcopy)(int *n,
              double *sx, int *incx,
              double *sy, int *incy);
+#define dcopy_ FNAME_APPLE(dcopy)
 extern int
-FNAME(ccopy)(int *n,
+FNAME_APPLE(ccopy)(int *n,
              f2c_complex *sx, int *incx,
              f2c_complex *sy, int *incy);
+#define ccopy_ FNAME_APPLE(ccopy)
 extern int
-FNAME(zcopy)(int *n,
+FNAME_APPLE(zcopy)(int *n,
              f2c_doublecomplex *sx, int *incx,
-             f2c_doublecomplex *sy, int *incy);
+             f2c_doublecomplex *sy, int *incy); 
+#define zcopy_ FNAME_APPLE(zcopy)
 
 extern float
 FNAME(sdot)(int *n,
