aboutsummaryrefslogtreecommitdiff
path: root/libraries/xblas
diff options
context:
space:
mode:
authorKyle Guinn <elyk03@gmail.com>2017-03-12 00:19:18 +0000
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2017-03-18 06:58:16 +0700
commit6cc63067fc86e85e22b911c80010b4778b311014 (patch)
treee955a42371a7d5fbea3ab6c07c0346cdee28eae6 /libraries/xblas
parent27dbafc3552afbff2e4c30fd57431f8f1f92c7be (diff)
libraries/xblas: Added (Extra Precise BLAS).
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
Diffstat (limited to 'libraries/xblas')
-rw-r--r--libraries/xblas/README9
-rw-r--r--libraries/xblas/patches/automake.diff1096
-rw-r--r--libraries/xblas/slack-desc19
-rw-r--r--libraries/xblas/xblas.SlackBuild108
-rw-r--r--libraries/xblas/xblas.info10
5 files changed, 1242 insertions, 0 deletions
diff --git a/libraries/xblas/README b/libraries/xblas/README
new file mode 100644
index 0000000000000..1726956e0488e
--- /dev/null
+++ b/libraries/xblas/README
@@ -0,0 +1,9 @@
+This library of routines is part of a reference implementation for the
+Dense and Banded BLAS routines, along with their Extended and Mixed
+Precision versions.
+
+Extended Precision is only used internally; the input and output
+arguments remain the same as in the existing BLAS.
+
+Mixed Precision permits some input/output arguments to be of different
+types (mixing real/complex) or precisions (mixing single/double).
diff --git a/libraries/xblas/patches/automake.diff b/libraries/xblas/patches/automake.diff
new file mode 100644
index 0000000000000..79522b2cd201f
--- /dev/null
+++ b/libraries/xblas/patches/automake.diff
@@ -0,0 +1,1096 @@
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,10 +1,12 @@
+ dnl Copyright (c) 2005, Regents of the University of California
+-AC_INIT(xblas, 1.0, extended_blas@cs.berkeley.edu)
+-AC_PREREQ(2.59)
+-AC_CONFIG_SRCDIR(src/blas_extended.h)
+-AC_CONFIG_AUX_DIR(config)
+-
++AC_PREREQ([2.69])
++AC_INIT([XBLAS],[1.0.248],[extended_blas@cs.berkeley.edu],[xblas],[http://www.netlib.org/xblas/])
++AC_CONFIG_SRCDIR([src/blas_extended.h])
++AC_CONFIG_HEADERS([src/config.h])
++AC_CONFIG_AUX_DIR([config])
+ AC_CANONICAL_TARGET
++AM_INIT_AUTOMAKE([foreign subdir-objects])
++LT_INIT
+
+ AC_PROG_CC
+
+@@ -148,6 +150,6 @@
+ [$M4 $M4_OPTS Makefile.m4 >Makefile], [M4=$M4; M4_OPTS="$M4_OPTS"])
+
+ AC_SUBST(EXTRA_LIBS, $EXTRA_LIBS)
+-AC_CONFIG_FILES([make.inc])
++m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], [AC_SUBST([pkgconfigdir], [${libdir}/pkgconfig])])
++AC_CONFIG_FILES([make.inc src/Makefile src/xblas.pc])
+ AC_OUTPUT
+-
+diff --git a/src/Makefile.am b/src/Makefile.am
+new file mode 100644
+--- /dev/null
++++ b/src/Makefile.am
+@@ -0,0 +1,1045 @@
++AM_CPPFLAGS = -I.
++
++pkginclude_HEADERS = \
++ blas_dense_proto.h \
++ blas_enum.h \
++ blas_extended.h \
++ blas_extended_private.h \
++ blas_extended_proto.h \
++ blas_fpu.h \
++ blas_malloc.h \
++ f2c-bridge.h
++
++pkgconfig_DATA = xblas.pc
++
++lib_LTLIBRARIES = libxblas.la
++libxblas_la_LDFLAGS = -no-undefined
++libxblas_la_SOURCES = \
++ dot/BLAS_ddot_d_s.c \
++ dot/BLAS_ddot_s_d.c \
++ dot/BLAS_ddot_s_s.c \
++ dot/BLAS_zdot_z_c.c \
++ dot/BLAS_zdot_c_z.c \
++ dot/BLAS_zdot_c_c.c \
++ dot/BLAS_cdot_c_s.c \
++ dot/BLAS_cdot_s_c.c \
++ dot/BLAS_cdot_s_s.c \
++ dot/BLAS_zdot_z_d.c \
++ dot/BLAS_zdot_d_z.c \
++ dot/BLAS_zdot_d_d.c \
++ dot/BLAS_sdot_x.c \
++ dot/BLAS_ddot_x.c \
++ dot/BLAS_cdot_x.c \
++ dot/BLAS_zdot_x.c \
++ dot/BLAS_ddot_d_s_x.c \
++ dot/BLAS_ddot_s_d_x.c \
++ dot/BLAS_ddot_s_s_x.c \
++ dot/BLAS_zdot_z_c_x.c \
++ dot/BLAS_zdot_c_z_x.c \
++ dot/BLAS_zdot_c_c_x.c \
++ dot/BLAS_cdot_c_s_x.c \
++ dot/BLAS_cdot_s_c_x.c \
++ dot/BLAS_cdot_s_s_x.c \
++ dot/BLAS_zdot_z_d_x.c \
++ dot/BLAS_zdot_d_z_x.c \
++ dot/BLAS_zdot_d_d_x.c \
++ \
++ dot/BLAS_ddot_d_s-f2c.c \
++ dot/BLAS_ddot_s_d-f2c.c \
++ dot/BLAS_ddot_s_s-f2c.c \
++ dot/BLAS_zdot_z_c-f2c.c \
++ dot/BLAS_zdot_c_z-f2c.c \
++ dot/BLAS_zdot_c_c-f2c.c \
++ dot/BLAS_cdot_c_s-f2c.c \
++ dot/BLAS_cdot_s_c-f2c.c \
++ dot/BLAS_cdot_s_s-f2c.c \
++ dot/BLAS_zdot_z_d-f2c.c \
++ dot/BLAS_zdot_d_z-f2c.c \
++ dot/BLAS_zdot_d_d-f2c.c \
++ dot/BLAS_sdot_x-f2c.c \
++ dot/BLAS_ddot_x-f2c.c \
++ dot/BLAS_cdot_x-f2c.c \
++ dot/BLAS_zdot_x-f2c.c \
++ dot/BLAS_ddot_d_s_x-f2c.c \
++ dot/BLAS_ddot_s_d_x-f2c.c \
++ dot/BLAS_ddot_s_s_x-f2c.c \
++ dot/BLAS_zdot_z_c_x-f2c.c \
++ dot/BLAS_zdot_c_z_x-f2c.c \
++ dot/BLAS_zdot_c_c_x-f2c.c \
++ dot/BLAS_cdot_c_s_x-f2c.c \
++ dot/BLAS_cdot_s_c_x-f2c.c \
++ dot/BLAS_cdot_s_s_x-f2c.c \
++ dot/BLAS_zdot_z_d_x-f2c.c \
++ dot/BLAS_zdot_d_z_x-f2c.c \
++ dot/BLAS_zdot_d_d_x-f2c.c \
++ \
++ sum/BLAS_ssum_x.c \
++ sum/BLAS_dsum_x.c \
++ sum/BLAS_csum_x.c \
++ sum/BLAS_zsum_x.c \
++ \
++ sum/BLAS_ssum_x-f2c.c \
++ sum/BLAS_dsum_x-f2c.c \
++ sum/BLAS_csum_x-f2c.c \
++ sum/BLAS_zsum_x-f2c.c \
++ \
++ axpby/BLAS_daxpby_s.c \
++ axpby/BLAS_caxpby_s.c \
++ axpby/BLAS_zaxpby_c.c \
++ axpby/BLAS_zaxpby_d.c \
++ axpby/BLAS_saxpby_x.c \
++ axpby/BLAS_daxpby_x.c \
++ axpby/BLAS_caxpby_x.c \
++ axpby/BLAS_zaxpby_x.c \
++ axpby/BLAS_daxpby_s_x.c \
++ axpby/BLAS_zaxpby_c_x.c \
++ axpby/BLAS_caxpby_s_x.c \
++ axpby/BLAS_zaxpby_d_x.c \
++ \
++ axpby/BLAS_daxpby_s-f2c.c \
++ axpby/BLAS_caxpby_s-f2c.c \
++ axpby/BLAS_zaxpby_c-f2c.c \
++ axpby/BLAS_zaxpby_d-f2c.c \
++ axpby/BLAS_saxpby_x-f2c.c \
++ axpby/BLAS_daxpby_x-f2c.c \
++ axpby/BLAS_caxpby_x-f2c.c \
++ axpby/BLAS_zaxpby_x-f2c.c \
++ axpby/BLAS_daxpby_s_x-f2c.c \
++ axpby/BLAS_zaxpby_c_x-f2c.c \
++ axpby/BLAS_caxpby_s_x-f2c.c \
++ axpby/BLAS_zaxpby_d_x-f2c.c \
++ \
++ waxpby/BLAS_dwaxpby_d_s.c \
++ waxpby/BLAS_dwaxpby_s_d.c \
++ waxpby/BLAS_dwaxpby_s_s.c \
++ waxpby/BLAS_zwaxpby_z_c.c \
++ waxpby/BLAS_zwaxpby_c_z.c \
++ waxpby/BLAS_zwaxpby_c_c.c \
++ waxpby/BLAS_cwaxpby_c_s.c \
++ waxpby/BLAS_cwaxpby_s_c.c \
++ waxpby/BLAS_cwaxpby_s_s.c \
++ waxpby/BLAS_zwaxpby_z_d.c \
++ waxpby/BLAS_zwaxpby_d_z.c \
++ waxpby/BLAS_zwaxpby_d_d.c \
++ waxpby/BLAS_swaxpby_x.c \
++ waxpby/BLAS_dwaxpby_x.c \
++ waxpby/BLAS_cwaxpby_x.c \
++ waxpby/BLAS_zwaxpby_x.c \
++ waxpby/BLAS_dwaxpby_d_s_x.c \
++ waxpby/BLAS_dwaxpby_s_d_x.c \
++ waxpby/BLAS_dwaxpby_s_s_x.c \
++ waxpby/BLAS_zwaxpby_z_c_x.c \
++ waxpby/BLAS_zwaxpby_c_z_x.c \
++ waxpby/BLAS_zwaxpby_c_c_x.c \
++ waxpby/BLAS_cwaxpby_c_s_x.c \
++ waxpby/BLAS_cwaxpby_s_c_x.c \
++ waxpby/BLAS_cwaxpby_s_s_x.c \
++ waxpby/BLAS_zwaxpby_z_d_x.c \
++ waxpby/BLAS_zwaxpby_d_z_x.c \
++ waxpby/BLAS_zwaxpby_d_d_x.c \
++ \
++ waxpby/BLAS_dwaxpby_d_s-f2c.c \
++ waxpby/BLAS_dwaxpby_s_d-f2c.c \
++ waxpby/BLAS_dwaxpby_s_s-f2c.c \
++ waxpby/BLAS_zwaxpby_z_c-f2c.c \
++ waxpby/BLAS_zwaxpby_c_z-f2c.c \
++ waxpby/BLAS_zwaxpby_c_c-f2c.c \
++ waxpby/BLAS_cwaxpby_c_s-f2c.c \
++ waxpby/BLAS_cwaxpby_s_c-f2c.c \
++ waxpby/BLAS_cwaxpby_s_s-f2c.c \
++ waxpby/BLAS_zwaxpby_z_d-f2c.c \
++ waxpby/BLAS_zwaxpby_d_z-f2c.c \
++ waxpby/BLAS_zwaxpby_d_d-f2c.c \
++ waxpby/BLAS_swaxpby_x-f2c.c \
++ waxpby/BLAS_dwaxpby_x-f2c.c \
++ waxpby/BLAS_cwaxpby_x-f2c.c \
++ waxpby/BLAS_zwaxpby_x-f2c.c \
++ waxpby/BLAS_dwaxpby_d_s_x-f2c.c \
++ waxpby/BLAS_dwaxpby_s_d_x-f2c.c \
++ waxpby/BLAS_dwaxpby_s_s_x-f2c.c \
++ waxpby/BLAS_zwaxpby_z_c_x-f2c.c \
++ waxpby/BLAS_zwaxpby_c_z_x-f2c.c \
++ waxpby/BLAS_zwaxpby_c_c_x-f2c.c \
++ waxpby/BLAS_cwaxpby_c_s_x-f2c.c \
++ waxpby/BLAS_cwaxpby_s_c_x-f2c.c \
++ waxpby/BLAS_cwaxpby_s_s_x-f2c.c \
++ waxpby/BLAS_zwaxpby_z_d_x-f2c.c \
++ waxpby/BLAS_zwaxpby_d_z_x-f2c.c \
++ waxpby/BLAS_zwaxpby_d_d_x-f2c.c \
++ \
++ gemv/BLAS_dgemv_d_s.c \
++ gemv/BLAS_dgemv_s_d.c \
++ gemv/BLAS_dgemv_s_s.c \
++ gemv/BLAS_zgemv_z_c.c \
++ gemv/BLAS_zgemv_c_z.c \
++ gemv/BLAS_zgemv_c_c.c \
++ gemv/BLAS_cgemv_c_s.c \
++ gemv/BLAS_cgemv_s_c.c \
++ gemv/BLAS_cgemv_s_s.c \
++ gemv/BLAS_zgemv_z_d.c \
++ gemv/BLAS_zgemv_d_z.c \
++ gemv/BLAS_zgemv_d_d.c \
++ gemv/BLAS_sgemv_x.c \
++ gemv/BLAS_dgemv_x.c \
++ gemv/BLAS_cgemv_x.c \
++ gemv/BLAS_zgemv_x.c \
++ gemv/BLAS_dgemv_d_s_x.c \
++ gemv/BLAS_dgemv_s_d_x.c \
++ gemv/BLAS_dgemv_s_s_x.c \
++ gemv/BLAS_zgemv_z_c_x.c \
++ gemv/BLAS_zgemv_c_z_x.c \
++ gemv/BLAS_zgemv_c_c_x.c \
++ gemv/BLAS_cgemv_c_s_x.c \
++ gemv/BLAS_cgemv_s_c_x.c \
++ gemv/BLAS_cgemv_s_s_x.c \
++ gemv/BLAS_zgemv_z_d_x.c \
++ gemv/BLAS_zgemv_d_z_x.c \
++ gemv/BLAS_zgemv_d_d_x.c \
++ \
++ gemv/BLAS_dgemv_d_s-f2c.c \
++ gemv/BLAS_dgemv_s_d-f2c.c \
++ gemv/BLAS_dgemv_s_s-f2c.c \
++ gemv/BLAS_zgemv_z_c-f2c.c \
++ gemv/BLAS_zgemv_c_z-f2c.c \
++ gemv/BLAS_zgemv_c_c-f2c.c \
++ gemv/BLAS_cgemv_c_s-f2c.c \
++ gemv/BLAS_cgemv_s_c-f2c.c \
++ gemv/BLAS_cgemv_s_s-f2c.c \
++ gemv/BLAS_zgemv_z_d-f2c.c \
++ gemv/BLAS_zgemv_d_z-f2c.c \
++ gemv/BLAS_zgemv_d_d-f2c.c \
++ gemv/BLAS_sgemv_x-f2c.c \
++ gemv/BLAS_dgemv_x-f2c.c \
++ gemv/BLAS_cgemv_x-f2c.c \
++ gemv/BLAS_zgemv_x-f2c.c \
++ gemv/BLAS_dgemv_d_s_x-f2c.c \
++ gemv/BLAS_dgemv_s_d_x-f2c.c \
++ gemv/BLAS_dgemv_s_s_x-f2c.c \
++ gemv/BLAS_zgemv_z_c_x-f2c.c \
++ gemv/BLAS_zgemv_c_z_x-f2c.c \
++ gemv/BLAS_zgemv_c_c_x-f2c.c \
++ gemv/BLAS_cgemv_c_s_x-f2c.c \
++ gemv/BLAS_cgemv_s_c_x-f2c.c \
++ gemv/BLAS_cgemv_s_s_x-f2c.c \
++ gemv/BLAS_zgemv_z_d_x-f2c.c \
++ gemv/BLAS_zgemv_d_z_x-f2c.c \
++ gemv/BLAS_zgemv_d_d_x-f2c.c \
++ \
++ ge_sum_mv/BLAS_dge_sum_mv_d_s.c \
++ ge_sum_mv/BLAS_dge_sum_mv_s_d.c \
++ ge_sum_mv/BLAS_dge_sum_mv_s_s.c \
++ ge_sum_mv/BLAS_zge_sum_mv_z_c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_c_z.c \
++ ge_sum_mv/BLAS_zge_sum_mv_c_c.c \
++ ge_sum_mv/BLAS_cge_sum_mv_c_s.c \
++ ge_sum_mv/BLAS_cge_sum_mv_s_c.c \
++ ge_sum_mv/BLAS_cge_sum_mv_s_s.c \
++ ge_sum_mv/BLAS_zge_sum_mv_z_d.c \
++ ge_sum_mv/BLAS_zge_sum_mv_d_z.c \
++ ge_sum_mv/BLAS_zge_sum_mv_d_d.c \
++ ge_sum_mv/BLAS_sge_sum_mv_x.c \
++ ge_sum_mv/BLAS_dge_sum_mv_x.c \
++ ge_sum_mv/BLAS_cge_sum_mv_x.c \
++ ge_sum_mv/BLAS_zge_sum_mv_x.c \
++ ge_sum_mv/BLAS_dge_sum_mv_d_s_x.c \
++ ge_sum_mv/BLAS_dge_sum_mv_s_d_x.c \
++ ge_sum_mv/BLAS_dge_sum_mv_s_s_x.c \
++ ge_sum_mv/BLAS_zge_sum_mv_z_c_x.c \
++ ge_sum_mv/BLAS_zge_sum_mv_c_z_x.c \
++ ge_sum_mv/BLAS_zge_sum_mv_c_c_x.c \
++ ge_sum_mv/BLAS_cge_sum_mv_c_s_x.c \
++ ge_sum_mv/BLAS_cge_sum_mv_s_c_x.c \
++ ge_sum_mv/BLAS_cge_sum_mv_s_s_x.c \
++ ge_sum_mv/BLAS_zge_sum_mv_z_d_x.c \
++ ge_sum_mv/BLAS_zge_sum_mv_d_z_x.c \
++ ge_sum_mv/BLAS_zge_sum_mv_d_d_x.c \
++ \
++ ge_sum_mv/BLAS_dge_sum_mv_d_s-f2c.c \
++ ge_sum_mv/BLAS_dge_sum_mv_s_d-f2c.c \
++ ge_sum_mv/BLAS_dge_sum_mv_s_s-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_z_c-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_c_z-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_c_c-f2c.c \
++ ge_sum_mv/BLAS_cge_sum_mv_c_s-f2c.c \
++ ge_sum_mv/BLAS_cge_sum_mv_s_c-f2c.c \
++ ge_sum_mv/BLAS_cge_sum_mv_s_s-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_z_d-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_d_z-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_d_d-f2c.c \
++ ge_sum_mv/BLAS_sge_sum_mv_x-f2c.c \
++ ge_sum_mv/BLAS_dge_sum_mv_x-f2c.c \
++ ge_sum_mv/BLAS_cge_sum_mv_x-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_x-f2c.c \
++ ge_sum_mv/BLAS_dge_sum_mv_d_s_x-f2c.c \
++ ge_sum_mv/BLAS_dge_sum_mv_s_d_x-f2c.c \
++ ge_sum_mv/BLAS_dge_sum_mv_s_s_x-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_z_c_x-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_c_z_x-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_c_c_x-f2c.c \
++ ge_sum_mv/BLAS_cge_sum_mv_c_s_x-f2c.c \
++ ge_sum_mv/BLAS_cge_sum_mv_s_c_x-f2c.c \
++ ge_sum_mv/BLAS_cge_sum_mv_s_s_x-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_z_d_x-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_d_z_x-f2c.c \
++ ge_sum_mv/BLAS_zge_sum_mv_d_d_x-f2c.c \
++ \
++ gbmv/BLAS_dgbmv_d_s.c \
++ gbmv/BLAS_dgbmv_s_d.c \
++ gbmv/BLAS_dgbmv_s_s.c \
++ gbmv/BLAS_zgbmv_z_c.c \
++ gbmv/BLAS_zgbmv_c_z.c \
++ gbmv/BLAS_zgbmv_c_c.c \
++ gbmv/BLAS_cgbmv_c_s.c \
++ gbmv/BLAS_cgbmv_s_c.c \
++ gbmv/BLAS_cgbmv_s_s.c \
++ gbmv/BLAS_zgbmv_z_d.c \
++ gbmv/BLAS_zgbmv_d_z.c \
++ gbmv/BLAS_zgbmv_d_d.c \
++ gbmv/BLAS_sgbmv_x.c \
++ gbmv/BLAS_dgbmv_x.c \
++ gbmv/BLAS_cgbmv_x.c \
++ gbmv/BLAS_zgbmv_x.c \
++ gbmv/BLAS_dgbmv_d_s_x.c \
++ gbmv/BLAS_dgbmv_s_d_x.c \
++ gbmv/BLAS_dgbmv_s_s_x.c \
++ gbmv/BLAS_zgbmv_z_c_x.c \
++ gbmv/BLAS_zgbmv_c_z_x.c \
++ gbmv/BLAS_zgbmv_c_c_x.c \
++ gbmv/BLAS_cgbmv_c_s_x.c \
++ gbmv/BLAS_cgbmv_s_c_x.c \
++ gbmv/BLAS_cgbmv_s_s_x.c \
++ gbmv/BLAS_zgbmv_z_d_x.c \
++ gbmv/BLAS_zgbmv_d_z_x.c \
++ gbmv/BLAS_zgbmv_d_d_x.c \
++ \
++ gbmv/BLAS_dgbmv_d_s-f2c.c \
++ gbmv/BLAS_dgbmv_s_d-f2c.c \
++ gbmv/BLAS_dgbmv_s_s-f2c.c \
++ gbmv/BLAS_zgbmv_z_c-f2c.c \
++ gbmv/BLAS_zgbmv_c_z-f2c.c \
++ gbmv/BLAS_zgbmv_c_c-f2c.c \
++ gbmv/BLAS_cgbmv_c_s-f2c.c \
++ gbmv/BLAS_cgbmv_s_c-f2c.c \
++ gbmv/BLAS_cgbmv_s_s-f2c.c \
++ gbmv/BLAS_zgbmv_z_d-f2c.c \
++ gbmv/BLAS_zgbmv_d_z-f2c.c \
++ gbmv/BLAS_zgbmv_d_d-f2c.c \
++ gbmv/BLAS_sgbmv_x-f2c.c \
++ gbmv/BLAS_dgbmv_x-f2c.c \
++ gbmv/BLAS_cgbmv_x-f2c.c \
++ gbmv/BLAS_zgbmv_x-f2c.c \
++ gbmv/BLAS_dgbmv_d_s_x-f2c.c \
++ gbmv/BLAS_dgbmv_s_d_x-f2c.c \
++ gbmv/BLAS_dgbmv_s_s_x-f2c.c \
++ gbmv/BLAS_zgbmv_z_c_x-f2c.c \
++ gbmv/BLAS_zgbmv_c_z_x-f2c.c \
++ gbmv/BLAS_zgbmv_c_c_x-f2c.c \
++ gbmv/BLAS_cgbmv_c_s_x-f2c.c \
++ gbmv/BLAS_cgbmv_s_c_x-f2c.c \
++ gbmv/BLAS_cgbmv_s_s_x-f2c.c \
++ gbmv/BLAS_zgbmv_z_d_x-f2c.c \
++ gbmv/BLAS_zgbmv_d_z_x-f2c.c \
++ gbmv/BLAS_zgbmv_d_d_x-f2c.c \
++ \
++ symv/BLAS_dsymv_d_s.c \
++ symv/BLAS_dsymv_s_d.c \
++ symv/BLAS_dsymv_s_s.c \
++ symv/BLAS_zsymv_z_c.c \
++ symv/BLAS_zsymv_c_z.c \
++ symv/BLAS_zsymv_c_c.c \
++ symv/BLAS_csymv_c_s.c \
++ symv/BLAS_csymv_s_c.c \
++ symv/BLAS_csymv_s_s.c \
++ symv/BLAS_zsymv_z_d.c \
++ symv/BLAS_zsymv_d_z.c \
++ symv/BLAS_zsymv_d_d.c \
++ symv/BLAS_ssymv_x.c \
++ symv/BLAS_dsymv_x.c \
++ symv/BLAS_csymv_x.c \
++ symv/BLAS_zsymv_x.c \
++ symv/BLAS_dsymv_d_s_x.c \
++ symv/BLAS_dsymv_s_d_x.c \
++ symv/BLAS_dsymv_s_s_x.c \
++ symv/BLAS_zsymv_z_c_x.c \
++ symv/BLAS_zsymv_c_z_x.c \
++ symv/BLAS_zsymv_c_c_x.c \
++ symv/BLAS_csymv_c_s_x.c \
++ symv/BLAS_csymv_s_c_x.c \
++ symv/BLAS_csymv_s_s_x.c \
++ symv/BLAS_zsymv_z_d_x.c \
++ symv/BLAS_zsymv_d_z_x.c \
++ symv/BLAS_zsymv_d_d_x.c \
++ \
++ symv/BLAS_dsymv_d_s-f2c.c \
++ symv/BLAS_dsymv_s_d-f2c.c \
++ symv/BLAS_dsymv_s_s-f2c.c \
++ symv/BLAS_zsymv_z_c-f2c.c \
++ symv/BLAS_zsymv_c_z-f2c.c \
++ symv/BLAS_zsymv_c_c-f2c.c \
++ symv/BLAS_csymv_c_s-f2c.c \
++ symv/BLAS_csymv_s_c-f2c.c \
++ symv/BLAS_csymv_s_s-f2c.c \
++ symv/BLAS_zsymv_z_d-f2c.c \
++ symv/BLAS_zsymv_d_z-f2c.c \
++ symv/BLAS_zsymv_d_d-f2c.c \
++ symv/BLAS_ssymv_x-f2c.c \
++ symv/BLAS_dsymv_x-f2c.c \
++ symv/BLAS_csymv_x-f2c.c \
++ symv/BLAS_zsymv_x-f2c.c \
++ symv/BLAS_dsymv_d_s_x-f2c.c \
++ symv/BLAS_dsymv_s_d_x-f2c.c \
++ symv/BLAS_dsymv_s_s_x-f2c.c \
++ symv/BLAS_zsymv_z_c_x-f2c.c \
++ symv/BLAS_zsymv_c_z_x-f2c.c \
++ symv/BLAS_zsymv_c_c_x-f2c.c \
++ symv/BLAS_csymv_c_s_x-f2c.c \
++ symv/BLAS_csymv_s_c_x-f2c.c \
++ symv/BLAS_csymv_s_s_x-f2c.c \
++ symv/BLAS_zsymv_z_d_x-f2c.c \
++ symv/BLAS_zsymv_d_z_x-f2c.c \
++ symv/BLAS_zsymv_d_d_x-f2c.c \
++ \
++ spmv/BLAS_dspmv_d_s.c \
++ spmv/BLAS_dspmv_s_d.c \
++ spmv/BLAS_dspmv_s_s.c \
++ spmv/BLAS_zspmv_z_c.c \
++ spmv/BLAS_zspmv_c_z.c \
++ spmv/BLAS_zspmv_c_c.c \
++ spmv/BLAS_cspmv_c_s.c \
++ spmv/BLAS_cspmv_s_c.c \
++ spmv/BLAS_cspmv_s_s.c \
++ spmv/BLAS_zspmv_z_d.c \
++ spmv/BLAS_zspmv_d_z.c \
++ spmv/BLAS_zspmv_d_d.c \
++ spmv/BLAS_sspmv_x.c \
++ spmv/BLAS_dspmv_x.c \
++ spmv/BLAS_cspmv_x.c \
++ spmv/BLAS_zspmv_x.c \
++ spmv/BLAS_dspmv_d_s_x.c \
++ spmv/BLAS_dspmv_s_d_x.c \
++ spmv/BLAS_dspmv_s_s_x.c \
++ spmv/BLAS_zspmv_z_c_x.c \
++ spmv/BLAS_zspmv_c_z_x.c \
++ spmv/BLAS_zspmv_c_c_x.c \
++ spmv/BLAS_cspmv_c_s_x.c \
++ spmv/BLAS_cspmv_s_c_x.c \
++ spmv/BLAS_cspmv_s_s_x.c \
++ spmv/BLAS_zspmv_z_d_x.c \
++ spmv/BLAS_zspmv_d_z_x.c \
++ spmv/BLAS_zspmv_d_d_x.c \
++ \
++ spmv/BLAS_dspmv_d_s-f2c.c \
++ spmv/BLAS_dspmv_s_d-f2c.c \
++ spmv/BLAS_dspmv_s_s-f2c.c \
++ spmv/BLAS_zspmv_z_c-f2c.c \
++ spmv/BLAS_zspmv_c_z-f2c.c \
++ spmv/BLAS_zspmv_c_c-f2c.c \
++ spmv/BLAS_cspmv_c_s-f2c.c \
++ spmv/BLAS_cspmv_s_c-f2c.c \
++ spmv/BLAS_cspmv_s_s-f2c.c \
++ spmv/BLAS_zspmv_z_d-f2c.c \
++ spmv/BLAS_zspmv_d_z-f2c.c \
++ spmv/BLAS_zspmv_d_d-f2c.c \
++ spmv/BLAS_sspmv_x-f2c.c \
++ spmv/BLAS_dspmv_x-f2c.c \
++ spmv/BLAS_cspmv_x-f2c.c \
++ spmv/BLAS_zspmv_x-f2c.c \
++ spmv/BLAS_dspmv_d_s_x-f2c.c \
++ spmv/BLAS_dspmv_s_d_x-f2c.c \
++ spmv/BLAS_dspmv_s_s_x-f2c.c \
++ spmv/BLAS_zspmv_z_c_x-f2c.c \
++ spmv/BLAS_zspmv_c_z_x-f2c.c \
++ spmv/BLAS_zspmv_c_c_x-f2c.c \
++ spmv/BLAS_cspmv_c_s_x-f2c.c \
++ spmv/BLAS_cspmv_s_c_x-f2c.c \
++ spmv/BLAS_cspmv_s_s_x-f2c.c \
++ spmv/BLAS_zspmv_z_d_x-f2c.c \
++ spmv/BLAS_zspmv_d_z_x-f2c.c \
++ spmv/BLAS_zspmv_d_d_x-f2c.c \
++ \
++ sbmv/BLAS_dsbmv_d_s.c \
++ sbmv/BLAS_dsbmv_s_d.c \
++ sbmv/BLAS_dsbmv_s_s.c \
++ sbmv/BLAS_zsbmv_z_c.c \
++ sbmv/BLAS_zsbmv_c_z.c \
++ sbmv/BLAS_zsbmv_c_c.c \
++ sbmv/BLAS_csbmv_c_s.c \
++ sbmv/BLAS_csbmv_s_c.c \
++ sbmv/BLAS_csbmv_s_s.c \
++ sbmv/BLAS_zsbmv_z_d.c \
++ sbmv/BLAS_zsbmv_d_z.c \
++ sbmv/BLAS_zsbmv_d_d.c \
++ sbmv/BLAS_ssbmv_x.c \
++ sbmv/BLAS_dsbmv_x.c \
++ sbmv/BLAS_csbmv_x.c \
++ sbmv/BLAS_zsbmv_x.c \
++ sbmv/BLAS_dsbmv_d_s_x.c \
++ sbmv/BLAS_dsbmv_s_d_x.c \
++ sbmv/BLAS_dsbmv_s_s_x.c \
++ sbmv/BLAS_zsbmv_z_c_x.c \
++ sbmv/BLAS_zsbmv_c_z_x.c \
++ sbmv/BLAS_zsbmv_c_c_x.c \
++ sbmv/BLAS_csbmv_c_s_x.c \
++ sbmv/BLAS_csbmv_s_c_x.c \
++ sbmv/BLAS_csbmv_s_s_x.c \
++ sbmv/BLAS_zsbmv_z_d_x.c \
++ sbmv/BLAS_zsbmv_d_z_x.c \
++ sbmv/BLAS_zsbmv_d_d_x.c \
++ \
++ sbmv/BLAS_dsbmv_d_s-f2c.c \
++ sbmv/BLAS_dsbmv_s_d-f2c.c \
++ sbmv/BLAS_dsbmv_s_s-f2c.c \
++ sbmv/BLAS_zsbmv_z_c-f2c.c \
++ sbmv/BLAS_zsbmv_c_z-f2c.c \
++ sbmv/BLAS_zsbmv_c_c-f2c.c \
++ sbmv/BLAS_csbmv_c_s-f2c.c \
++ sbmv/BLAS_csbmv_s_c-f2c.c \
++ sbmv/BLAS_csbmv_s_s-f2c.c \
++ sbmv/BLAS_zsbmv_z_d-f2c.c \
++ sbmv/BLAS_zsbmv_d_z-f2c.c \
++ sbmv/BLAS_zsbmv_d_d-f2c.c \
++ sbmv/BLAS_ssbmv_x-f2c.c \
++ sbmv/BLAS_dsbmv_x-f2c.c \
++ sbmv/BLAS_csbmv_x-f2c.c \
++ sbmv/BLAS_zsbmv_x-f2c.c \
++ sbmv/BLAS_dsbmv_d_s_x-f2c.c \
++ sbmv/BLAS_dsbmv_s_d_x-f2c.c \
++ sbmv/BLAS_dsbmv_s_s_x-f2c.c \
++ sbmv/BLAS_zsbmv_z_c_x-f2c.c \
++ sbmv/BLAS_zsbmv_c_z_x-f2c.c \
++ sbmv/BLAS_zsbmv_c_c_x-f2c.c \
++ sbmv/BLAS_csbmv_c_s_x-f2c.c \
++ sbmv/BLAS_csbmv_s_c_x-f2c.c \
++ sbmv/BLAS_csbmv_s_s_x-f2c.c \
++ sbmv/BLAS_zsbmv_z_d_x-f2c.c \
++ sbmv/BLAS_zsbmv_d_z_x-f2c.c \
++ sbmv/BLAS_zsbmv_d_d_x-f2c.c \
++ \
++ hemv/BLAS_zhemv_z_c.c \
++ hemv/BLAS_zhemv_c_z.c \
++ hemv/BLAS_zhemv_c_c.c \
++ hemv/BLAS_chemv_c_s.c \
++ hemv/BLAS_zhemv_z_d.c \
++ hemv/BLAS_chemv_x.c \
++ hemv/BLAS_zhemv_x.c \
++ hemv/BLAS_zhemv_z_c_x.c \
++ hemv/BLAS_zhemv_c_z_x.c \
++ hemv/BLAS_zhemv_c_c_x.c \
++ hemv/BLAS_chemv_c_s_x.c \
++ hemv/BLAS_zhemv_z_d_x.c \
++ \
++ hemv/BLAS_zhemv_z_c-f2c.c \
++ hemv/BLAS_zhemv_c_z-f2c.c \
++ hemv/BLAS_zhemv_c_c-f2c.c \
++ hemv/BLAS_chemv_c_s-f2c.c \
++ hemv/BLAS_zhemv_z_d-f2c.c \
++ hemv/BLAS_chemv_x-f2c.c \
++ hemv/BLAS_zhemv_x-f2c.c \
++ hemv/BLAS_zhemv_z_c_x-f2c.c \
++ hemv/BLAS_zhemv_c_z_x-f2c.c \
++ hemv/BLAS_zhemv_c_c_x-f2c.c \
++ hemv/BLAS_chemv_c_s_x-f2c.c \
++ hemv/BLAS_zhemv_z_d_x-f2c.c \
++ \
++ hpmv/BLAS_zhpmv_z_c.c \
++ hpmv/BLAS_zhpmv_c_z.c \
++ hpmv/BLAS_zhpmv_c_c.c \
++ hpmv/BLAS_chpmv_c_s.c \
++ hpmv/BLAS_zhpmv_z_d.c \
++ hpmv/BLAS_chpmv_x.c \
++ hpmv/BLAS_zhpmv_x.c \
++ hpmv/BLAS_zhpmv_z_c_x.c \
++ hpmv/BLAS_zhpmv_c_z_x.c \
++ hpmv/BLAS_zhpmv_c_c_x.c \
++ hpmv/BLAS_chpmv_c_s_x.c \
++ hpmv/BLAS_zhpmv_z_d_x.c \
++ \
++ hpmv/BLAS_zhpmv_z_c-f2c.c \
++ hpmv/BLAS_zhpmv_c_z-f2c.c \
++ hpmv/BLAS_zhpmv_c_c-f2c.c \
++ hpmv/BLAS_chpmv_c_s-f2c.c \
++ hpmv/BLAS_zhpmv_z_d-f2c.c \
++ hpmv/BLAS_chpmv_x-f2c.c \
++ hpmv/BLAS_zhpmv_x-f2c.c \
++ hpmv/BLAS_zhpmv_z_c_x-f2c.c \
++ hpmv/BLAS_zhpmv_c_z_x-f2c.c \
++ hpmv/BLAS_zhpmv_c_c_x-f2c.c \
++ hpmv/BLAS_chpmv_c_s_x-f2c.c \
++ hpmv/BLAS_zhpmv_z_d_x-f2c.c \
++ \
++ hbmv/BLAS_zhbmv_z_c.c \
++ hbmv/BLAS_zhbmv_c_z.c \
++ hbmv/BLAS_zhbmv_c_c.c \
++ hbmv/BLAS_chbmv_c_s.c \
++ hbmv/BLAS_zhbmv_z_d.c \
++ hbmv/BLAS_chbmv_x.c \
++ hbmv/BLAS_zhbmv_x.c \
++ hbmv/BLAS_zhbmv_z_c_x.c \
++ hbmv/BLAS_zhbmv_c_z_x.c \
++ hbmv/BLAS_zhbmv_c_c_x.c \
++ hbmv/BLAS_chbmv_c_s_x.c \
++ hbmv/BLAS_zhbmv_z_d_x.c \
++ \
++ hbmv/BLAS_zhbmv_z_c-f2c.c \
++ hbmv/BLAS_zhbmv_c_z-f2c.c \
++ hbmv/BLAS_zhbmv_c_c-f2c.c \
++ hbmv/BLAS_chbmv_c_s-f2c.c \
++ hbmv/BLAS_zhbmv_z_d-f2c.c \
++ hbmv/BLAS_chbmv_x-f2c.c \
++ hbmv/BLAS_zhbmv_x-f2c.c \
++ hbmv/BLAS_zhbmv_z_c_x-f2c.c \
++ hbmv/BLAS_zhbmv_c_z_x-f2c.c \
++ hbmv/BLAS_zhbmv_c_c_x-f2c.c \
++ hbmv/BLAS_chbmv_c_s_x-f2c.c \
++ hbmv/BLAS_zhbmv_z_d_x-f2c.c \
++ \
++ trmv/BLAS_dtrmv_s.c \
++ trmv/BLAS_ztrmv_c.c \
++ trmv/BLAS_ctrmv_s.c \
++ trmv/BLAS_ztrmv_d.c \
++ trmv/BLAS_strmv_x.c \
++ trmv/BLAS_dtrmv_x.c \
++ trmv/BLAS_ctrmv_x.c \
++ trmv/BLAS_ztrmv_x.c \
++ trmv/BLAS_dtrmv_s_x.c \
++ trmv/BLAS_ztrmv_c_x.c \
++ trmv/BLAS_ctrmv_s_x.c \
++ trmv/BLAS_ztrmv_d_x.c \
++ \
++ trmv/BLAS_dtrmv_s-f2c.c \
++ trmv/BLAS_ztrmv_c-f2c.c \
++ trmv/BLAS_ctrmv_s-f2c.c \
++ trmv/BLAS_ztrmv_d-f2c.c \
++ trmv/BLAS_strmv_x-f2c.c \
++ trmv/BLAS_dtrmv_x-f2c.c \
++ trmv/BLAS_ctrmv_x-f2c.c \
++ trmv/BLAS_ztrmv_x-f2c.c \
++ trmv/BLAS_dtrmv_s_x-f2c.c \
++ trmv/BLAS_ztrmv_c_x-f2c.c \
++ trmv/BLAS_ctrmv_s_x-f2c.c \
++ trmv/BLAS_ztrmv_d_x-f2c.c \
++ \
++ tpmv/BLAS_dtpmv_s.c \
++ tpmv/BLAS_ztpmv_c.c \
++ tpmv/BLAS_ctpmv_s.c \
++ tpmv/BLAS_ztpmv_d.c \
++ tpmv/BLAS_stpmv_x.c \
++ tpmv/BLAS_dtpmv_x.c \
++ tpmv/BLAS_ctpmv_x.c \
++ tpmv/BLAS_ztpmv_x.c \
++ tpmv/BLAS_dtpmv_s_x.c \
++ tpmv/BLAS_ztpmv_c_x.c \
++ tpmv/BLAS_ctpmv_s_x.c \
++ tpmv/BLAS_ztpmv_d_x.c \
++ \
++ tpmv/BLAS_dtpmv_s-f2c.c \
++ tpmv/BLAS_ztpmv_c-f2c.c \
++ tpmv/BLAS_ctpmv_s-f2c.c \
++ tpmv/BLAS_ztpmv_d-f2c.c \
++ tpmv/BLAS_stpmv_x-f2c.c \
++ tpmv/BLAS_dtpmv_x-f2c.c \
++ tpmv/BLAS_ctpmv_x-f2c.c \
++ tpmv/BLAS_ztpmv_x-f2c.c \
++ tpmv/BLAS_dtpmv_s_x-f2c.c \
++ tpmv/BLAS_ztpmv_c_x-f2c.c \
++ tpmv/BLAS_ctpmv_s_x-f2c.c \
++ tpmv/BLAS_ztpmv_d_x-f2c.c \
++ \
++ trsv/BLAS_dtrsv_s.c \
++ trsv/BLAS_ztrsv_c.c \
++ trsv/BLAS_ctrsv_s.c \
++ trsv/BLAS_ztrsv_d.c \
++ trsv/BLAS_strsv_x.c \
++ trsv/BLAS_dtrsv_x.c \
++ trsv/BLAS_dtrsv_s_x.c \
++ trsv/BLAS_ctrsv_x.c \
++ trsv/BLAS_ztrsv_x.c \
++ trsv/BLAS_ztrsv_c_x.c \
++ trsv/BLAS_ctrsv_s_x.c \
++ trsv/BLAS_ztrsv_d_x.c \
++ \
++ trsv/BLAS_dtrsv_s-f2c.c \
++ trsv/BLAS_ztrsv_c-f2c.c \
++ trsv/BLAS_ctrsv_s-f2c.c \
++ trsv/BLAS_ztrsv_d-f2c.c \
++ trsv/BLAS_strsv_x-f2c.c \
++ trsv/BLAS_dtrsv_x-f2c.c \
++ trsv/BLAS_dtrsv_s_x-f2c.c \
++ trsv/BLAS_ctrsv_x-f2c.c \
++ trsv/BLAS_ztrsv_x-f2c.c \
++ trsv/BLAS_ztrsv_c_x-f2c.c \
++ trsv/BLAS_ctrsv_s_x-f2c.c \
++ trsv/BLAS_ztrsv_d_x-f2c.c \
++ \
++ tbsv/BLAS_dtbsv_s.c \
++ tbsv/BLAS_ztbsv_c.c \
++ tbsv/BLAS_ctbsv_s.c \
++ tbsv/BLAS_ztbsv_d.c \
++ tbsv/BLAS_stbsv_x.c \
++ tbsv/BLAS_dtbsv_x.c \
++ tbsv/BLAS_dtbsv_s_x.c \
++ tbsv/BLAS_ctbsv_x.c \
++ tbsv/BLAS_ztbsv_x.c \
++ tbsv/BLAS_ztbsv_c_x.c \
++ tbsv/BLAS_ctbsv_s_x.c \
++ tbsv/BLAS_ztbsv_d_x.c \
++ \
++ tbsv/BLAS_dtbsv_s-f2c.c \
++ tbsv/BLAS_ztbsv_c-f2c.c \
++ tbsv/BLAS_ctbsv_s-f2c.c \
++ tbsv/BLAS_ztbsv_d-f2c.c \
++ tbsv/BLAS_stbsv_x-f2c.c \
++ tbsv/BLAS_dtbsv_x-f2c.c \
++ tbsv/BLAS_dtbsv_s_x-f2c.c \
++ tbsv/BLAS_ctbsv_x-f2c.c \
++ tbsv/BLAS_ztbsv_x-f2c.c \
++ tbsv/BLAS_ztbsv_c_x-f2c.c \
++ tbsv/BLAS_ctbsv_s_x-f2c.c \
++ tbsv/BLAS_ztbsv_d_x-f2c.c \
++ \
++ gemm/BLAS_dgemm_d_s.c \
++ gemm/BLAS_dgemm_s_d.c \
++ gemm/BLAS_dgemm_s_s.c \
++ gemm/BLAS_zgemm_z_c.c \
++ gemm/BLAS_zgemm_c_z.c \
++ gemm/BLAS_zgemm_c_c.c \
++ gemm/BLAS_cgemm_c_s.c \
++ gemm/BLAS_cgemm_s_c.c \
++ gemm/BLAS_cgemm_s_s.c \
++ gemm/BLAS_zgemm_z_d.c \
++ gemm/BLAS_zgemm_d_z.c \
++ gemm/BLAS_zgemm_d_d.c \
++ gemm/BLAS_sgemm_x.c \
++ gemm/BLAS_dgemm_x.c \
++ gemm/BLAS_cgemm_x.c \
++ gemm/BLAS_zgemm_x.c \
++ gemm/BLAS_dgemm_d_s_x.c \
++ gemm/BLAS_dgemm_s_d_x.c \
++ gemm/BLAS_dgemm_s_s_x.c \
++ gemm/BLAS_zgemm_z_c_x.c \
++ gemm/BLAS_zgemm_c_z_x.c \
++ gemm/BLAS_zgemm_c_c_x.c \
++ gemm/BLAS_cgemm_c_s_x.c \
++ gemm/BLAS_cgemm_s_c_x.c \
++ gemm/BLAS_cgemm_s_s_x.c \
++ gemm/BLAS_zgemm_z_d_x.c \
++ gemm/BLAS_zgemm_d_z_x.c \
++ gemm/BLAS_zgemm_d_d_x.c \
++ \
++ gemm/BLAS_dgemm_d_s-f2c.c \
++ gemm/BLAS_dgemm_s_d-f2c.c \
++ gemm/BLAS_dgemm_s_s-f2c.c \
++ gemm/BLAS_zgemm_z_c-f2c.c \
++ gemm/BLAS_zgemm_c_z-f2c.c \
++ gemm/BLAS_zgemm_c_c-f2c.c \
++ gemm/BLAS_cgemm_c_s-f2c.c \
++ gemm/BLAS_cgemm_s_c-f2c.c \
++ gemm/BLAS_cgemm_s_s-f2c.c \
++ gemm/BLAS_zgemm_z_d-f2c.c \
++ gemm/BLAS_zgemm_d_z-f2c.c \
++ gemm/BLAS_zgemm_d_d-f2c.c \
++ gemm/BLAS_sgemm_x-f2c.c \
++ gemm/BLAS_dgemm_x-f2c.c \
++ gemm/BLAS_cgemm_x-f2c.c \
++ gemm/BLAS_zgemm_x-f2c.c \
++ gemm/BLAS_dgemm_d_s_x-f2c.c \
++ gemm/BLAS_dgemm_s_d_x-f2c.c \
++ gemm/BLAS_dgemm_s_s_x-f2c.c \
++ gemm/BLAS_zgemm_z_c_x-f2c.c \
++ gemm/BLAS_zgemm_c_z_x-f2c.c \
++ gemm/BLAS_zgemm_c_c_x-f2c.c \
++ gemm/BLAS_cgemm_c_s_x-f2c.c \
++ gemm/BLAS_cgemm_s_c_x-f2c.c \
++ gemm/BLAS_cgemm_s_s_x-f2c.c \
++ gemm/BLAS_zgemm_z_d_x-f2c.c \
++ gemm/BLAS_zgemm_d_z_x-f2c.c \
++ gemm/BLAS_zgemm_d_d_x-f2c.c \
++ \
++ symm/BLAS_dsymm_d_s.c \
++ symm/BLAS_dsymm_s_d.c \
++ symm/BLAS_dsymm_s_s.c \
++ symm/BLAS_zsymm_z_c.c \
++ symm/BLAS_zsymm_c_z.c \
++ symm/BLAS_zsymm_c_c.c \
++ symm/BLAS_csymm_c_s.c \
++ symm/BLAS_csymm_s_c.c \
++ symm/BLAS_csymm_s_s.c \
++ symm/BLAS_zsymm_z_d.c \
++ symm/BLAS_zsymm_d_z.c \
++ symm/BLAS_zsymm_d_d.c \
++ symm/BLAS_ssymm_x.c \
++ symm/BLAS_dsymm_x.c \
++ symm/BLAS_csymm_x.c \
++ symm/BLAS_zsymm_x.c \
++ symm/BLAS_dsymm_d_s_x.c \
++ symm/BLAS_dsymm_s_d_x.c \
++ symm/BLAS_dsymm_s_s_x.c \
++ symm/BLAS_zsymm_z_c_x.c \
++ symm/BLAS_zsymm_c_z_x.c \
++ symm/BLAS_zsymm_c_c_x.c \
++ symm/BLAS_csymm_c_s_x.c \
++ symm/BLAS_csymm_s_c_x.c \
++ symm/BLAS_csymm_s_s_x.c \
++ symm/BLAS_zsymm_z_d_x.c \
++ symm/BLAS_zsymm_d_z_x.c \
++ symm/BLAS_zsymm_d_d_x.c \
++ \
++ symm/BLAS_dsymm_d_s-f2c.c \
++ symm/BLAS_dsymm_s_d-f2c.c \
++ symm/BLAS_dsymm_s_s-f2c.c \
++ symm/BLAS_zsymm_z_c-f2c.c \
++ symm/BLAS_zsymm_c_z-f2c.c \
++ symm/BLAS_zsymm_c_c-f2c.c \
++ symm/BLAS_csymm_c_s-f2c.c \
++ symm/BLAS_csymm_s_c-f2c.c \
++ symm/BLAS_csymm_s_s-f2c.c \
++ symm/BLAS_zsymm_z_d-f2c.c \
++ symm/BLAS_zsymm_d_z-f2c.c \
++ symm/BLAS_zsymm_d_d-f2c.c \
++ symm/BLAS_ssymm_x-f2c.c \
++ symm/BLAS_dsymm_x-f2c.c \
++ symm/BLAS_csymm_x-f2c.c \
++ symm/BLAS_zsymm_x-f2c.c \
++ symm/BLAS_dsymm_d_s_x-f2c.c \
++ symm/BLAS_dsymm_s_d_x-f2c.c \
++ symm/BLAS_dsymm_s_s_x-f2c.c \
++ symm/BLAS_zsymm_z_c_x-f2c.c \
++ symm/BLAS_zsymm_c_z_x-f2c.c \
++ symm/BLAS_zsymm_c_c_x-f2c.c \
++ symm/BLAS_csymm_c_s_x-f2c.c \
++ symm/BLAS_csymm_s_c_x-f2c.c \
++ symm/BLAS_csymm_s_s_x-f2c.c \
++ symm/BLAS_zsymm_z_d_x-f2c.c \
++ symm/BLAS_zsymm_d_z_x-f2c.c \
++ symm/BLAS_zsymm_d_d_x-f2c.c \
++ \
++ hemm/BLAS_zhemm_z_c.c \
++ hemm/BLAS_zhemm_c_z.c \
++ hemm/BLAS_zhemm_c_c.c \
++ hemm/BLAS_chemm_c_s.c \
++ hemm/BLAS_zhemm_z_d.c \
++ hemm/BLAS_chemm_x.c \
++ hemm/BLAS_zhemm_x.c \
++ hemm/BLAS_zhemm_z_c_x.c \
++ hemm/BLAS_zhemm_c_z_x.c \
++ hemm/BLAS_zhemm_c_c_x.c \
++ hemm/BLAS_chemm_c_s_x.c \
++ hemm/BLAS_zhemm_z_d_x.c \
++ \
++ hemm/BLAS_zhemm_z_c-f2c.c \
++ hemm/BLAS_zhemm_c_z-f2c.c \
++ hemm/BLAS_zhemm_c_c-f2c.c \
++ hemm/BLAS_chemm_c_s-f2c.c \
++ hemm/BLAS_zhemm_z_d-f2c.c \
++ hemm/BLAS_chemm_x-f2c.c \
++ hemm/BLAS_zhemm_x-f2c.c \
++ hemm/BLAS_zhemm_z_c_x-f2c.c \
++ hemm/BLAS_zhemm_c_z_x-f2c.c \
++ hemm/BLAS_zhemm_c_c_x-f2c.c \
++ hemm/BLAS_chemm_c_s_x-f2c.c \
++ hemm/BLAS_zhemm_z_d_x-f2c.c \
++ \
++ gemv2/BLAS_dgemv2_d_s.c \
++ gemv2/BLAS_dgemv2_s_d.c \
++ gemv2/BLAS_dgemv2_s_s.c \
++ gemv2/BLAS_zgemv2_z_c.c \
++ gemv2/BLAS_zgemv2_c_z.c \
++ gemv2/BLAS_zgemv2_c_c.c \
++ gemv2/BLAS_cgemv2_c_s.c \
++ gemv2/BLAS_cgemv2_s_c.c \
++ gemv2/BLAS_cgemv2_s_s.c \
++ gemv2/BLAS_zgemv2_z_d.c \
++ gemv2/BLAS_zgemv2_d_z.c \
++ gemv2/BLAS_zgemv2_d_d.c \
++ gemv2/BLAS_sgemv2_x.c \
++ gemv2/BLAS_dgemv2_x.c \
++ gemv2/BLAS_cgemv2_x.c \
++ gemv2/BLAS_zgemv2_x.c \
++ gemv2/BLAS_dgemv2_d_s_x.c \
++ gemv2/BLAS_dgemv2_s_d_x.c \
++ gemv2/BLAS_dgemv2_s_s_x.c \
++ gemv2/BLAS_zgemv2_z_c_x.c \
++ gemv2/BLAS_zgemv2_c_z_x.c \
++ gemv2/BLAS_zgemv2_c_c_x.c \
++ gemv2/BLAS_cgemv2_c_s_x.c \
++ gemv2/BLAS_cgemv2_s_c_x.c \
++ gemv2/BLAS_cgemv2_s_s_x.c \
++ gemv2/BLAS_zgemv2_z_d_x.c \
++ gemv2/BLAS_zgemv2_d_z_x.c \
++ gemv2/BLAS_zgemv2_d_d_x.c \
++ \
++ gemv2/BLAS_dgemv2_d_s-f2c.c \
++ gemv2/BLAS_dgemv2_s_d-f2c.c \
++ gemv2/BLAS_dgemv2_s_s-f2c.c \
++ gemv2/BLAS_zgemv2_z_c-f2c.c \
++ gemv2/BLAS_zgemv2_c_z-f2c.c \
++ gemv2/BLAS_zgemv2_c_c-f2c.c \
++ gemv2/BLAS_cgemv2_c_s-f2c.c \
++ gemv2/BLAS_cgemv2_s_c-f2c.c \
++ gemv2/BLAS_cgemv2_s_s-f2c.c \
++ gemv2/BLAS_zgemv2_z_d-f2c.c \
++ gemv2/BLAS_zgemv2_d_z-f2c.c \
++ gemv2/BLAS_zgemv2_d_d-f2c.c \
++ gemv2/BLAS_sgemv2_x-f2c.c \
++ gemv2/BLAS_dgemv2_x-f2c.c \
++ gemv2/BLAS_cgemv2_x-f2c.c \
++ gemv2/BLAS_zgemv2_x-f2c.c \
++ gemv2/BLAS_dgemv2_d_s_x-f2c.c \
++ gemv2/BLAS_dgemv2_s_d_x-f2c.c \
++ gemv2/BLAS_dgemv2_s_s_x-f2c.c \
++ gemv2/BLAS_zgemv2_z_c_x-f2c.c \
++ gemv2/BLAS_zgemv2_c_z_x-f2c.c \
++ gemv2/BLAS_zgemv2_c_c_x-f2c.c \
++ gemv2/BLAS_cgemv2_c_s_x-f2c.c \
++ gemv2/BLAS_cgemv2_s_c_x-f2c.c \
++ gemv2/BLAS_cgemv2_s_s_x-f2c.c \
++ gemv2/BLAS_zgemv2_z_d_x-f2c.c \
++ gemv2/BLAS_zgemv2_d_z_x-f2c.c \
++ gemv2/BLAS_zgemv2_d_d_x-f2c.c \
++ \
++ symv2/BLAS_dsymv2_d_s.c \
++ symv2/BLAS_dsymv2_s_d.c \
++ symv2/BLAS_dsymv2_s_s.c \
++ symv2/BLAS_zsymv2_z_c.c \
++ symv2/BLAS_zsymv2_c_z.c \
++ symv2/BLAS_zsymv2_c_c.c \
++ symv2/BLAS_csymv2_c_s.c \
++ symv2/BLAS_csymv2_s_c.c \
++ symv2/BLAS_csymv2_s_s.c \
++ symv2/BLAS_zsymv2_z_d.c \
++ symv2/BLAS_zsymv2_d_z.c \
++ symv2/BLAS_zsymv2_d_d.c \
++ symv2/BLAS_ssymv2_x.c \
++ symv2/BLAS_dsymv2_x.c \
++ symv2/BLAS_csymv2_x.c \
++ symv2/BLAS_zsymv2_x.c \
++ symv2/BLAS_dsymv2_d_s_x.c \
++ symv2/BLAS_dsymv2_s_d_x.c \
++ symv2/BLAS_dsymv2_s_s_x.c \
++ symv2/BLAS_zsymv2_z_c_x.c \
++ symv2/BLAS_zsymv2_c_z_x.c \
++ symv2/BLAS_zsymv2_c_c_x.c \
++ symv2/BLAS_csymv2_c_s_x.c \
++ symv2/BLAS_csymv2_s_c_x.c \
++ symv2/BLAS_csymv2_s_s_x.c \
++ symv2/BLAS_zsymv2_z_d_x.c \
++ symv2/BLAS_zsymv2_d_z_x.c \
++ symv2/BLAS_zsymv2_d_d_x.c \
++ \
++ symv2/BLAS_dsymv2_d_s-f2c.c \
++ symv2/BLAS_dsymv2_s_d-f2c.c \
++ symv2/BLAS_dsymv2_s_s-f2c.c \
++ symv2/BLAS_zsymv2_z_c-f2c.c \
++ symv2/BLAS_zsymv2_c_z-f2c.c \
++ symv2/BLAS_zsymv2_c_c-f2c.c \
++ symv2/BLAS_csymv2_c_s-f2c.c \
++ symv2/BLAS_csymv2_s_c-f2c.c \
++ symv2/BLAS_csymv2_s_s-f2c.c \
++ symv2/BLAS_zsymv2_z_d-f2c.c \
++ symv2/BLAS_zsymv2_d_z-f2c.c \
++ symv2/BLAS_zsymv2_d_d-f2c.c \
++ symv2/BLAS_ssymv2_x-f2c.c \
++ symv2/BLAS_dsymv2_x-f2c.c \
++ symv2/BLAS_csymv2_x-f2c.c \
++ symv2/BLAS_zsymv2_x-f2c.c \
++ symv2/BLAS_dsymv2_d_s_x-f2c.c \
++ symv2/BLAS_dsymv2_s_d_x-f2c.c \
++ symv2/BLAS_dsymv2_s_s_x-f2c.c \
++ symv2/BLAS_zsymv2_z_c_x-f2c.c \
++ symv2/BLAS_zsymv2_c_z_x-f2c.c \
++ symv2/BLAS_zsymv2_c_c_x-f2c.c \
++ symv2/BLAS_csymv2_c_s_x-f2c.c \
++ symv2/BLAS_csymv2_s_c_x-f2c.c \
++ symv2/BLAS_csymv2_s_s_x-f2c.c \
++ symv2/BLAS_zsymv2_z_d_x-f2c.c \
++ symv2/BLAS_zsymv2_d_z_x-f2c.c \
++ symv2/BLAS_zsymv2_d_d_x-f2c.c \
++ \
++ hemv2/BLAS_zhemv2_z_c.c \
++ hemv2/BLAS_zhemv2_c_z.c \
++ hemv2/BLAS_zhemv2_c_c.c \
++ hemv2/BLAS_chemv2_c_s.c \
++ hemv2/BLAS_zhemv2_z_d.c \
++ hemv2/BLAS_chemv2_x.c \
++ hemv2/BLAS_zhemv2_x.c \
++ hemv2/BLAS_zhemv2_z_c_x.c \
++ hemv2/BLAS_zhemv2_c_z_x.c \
++ hemv2/BLAS_zhemv2_c_c_x.c \
++ hemv2/BLAS_chemv2_c_s_x.c \
++ hemv2/BLAS_zhemv2_z_d_x.c \
++ \
++ hemv2/BLAS_zhemv2_z_c-f2c.c \
++ hemv2/BLAS_zhemv2_c_z-f2c.c \
++ hemv2/BLAS_zhemv2_c_c-f2c.c \
++ hemv2/BLAS_chemv2_c_s-f2c.c \
++ hemv2/BLAS_zhemv2_z_d-f2c.c \
++ hemv2/BLAS_chemv2_x-f2c.c \
++ hemv2/BLAS_zhemv2_x-f2c.c \
++ hemv2/BLAS_zhemv2_z_c_x-f2c.c \
++ hemv2/BLAS_zhemv2_c_z_x-f2c.c \
++ hemv2/BLAS_zhemv2_c_c_x-f2c.c \
++ hemv2/BLAS_chemv2_c_s_x-f2c.c \
++ hemv2/BLAS_zhemv2_z_d_x-f2c.c \
++ \
++ gbmv2/BLAS_dgbmv2_d_s.c \
++ gbmv2/BLAS_dgbmv2_s_d.c \
++ gbmv2/BLAS_dgbmv2_s_s.c \
++ gbmv2/BLAS_zgbmv2_z_c.c \
++ gbmv2/BLAS_zgbmv2_c_z.c \
++ gbmv2/BLAS_zgbmv2_c_c.c \
++ gbmv2/BLAS_cgbmv2_c_s.c \
++ gbmv2/BLAS_cgbmv2_s_c.c \
++ gbmv2/BLAS_cgbmv2_s_s.c \
++ gbmv2/BLAS_zgbmv2_z_d.c \
++ gbmv2/BLAS_zgbmv2_d_z.c \
++ gbmv2/BLAS_zgbmv2_d_d.c \
++ gbmv2/BLAS_sgbmv2_x.c \
++ gbmv2/BLAS_dgbmv2_x.c \
++ gbmv2/BLAS_cgbmv2_x.c \
++ gbmv2/BLAS_zgbmv2_x.c \
++ gbmv2/BLAS_dgbmv2_d_s_x.c \
++ gbmv2/BLAS_dgbmv2_s_d_x.c \
++ gbmv2/BLAS_dgbmv2_s_s_x.c \
++ gbmv2/BLAS_zgbmv2_z_c_x.c \
++ gbmv2/BLAS_zgbmv2_c_z_x.c \
++ gbmv2/BLAS_zgbmv2_c_c_x.c \
++ gbmv2/BLAS_cgbmv2_c_s_x.c \
++ gbmv2/BLAS_cgbmv2_s_c_x.c \
++ gbmv2/BLAS_cgbmv2_s_s_x.c \
++ gbmv2/BLAS_zgbmv2_z_d_x.c \
++ gbmv2/BLAS_zgbmv2_d_z_x.c \
++ gbmv2/BLAS_zgbmv2_d_d_x.c \
++ \
++ gbmv2/BLAS_dgbmv2_d_s-f2c.c \
++ gbmv2/BLAS_dgbmv2_s_d-f2c.c \
++ gbmv2/BLAS_dgbmv2_s_s-f2c.c \
++ gbmv2/BLAS_zgbmv2_z_c-f2c.c \
++ gbmv2/BLAS_zgbmv2_c_z-f2c.c \
++ gbmv2/BLAS_zgbmv2_c_c-f2c.c \
++ gbmv2/BLAS_cgbmv2_c_s-f2c.c \
++ gbmv2/BLAS_cgbmv2_s_c-f2c.c \
++ gbmv2/BLAS_cgbmv2_s_s-f2c.c \
++ gbmv2/BLAS_zgbmv2_z_d-f2c.c \
++ gbmv2/BLAS_zgbmv2_d_z-f2c.c \
++ gbmv2/BLAS_zgbmv2_d_d-f2c.c \
++ gbmv2/BLAS_sgbmv2_x-f2c.c \
++ gbmv2/BLAS_dgbmv2_x-f2c.c \
++ gbmv2/BLAS_cgbmv2_x-f2c.c \
++ gbmv2/BLAS_zgbmv2_x-f2c.c \
++ gbmv2/BLAS_dgbmv2_d_s_x-f2c.c \
++ gbmv2/BLAS_dgbmv2_s_d_x-f2c.c \
++ gbmv2/BLAS_dgbmv2_s_s_x-f2c.c \
++ gbmv2/BLAS_zgbmv2_z_c_x-f2c.c \
++ gbmv2/BLAS_zgbmv2_c_z_x-f2c.c \
++ gbmv2/BLAS_zgbmv2_c_c_x-f2c.c \
++ gbmv2/BLAS_cgbmv2_c_s_x-f2c.c \
++ gbmv2/BLAS_cgbmv2_s_c_x-f2c.c \
++ gbmv2/BLAS_cgbmv2_s_s_x-f2c.c \
++ gbmv2/BLAS_zgbmv2_z_d_x-f2c.c \
++ gbmv2/BLAS_zgbmv2_d_z_x-f2c.c \
++ gbmv2/BLAS_zgbmv2_d_d_x-f2c.c \
++ \
++ common/BLAS_error.c \
++ common/BLAS_fpinfo_x.c \
++ common/BLAS_fpinfo_x-f2c.c \
++ common/blas_malloc.c
+diff --git a/src/xblas.pc.in b/src/xblas.pc.in
+new file mode 100644
+--- /dev/null
++++ b/src/xblas.pc.in
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Extra Precise Basic Linear Algebra Subroutines
++Version: @PACKAGE_VERSION@
++URL: @PACKAGE_URL@
++Libs: -L${libdir} -lxblas
++Cflags: -I${includedir}/xblas
diff --git a/libraries/xblas/slack-desc b/libraries/xblas/slack-desc
new file mode 100644
index 0000000000000..556e31cd7101c
--- /dev/null
+++ b/libraries/xblas/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+xblas: xblas (Extra Precise Basic Linear Algebra Subroutines)
+xblas:
+xblas: This library of routines is part of a reference implementation for the
+xblas: Dense and Banded BLAS routines, along with their Extended and Mixed
+xblas: Precision versions.
+xblas:
+xblas: Extended Precision is only used internally; the input and output
+xblas: arguments remain the same as in the existing BLAS.
+xblas:
+xblas: Mixed Precision permits some input/output arguments to be of different
+xblas: types (mixing real/complex) or precisions (mixing single/double).
diff --git a/libraries/xblas/xblas.SlackBuild b/libraries/xblas/xblas.SlackBuild
new file mode 100644
index 0000000000000..edd20a8cfe316
--- /dev/null
+++ b/libraries/xblas/xblas.SlackBuild
@@ -0,0 +1,108 @@
+#!/bin/sh
+
+# Slackware build script for XBLAS
+
+# Copyright 2017 Kyle Guinn <elyk03@gmail.com>, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=xblas
+VERSION=${VERSION:-1.0.248}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$(uname -m) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+DOCS="LICENSE README* doc/report.ps"
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+chmod -R u+w,go-w,a+rX-st .
+
+# Ignore the nice generated Makefiles and use automake for the convenience of
+# creating a shared lib and installing everything to the right directories.
+# Also generates a pkgconfig file. Must run `make` from the src subdirectory.
+# Ideally the Makefile generation would generate automake input files instead.
+patch -p1 < $CWD/patches/automake.diff
+autoreconf -vif
+
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --enable-shared \
+ --disable-static \
+ --disable-dependency-tracking \
+ --build=$ARCH-slackware-linux \
+ CFLAGS="$SLKCFLAGS" \
+ FCFLAGS="$SLKCFLAGS" \
+
+make -C src
+make -C src install-strip DESTDIR=$PKG
+
+find $PKG/usr/lib${LIBDIRSUFFIX} -name '*.la' -delete
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/libraries/xblas/xblas.info b/libraries/xblas/xblas.info
new file mode 100644
index 0000000000000..3d01dad8aed97
--- /dev/null
+++ b/libraries/xblas/xblas.info
@@ -0,0 +1,10 @@
+PRGNAM="xblas"
+VERSION="1.0.248"
+HOMEPAGE="http://www.netlib.org/xblas/"
+DOWNLOAD="http://www.netlib.org/xblas/xblas.tar.gz"
+MD5SUM="990c680fb5e446bb86c10936e4cd7f88"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Kyle Guinn"
+EMAIL="elyk03@gmail.com"