Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
pyodide
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
pyodide
Commits
78bf51da
Commit
78bf51da
authored
Oct 31, 2018
by
Roman Yurchak
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CLAPACK setup
parent
a954de10
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
573 additions
and
4 deletions
+573
-4
.gitignore
.gitignore
+2
-0
CLAPACK/Makefile
CLAPACK/Makefile
+33
-0
CLAPACK/Makefile.envs
CLAPACK/Makefile.envs
+2
-0
CLAPACK/patches/0001-Awful-hacks-for-WebAssembly-build.patch
CLAPACK/patches/0001-Awful-hacks-for-WebAssembly-build.patch
+283
-0
CLAPACK/patches/0002-Add-fPIC-flag-and-skip-cblaswrap.patch
CLAPACK/patches/0002-Add-fPIC-flag-and-skip-cblaswrap.patch
+78
-0
CLAPACK/patches/0003-Remove-redundant-symbols.patch
CLAPACK/patches/0003-Remove-redundant-symbols.patch
+165
-0
Dockerfile
Dockerfile
+2
-1
Makefile
Makefile
+8
-3
No files found.
.gitignore
View file @
78bf51da
...
...
@@ -22,4 +22,6 @@ ccache
/six/six-1.11.0
/lz4/lz4-1.8.3
CLAPACK/CLAPACK-WA
CLAPACK/clapack.tgz
*.egg-info/
CLAPACK/Makefile
0 → 100644
View file @
78bf51da
PYODIDE_ROOT
=
$(
abspath
..
)
include
../Makefile.envs
CLAPACK_VERSION
=
3.2.1
ROOT
=
$(
abspath
.
)
SRC
=
$(ROOT)
/CLAPACK-WA
all
:
$(SRC)/lapack_WA.bc
clean
:
rm
-rf
CLAPACK-WA
$(SRC)/lapack_WA.bc
:
$(SRC)/Makefile
# We build BLAS/LAPACK only for target.
# On host we include -LCLAPACK-WA path which has no effect on host.
# On target it gets rewritten by pywasmcross to the full patch of
# blas_WA.bc, lapack_WA.bc which are linked statically in scipy
# in each module that needs them.
emmake make
-C
CLAPACK-WA/
$(SRC)/Makefile
:
wget
-q
-O
clapack.tgz http://www.netlib.org/clapack/clapack.tgz
tar
xzf clapack.tgz
rm
-rf
$(SRC)
mv
CLAPACK-
$(CLAPACK_VERSION)
$(SRC)
(
\
cd
$(SRC)
;
\
(
cat
../patches/
*
.patch | patch
-p1
)
\
)
CLAPACK/Makefile.envs
0 → 100644
View file @
78bf51da
CFLAGS_OPT
=
-O2
LDFLAGS_OPT
=
-O2
CLAPACK/patches/0001-Awful-hacks-for-WebAssembly-build.patch
0 → 100644
View file @
78bf51da
From a8b2d56cc6ff0a7d151cc9f6ef95a2cce9ca5f91 Mon Sep 17 00:00:00 2001
From: Adrian Bauer <agbauer@gmail.com>
Date: Tue, 19 Sep 2017 13:30:49 -0700
Subject: [PATCH 1/3] Awful hacks for WebAssembly build
---
BLAS/SRC/Makefile | 3 +-
BLAS/SRC/xerbla.c | 2 +
BLAS/WRAP/Makefile | 9 ++---
F2CLIBS/libf2c/Makefile | 25 ++++++-------
F2CLIBS/libf2c/arith.h | 0
Makefile | 10 ++---
SRC/Makefile | 3 +-
make.inc | 81 +++++++++++++++++++++++++++++++++++++++++
9 files changed, 109 insertions(+), 28 deletions(-)
create mode 100644 .gitignore
create mode 100644 F2CLIBS/libf2c/arith.h
create mode 100644 make.inc
diff --git a/BLAS/SRC/Makefile b/BLAS/SRC/Makefile
index 4835fd2..4a37c41 100644
--- a/BLAS/SRC/Makefile
+++ b/BLAS/SRC/Makefile
@@ -139,8 +139,7 @@
ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \
$(ZBLAS2) $(ZBLAS3) $(ALLBLAS)
$(BLASLIB): $(ALLOBJ)
- $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
- $(RANLIB) $@
+ $(LD) -o $@ $(ALLOBJ)
single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3)
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \
diff --git a/BLAS/SRC/xerbla.c b/BLAS/SRC/xerbla.c
index 2d7baf5..da1d7fd 100644
--- a/BLAS/SRC/xerbla.c
+++ b/BLAS/SRC/xerbla.c
@@ -10,6 +10,8 @@
http://www.netlib.org/f2c/libf2c.zip
*/
+#include <stdio.h>
+
#include "f2c.h"
#include "blaswrap.h"
diff --git a/BLAS/WRAP/Makefile b/BLAS/WRAP/Makefile
index d13fc97..16336da 100644
--- a/BLAS/WRAP/Makefile
+++ b/BLAS/WRAP/Makefile
@@ -5,12 +5,11 @@
include $(TOPDIR)/make.inc
# This is the makefile to create a wrapper for the CBLAS.
#######################################################################
-all: libcblaswr.a
+all: libcblaswr.bc
+
+libcblaswr.bc: cblaswr.o
+ $(LD) $(LDFLAGS) -o $@ $?
-libcblaswr.a: cblaswr.o
- $(ARCH) $(ARCHFLAGS) libcblaswr.a cblaswr.o
- $(RANLIB) libcblaswr.a
-
libfblaswr.a: fblaswr.o
$(ARCH) $(ARCHFLAGS) libfblaswr.a fblaswr.o
$(RANLIB) libfblaswr.a
diff --git a/F2CLIBS/libf2c/Makefile b/F2CLIBS/libf2c/Makefile
index 57eff0d..d9a42da 100644
--- a/F2CLIBS/libf2c/Makefile
+++ b/F2CLIBS/libf2c/Makefile
@@ -20,14 +20,13 @@
include $(TOPDIR)/make.inc
# compile, then strip unnecessary symbols
.c.o:
$(CC) -c -DSkip_f2c_Undefs $(CFLAGS) $*.c
- ld -r -x -o $*.xxx $*.o
- mv $*.xxx $*.o
+
## Under Solaris (and other systems that do not understand ld -x),
## omit -x in the ld line above.
## If your system does not have the ld command, comment out
## or remove both the ld and mv lines above.
-MISC = f77vers.o i77vers.o main.o s_rnge.o abort_.o exit_.o getarg_.o iargc_.o\
+MISC = f77vers.o i77vers.o s_rnge.o abort_.o exit_.o getarg_.o iargc_.o\
getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o ctype.o\
derf_.o derfc_.o erf_.o erfc_.o sig_die.o uninit.o
POW = pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o
@@ -69,11 +68,10 @@
TIME = dtime_.o etime_.o
OFILES = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
$(HALF) $(CMP) $(EFL) $(CHAR) $(I77) $(TIME)
-all: f2c.h signal1.h sysdep1.h libf2c.a clapack_install
+all: f2c.h signal1.h sysdep1.h libf2c.bc clapack_install
-libf2c.a: $(OFILES)
- ar r libf2c.a $?
- -ranlib libf2c.a
+libf2c.bc: $(OFILES)
+ $(LD) $(LDFLAGS) -o libf2c.bc $?
## Shared-library variant: the following rule works on Linux
## systems. Details are system-dependent. Under Linux, -fPIC
@@ -82,7 +80,7 @@
libf2c.a: $(OFILES)
## of "cc -shared".
libf2c.so: $(OFILES)
- cc -shared -o libf2c.so $(OFILES)
+ $(LD) $(LDFLAGS) -shared -o libf2c.so $(OFILES)
### If your system lacks ranlib, you don't need it; see README.
@@ -117,15 +115,14 @@
sysdep1.h: sysdep1.h0
#main.o: main.c
# $(CC) -c -Donexit=on_exit -DSkip_f2c_Undefs main.c
-install: libf2c.a
- cp libf2c.a $(LIBDIR)
- -ranlib $(LIBDIR)/libf2c.a
+install: libf2c.bc
+ cp libf2c.bc $(LIBDIR)
-clapack_install: libf2c.a
- mv libf2c.a ..
+clapack_install: libf2c.bc
+ mv libf2c.bc ..
clean:
- rm -f libf2c.a *.o arith.h signal1.h sysdep1.h
+ rm -f libf2c.bc *.o arith.h signal1.h sysdep1.h
backspac.o: fio.h
close.o: fio.h
diff --git a/F2CLIBS/libf2c/arith.h b/F2CLIBS/libf2c/arith.h
new file mode 100644
index 0000000..e69de29
diff --git a/Makefile b/Makefile
index 2875fbc..f3598b7 100644
--- a/Makefile
+++ b/Makefile
@@ -6,12 +6,12 @@
include make.inc
-all: f2clib lapack_install lib lapack_testing blas_testing
+all: f2clib cblaswrap lib
#all: f2clib lapack_install lib lapack_testing blas_testing variants_testing
#lib: lapacklib tmglib
#lib: f2clib lapacklib tmglib
-lib: f2clib blaslib variants lapacklib tmglib
+lib: f2clib blaslib lapacklib
clean: cleanlib cleantesting cleanblas_testing
@@ -23,12 +23,12 @@
blaslib:
( cd BLAS/SRC; $(MAKE) )
cblaswrap:
- ( cd BLAS/WRAP; $(MAKE) libcblaswr.a; cp libcblaswr.a ../.. )
+ ( cd BLAS/WRAP; $(MAKE) libcblaswr.bc; cp libcblaswr.bc ../.. )
fblaswrap:
( cd BLAS/WRAP; $(MAKE) libfblaswr.a; cp libfblaswr.a ../.. )
-lapacklib: lapack_install
+lapacklib:
( cd SRC; $(MAKE) )
variants:
@@ -56,7 +56,7 @@
variants_testing: lib
mv stest.out stest_lurec.out ; mv dtest.out dtest_lurec.out ; mv ctest.out ctest_lurec.out ; mv ztest.out ztest_lurec.out )
( cd TESTING ; rm -f xlintst* ; $(MAKE) VARLIB='SRC/VARIANTS/LIB/qrll.a' ; \
mv stest.out stest_qrll.out ; mv dtest.out dtest_qrll.out ; mv ctest.out ctest_qrll.out ; mv ztest.out ztest_qrll.out )
-
+
blas_testing:
( cd BLAS/TESTING; $(MAKE) -f Makeblat1 )
( cd BLAS; ./xblat1s > sblat1.out ; \
diff --git a/SRC/Makefile b/SRC/Makefile
index 223f4da..9df3e92 100644
--- a/SRC/Makefile
+++ b/SRC/Makefile
@@ -369,8 +369,7 @@
ALLOBJ=$(SLASRC) $(DLASRC) $(CLASRC) $(ZLASRC) $(SCLAUX) $(DZLAUX) \
$(ALLAUX)
../$(LAPACKLIB): $(ALLOBJ) $(ALLXOBJ)
- $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) $(ALLXOBJ)
- $(RANLIB) $@
+ $(CC) -o $@ $(ALLOBJ) $(ALLXOBJ)
single: $(SLASRC) $(ALLAUX) $(SCLAUX)
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(SLASRC) $(ALLAUX) \
diff --git a/make.inc b/make.inc
new file mode 100644
index 0000000..7ba8d43
--- /dev/null
+++ b/make.inc
@@ -0,0 +1,81 @@
+# -*- Makefile -*-
+####################################################################
+# LAPACK make include file. #
+# LAPACK, Version 3.2.1 #
+# June 2009 #
+####################################################################
+#
+# See the INSTALL/ directory for more examples.
+#
+SHELL = /bin/sh
+#
+# The machine (platform) identifier to append to the library names
+#
+# WA for WebAssembly
+PLAT = _WA
+#
+# Modify the FORTRAN and OPTS definitions to refer to the
+# compiler and desired compiler options for your machine. NOOPT
+# refers to the compiler options desired when NO OPTIMIZATION is
+# selected. Define LOADER and LOADOPTS to refer to the loader
+# and desired load options for your machine.
+#
+#######################################################
+# This is used to compile C libary
+#CC = gcc # inherit $CC from emmake
+# if no wrapping of the blas library is needed, uncomment next line
+#CC = gcc -DNO_BLAS_WRAP
+CFLAGS = -O3 -I$(TOPDIR)/INCLUDE
+LDFLAGS = -O3
+LOADER = $(CC)
+LOADOPTS =
+NOOPT = -O0 -I$(TOPDIR)/INCLUDE
+DRVCFLAGS = $(CFLAGS)
+F2CCFLAGS = $(CFLAGS)
+#######################################################################
+
+#
+# Timer for the SECOND and DSECND routines
+#
+# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME
+# TIMER = EXT_ETIME
+# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_
+# TIMER = EXT_ETIME_
+# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME
+# TIMER = INT_ETIME
+# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...)
+# SECOND and DSECND will use a call to the Fortran standard INTERNAL FUNCTION CPU_TIME
+TIMER = INT_CPU_TIME
+# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0
+# TIMER = NONE
+#
+# The archiver and the flag(s) to use when building archive (library)
+# If you system has no ranlib, set RANLIB = echo.
+#
+ARCH = ar
+ARCHFLAGS= cr
+RANLIB = ranlib
+#
+# The location of BLAS library for linking the testing programs.
+# The target's machine-specific, optimized BLAS library should be
+# used whenever possible.
+#
+BLASLIB = ../../blas$(PLAT).bc
+#
+# Location of the extended-precision BLAS (XBLAS) Fortran library
+# used for building and testing extended-precision routines. The
+# relevant routines will be compiled and XBLAS will be linked only if
+# USEXBLAS is defined.
+#
+# USEXBLAS = Yes
+XBLASLIB =
+# XBLASLIB = -lxblas
+#
+# Names of generated libraries.
+#
+LAPACKLIB = lapack$(PLAT).bc
+F2CLIB = ../../F2CLIBS/libf2c.bc
+TMGLIB = tmglib$(PLAT).bc
+EIGSRCLIB = eigsrc$(PLAT).bc
+LINSRCLIB = linsrc$(PLAT).bc
+F2CLIB = ../../F2CLIBS/libf2c.bc
--
2.19.0
CLAPACK/patches/0002-Add-fPIC-flag-and-skip-cblaswrap.patch
0 → 100644
View file @
78bf51da
From e88b053d3aa3a609990560a4a7c27b0a55d74730 Mon Sep 17 00:00:00 2001
From: Roman Yurchak <rth.yurchak@pm.me>
Date: Wed, 17 Oct 2018 18:23:00 +0200
Subject: [PATCH 2/3] Add -fPIC flag and skip cblaswrap
---
BLAS/SRC/Makefile | 2 +-
Makefile | 4 ++--
SRC/Makefile | 2 +-
make.inc | 3 +--
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/BLAS/SRC/Makefile b/BLAS/SRC/Makefile
index 4a37c41..e52e4ed 100644
--- a/BLAS/SRC/Makefile
+++ b/BLAS/SRC/Makefile
@@ -139,7 +139,7 @@
ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \
$(ZBLAS2) $(ZBLAS3) $(ALLBLAS)
$(BLASLIB): $(ALLOBJ)
- $(LD) -o $@ $(ALLOBJ)
+ $(LD) $(CFLAGS) -o $@ $(ALLOBJ)
single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3)
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \
diff --git a/Makefile b/Makefile
index f3598b7..b3467a6 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@
include make.inc
-all: f2clib cblaswrap lib
+all: f2clib lib
#all: f2clib lapack_install lib lapack_testing blas_testing variants_testing
#lib: lapacklib tmglib
@@ -95,4 +95,4 @@
cleantesting:
( cd TESTING; rm -f xlin* xeig* )
cleanall: cleanlib cleanblas_testing cleantesting
- rm -f *.a TESTING/*.out INSTALL/test* BLAS/*.out
+ rm -f *.bc TESTING/*.out INSTALL/test* BLAS/*.out
diff --git a/SRC/Makefile b/SRC/Makefile
index 9df3e92..7491963 100644
--- a/SRC/Makefile
+++ b/SRC/Makefile
@@ -369,7 +369,7 @@
ALLOBJ=$(SLASRC) $(DLASRC) $(CLASRC) $(ZLASRC) $(SCLAUX) $(DZLAUX) \
$(ALLAUX)
../$(LAPACKLIB): $(ALLOBJ) $(ALLXOBJ)
- $(CC) -o $@ $(ALLOBJ) $(ALLXOBJ)
+ $(CC) $(CFLAGS) -o $@ $(ALLOBJ) $(ALLXOBJ)
single: $(SLASRC) $(ALLAUX) $(SCLAUX)
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(SLASRC) $(ALLAUX) \
diff --git a/make.inc b/make.inc
index 7ba8d43..567c737 100644
--- a/make.inc
+++ b/make.inc
@@ -25,7 +25,7 @@
PLAT = _WA
#CC = gcc # inherit $CC from emmake
# if no wrapping of the blas library is needed, uncomment next line
#CC = gcc -DNO_BLAS_WRAP
-CFLAGS = -O3 -I$(TOPDIR)/INCLUDE
+CFLAGS = -O3 -I$(TOPDIR)/INCLUDE -fPIC -DNO_BLAS_WRAP
LDFLAGS = -O3
LOADER = $(CC)
LOADOPTS =
@@ -78,4 +78,3 @@
F2CLIB = ../../F2CLIBS/libf2c.bc
TMGLIB = tmglib$(PLAT).bc
EIGSRCLIB = eigsrc$(PLAT).bc
LINSRCLIB = linsrc$(PLAT).bc
-F2CLIB = ../../F2CLIBS/libf2c.bc
--
2.19.0
CLAPACK/patches/0003-Remove-redundant-symbols.patch
0 → 100644
View file @
78bf51da
From 8aae131e7bf4cfe3979edbbdce21803e1c5f9ac1 Mon Sep 17 00:00:00 2001
From: Roman Yurchak <rth.yurchak@pm.me>
Date: Thu, 25 Oct 2018 11:50:14 +0200
Subject: [PATCH 3/3] Remove redundant symbols
---
Makefile | 9 +++++++++
SRC/Makefile | 30 ++++++++++++++++++++----------
make.inc | 6 +-----
3 files changed, 30 insertions(+), 15 deletions(-)
diff --git a/Makefile b/Makefile
index b3467a6..83baba5 100644
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,15 @@
#
include make.inc
+include ../Makefile.envs
+
+TOPDIR=$(abspath .)
+
+CFLAGS = $(CFLAGS_OPT) -I$(TOPDIR)/INCLUDE -fPIC -DNO_BLAS_WRAP
+LDFLAGS = $(LDFLAGS_OPT) -fPIC
+DRVCFLAGS = $(CFLAGS)
+F2CCFLAGS = $(CFLAGS)
+
all: f2clib lib
#all: f2clib lapack_install lib lapack_testing blas_testing variants_testing
diff --git a/SRC/Makefile b/SRC/Makefile
index 7491963..0cc1cda 100644
--- a/SRC/Makefile
+++ b/SRC/Makefile
@@ -50,9 +50,9 @@
include $(TOPDIR)/make.inc
#
#######################################################################
-ALLAUX = maxloc.o ilaenv.o ieeeck.o lsamen.o xerbla.o xerbla_array.o iparmq.o \
+ALLAUX = maxloc.o ilaenv.o ieeeck.o lsamen.o iparmq.o \
ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \
- ../INSTALL/ilaver.o ../INSTALL/lsame.o
+ ../INSTALL/ilaver.o
ALLXAUX =
@@ -90,11 +90,20 @@
DZLAUX = \
dsteqr.o dsterf.o dlaisnan.o disnan.o \
../INSTALL/dlamch.o ../INSTALL/dsecnd.o
+# We remove symbols that are included in scipy/linalg/src/lapack_deprecations/
+# cgegv.f dgegv.f sgegv.f zgegv.f
+# to avoid "symbol multiply defined" errors when linking statically
+# We also remove
+# clahqr, dlahqr, slahqr, zlahqr
+# to avoid duplicate symbol error when building scipy 0.17.1
+# scipy/sparse/linalg/eigen/arpack/_arpack.wasm
+
+
SLASRC = \
sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \
sgbsvx.o sgbtf2.o sgbtrf.o sgbtrs.o sgebak.o sgebal.o sgebd2.o \
sgebrd.o sgecon.o sgeequ.o sgees.o sgeesx.o sgeev.o sgeevx.o \
- sgegs.o sgegv.o sgehd2.o sgehrd.o sgelq2.o sgelqf.o \
+ sgegs.o sgehd2.o sgehrd.o sgelq2.o sgelqf.o \
sgels.o sgelsd.o sgelss.o sgelsx.o sgelsy.o sgeql2.o sgeqlf.o \
sgeqp3.o sgeqpf.o sgeqr2.o sgeqrf.o sgerfs.o sgerq2.o sgerqf.o \
sgesc2.o sgesdd.o sgesv.o sgesvd.o sgesvx.o sgetc2.o sgetf2.o \
@@ -104,7 +113,7 @@
SLASRC = \
sggrqf.o sggsvd.o sggsvp.o sgtcon.o sgtrfs.o sgtsv.o \
sgtsvx.o sgttrf.o sgttrs.o sgtts2.o shgeqz.o \
shsein.o shseqr.o slabrd.o slacon.o slacn2.o \
- slaein.o slaexc.o slag2.o slags2.o slagtm.o slagv2.o slahqr.o \
+ slaein.o slaexc.o slag2.o slags2.o slagtm.o slagv2.o \
slahrd.o slahr2.o slaic1.o slaln2.o slals0.o slalsa.o slalsd.o \
slangb.o slange.o slangt.o slanhs.o slansb.o slansp.o \
slansy.o slantb.o slantp.o slantr.o slanv2.o \
@@ -152,11 +161,12 @@
SXLASRC = sgesvxx.o sgerfsx.o sla_gerfsx_extended.o sla_geamv.o \
sla_gbamv.o sla_gbrcond.o sla_gbrpvgrw.o sla_lin_berr.o slarscl2.o \
slascl2.o sla_wwaddw.o
+
CLASRC = \
cbdsqr.o cgbbrd.o cgbcon.o cgbequ.o cgbrfs.o cgbsv.o cgbsvx.o \
cgbtf2.o cgbtrf.o cgbtrs.o cgebak.o cgebal.o cgebd2.o cgebrd.o \
cgecon.o cgeequ.o cgees.o cgeesx.o cgeev.o cgeevx.o \
- cgegs.o cgegv.o cgehd2.o cgehrd.o cgelq2.o cgelqf.o \
+ cgegs.o cgehd2.o cgehrd.o cgelq2.o cgelqf.o \
cgels.o cgelsd.o cgelss.o cgelsx.o cgelsy.o cgeql2.o cgeqlf.o cgeqp3.o \
cgeqpf.o cgeqr2.o cgeqrf.o cgerfs.o cgerq2.o cgerqf.o \
cgesc2.o cgesdd.o cgesv.o cgesvd.o cgesvx.o cgetc2.o cgetf2.o cgetrf.o \
@@ -176,7 +186,7 @@
CLASRC = \
clacgv.o clacon.o clacn2.o clacp2.o clacpy.o clacrm.o clacrt.o cladiv.o \
claed0.o claed7.o claed8.o \
claein.o claesy.o claev2.o clags2.o clagtm.o \
- clahef.o clahqr.o \
+ clahef.o \
clahrd.o clahr2.o claic1.o clals0.o clalsa.o clalsd.o clangb.o clange.o clangt.o \
clanhb.o clanhe.o \
clanhp.o clanhs.o clanht.o clansb.o clansp.o clansy.o clantb.o \
@@ -226,7 +236,7 @@
DLASRC = \
dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \
dgbsvx.o dgbtf2.o dgbtrf.o dgbtrs.o dgebak.o dgebal.o dgebd2.o \
dgebrd.o dgecon.o dgeequ.o dgees.o dgeesx.o dgeev.o dgeevx.o \
- dgegs.o dgegv.o dgehd2.o dgehrd.o dgelq2.o dgelqf.o \
+ dgegs.o dgehd2.o dgehrd.o dgelq2.o dgelqf.o \
dgels.o dgelsd.o dgelss.o dgelsx.o dgelsy.o dgeql2.o dgeqlf.o \
dgeqp3.o dgeqpf.o dgeqr2.o dgeqrf.o dgerfs.o dgerq2.o dgerqf.o \
dgesc2.o dgesdd.o dgesv.o dgesvd.o dgesvx.o dgetc2.o dgetf2.o \
@@ -236,7 +246,7 @@
DLASRC = \
dggrqf.o dggsvd.o dggsvp.o dgtcon.o dgtrfs.o dgtsv.o \
dgtsvx.o dgttrf.o dgttrs.o dgtts2.o dhgeqz.o \
dhsein.o dhseqr.o dlabrd.o dlacon.o dlacn2.o \
- dlaein.o dlaexc.o dlag2.o dlags2.o dlagtm.o dlagv2.o dlahqr.o \
+ dlaein.o dlaexc.o dlag2.o dlags2.o dlagtm.o dlagv2.o \
dlahrd.o dlahr2.o dlaic1.o dlaln2.o dlals0.o dlalsa.o dlalsd.o \
dlangb.o dlange.o dlangt.o dlanhs.o dlansb.o dlansp.o \
dlansy.o dlantb.o dlantp.o dlantr.o dlanv2.o \
@@ -290,7 +300,7 @@
ZLASRC = \
zbdsqr.o zgbbrd.o zgbcon.o zgbequ.o zgbrfs.o zgbsv.o zgbsvx.o \
zgbtf2.o zgbtrf.o zgbtrs.o zgebak.o zgebal.o zgebd2.o zgebrd.o \
zgecon.o zgeequ.o zgees.o zgeesx.o zgeev.o zgeevx.o \
- zgegs.o zgegv.o zgehd2.o zgehrd.o zgelq2.o zgelqf.o \
+ zgegs.o zgehd2.o zgehrd.o zgelq2.o zgelqf.o \
zgels.o zgelsd.o zgelss.o zgelsx.o zgelsy.o zgeql2.o zgeqlf.o zgeqp3.o \
zgeqpf.o zgeqr2.o zgeqrf.o zgerfs.o zgerq2.o zgerqf.o \
zgesc2.o zgesdd.o zgesv.o zgesvd.o zgesvx.o zgetc2.o zgetf2.o zgetrf.o \
@@ -310,7 +320,7 @@
ZLASRC = \
zlacgv.o zlacon.o zlacn2.o zlacp2.o zlacpy.o zlacrm.o zlacrt.o zladiv.o \
zlaed0.o zlaed7.o zlaed8.o \
zlaein.o zlaesy.o zlaev2.o zlags2.o zlagtm.o \
- zlahef.o zlahqr.o \
+ zlahef.o \
zlahrd.o zlahr2.o zlaic1.o zlals0.o zlalsa.o zlalsd.o zlangb.o zlange.o \
zlangt.o zlanhb.o \
zlanhe.o \
diff --git a/make.inc b/make.inc
index 567c737..d010f57 100644
--- a/make.inc
+++ b/make.inc
@@ -21,19 +21,15 @@
PLAT = _WA
# and desired load options for your machine.
#
#######################################################
+
# This is used to compile C libary
#CC = gcc # inherit $CC from emmake
# if no wrapping of the blas library is needed, uncomment next line
#CC = gcc -DNO_BLAS_WRAP
-CFLAGS = -O3 -I$(TOPDIR)/INCLUDE -fPIC -DNO_BLAS_WRAP
-LDFLAGS = -O3
LOADER = $(CC)
LOADOPTS =
NOOPT = -O0 -I$(TOPDIR)/INCLUDE
-DRVCFLAGS = $(CFLAGS)
-F2CCFLAGS = $(CFLAGS)
#######################################################################
-
#
# Timer for the SECOND and DSECND routines
#
--
2.19.0
Dockerfile
View file @
78bf51da
...
...
@@ -5,7 +5,8 @@ FROM circleci/python:3.7.0-stretch
RUN
sudo
bash
-c
"echo
\"
deb http://ftp.us.debian.org/debian testing main contrib non-free
\"
>> /etc/apt/sources.list"
\
&&
sudo
apt-get update
\
# bzip2 and libgconf-2-4 are necessary for extracting firefox and running chrome, respectively
&& sudo apt-get install bzip2 libgconf-2-4 node-less cmake build-essential clang-format-6.0 uglifyjs chromium ccache libncurses6 \
&& sudo apt-get install bzip2 libgconf-2-4 node-less cmake build-essential clang-format-6.0 \
uglifyjs chromium ccache libncurses6 gfortran f2c \
&& sudo apt-get install -t testing g++-8 \
&& sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 \
&& sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8 \
...
...
Makefile
View file @
78bf51da
...
...
@@ -7,6 +7,7 @@ CPYTHONROOT=cpython
CPYTHONLIB
=
$(CPYTHONROOT)
/installs/python-
$(PYVERSION)
/lib/python
$(PYMINOR)
LZ4LIB
=
lz4/lz4-1.8.3/lib/liblz4.a
CLAPACK
=
CLAPACK/CLAPACK-WA/lapack_WA.bc
CC
=
emcc
CXX
=
em++
...
...
@@ -61,8 +62,8 @@ all: build/pyodide.asm.js \
build/pyodide.asm.js
:
src/main.bc src/jsimport.bc src/jsproxy.bc src/js2python.bc
\
src/pyimport.bc src/pyproxy.bc src/python2js.bc
\
src/runpython.bc src/hiwire.bc
src/pyimport.bc src/pyproxy.bc src/python2js.bc
\
src/runpython.bc src/hiwire.bc
[
-d
build
]
||
mkdir
build
$(CXX)
-s
EXPORT_NAME
=
"'pyodide'"
-o
build/pyodide.asm.html
$(
filter
%.bc,
$^
)
\
$(LDFLAGS)
-s
FORCE_FILESYSTEM
=
1
...
...
@@ -213,7 +214,11 @@ $(SIX_LIBS): $(CPYTHONLIB)
make
-C
six
build/packages.json
:
$(CPYTHONLIB)
$(CLAPACK)
:
$(CPYTHONLIB)
make
-C
CLAPACK
build/packages.json
:
$(CPYTHONLIB) $(CLAPACK)
make
-C
packages
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment