diff src/blas.mk @ 4734:80461a9e516c

override default xerbla with version from Octave * mingw-blas-1-xerbla.patch, blas.mk: Build default libxerbla lib. * mingw-lapack-1-xerbla.patch, lapack.mk: Use external libxerbla. * mingw-openblas-1-xerbla.patch, openblas.mk: Likewise. * src/qrupdate-1-fixes.patch: Likewise. * default-octave.mk: Also install libxerbla.dll as libxerbla-octave.dll.
author John W. Eaton <jwe@octave.org>
date Thu, 21 Jun 2018 01:32:10 -0400
parents 8c99783a675e
children e617e117f94d
line wrap: on
line diff
--- a/src/blas.mk	Sat Jun 09 10:13:46 2018 -0400
+++ b/src/blas.mk	Thu Jun 21 01:32:10 2018 -0400
@@ -21,17 +21,29 @@
     tail -1
 endef
 
+$(PKG)_TARGETS =  BLASLIB=libblas.a
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_TARGETS += XERBLALIB=libxerbla.a
+  $(PKG)_LIBXERBLA = -lxerbla
+endif
+
 define $(PKG)_BUILD
     $(SED) -i 's,$$(FORTRAN),$(MXE_F77) $(MXE_F77_PICFLAG) $($(PKG)_DEFAULT_INTEGER_8_FLAG),g' '$(1)/Makefile'
-    $(MAKE) -C '$(1)' -j '$(JOBS)'
-    cd '$(1)' && $(MXE_AR) cr libblas.a *.o
+    $(MAKE) -C '$(1)' ARCH=$(MXE_AR) RANLIB=$(MXE_RANLIB) $($(PKG)_TARGETS) -j '$(JOBS)'
 
     if [ $(BUILD_SHARED) = yes ]; then \
-      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/libblas.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)'; \
+      if [ -n "$($(PKG)_LIBXERBLA)" ]; then \
+        $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/libxerbla.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)'; \
+        $(INSTALL) '$(3)/$(HOST_BINDIR)/libxerbla.dll' '$(3)$(HOST_BINDIR)/libxerbla-blas.dll'; \
+      fi; \
+      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/libblas.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)' $($(PKG)_LIBXERBLA); \
     fi
 
     if [ $(BUILD_STATIC) = yes ]; then \
       $(INSTALL) -d '$(3)$(HOST_LIBDIR)'; \
       $(INSTALL) '$(1)/libblas.a' '$(3)$(HOST_LIBDIR)/'; \
+      if [ -n "$($(PKG)_LIBXERBLA)" ]; then \
+        $(INSTALL) '$(1)/libxerbla.a' '$(3)$(HOST_LIBDIR)/'; \
+      fi; \
     fi
 endef