mirror of https://github.com/pyodide/pyodide.git
Use WASM instead of asm.js
This commit is contained in:
parent
693fac82bc
commit
695bf2c80f
7
Makefile
7
Makefile
|
@ -8,15 +8,15 @@ CC=emcc
|
||||||
CXX=em++
|
CXX=em++
|
||||||
OPTFLAGS=-O3
|
OPTFLAGS=-O3
|
||||||
CXXFLAGS=-std=c++14 $(OPTFLAGS) -g -I$(CPYTHONINC) -Wno-warn-absolute-paths
|
CXXFLAGS=-std=c++14 $(OPTFLAGS) -g -I$(CPYTHONINC) -Wno-warn-absolute-paths
|
||||||
LDFLAGS=$(OPTFLAGS) \
|
LDFLAGS=\
|
||||||
$(CPYTHONROOT)/installs/python-$(PYVERSION)/lib/libpython$(PYMINOR).a \
|
$(CPYTHONROOT)/installs/python-$(PYVERSION)/lib/libpython$(PYMINOR).a \
|
||||||
-s "BINARYEN_METHOD='native-wasm'" \
|
-s "BINARYEN_METHOD='native-wasm'" \
|
||||||
-s TOTAL_MEMORY=268435456 \
|
-s TOTAL_MEMORY=268435456 \
|
||||||
-s MAIN_MODULE=1 \
|
-s MAIN_MODULE=1 \
|
||||||
-s ASSERTIONS=2 \
|
|
||||||
-s EMULATED_FUNCTION_POINTERS=1 \
|
-s EMULATED_FUNCTION_POINTERS=1 \
|
||||||
-s EMULATE_FUNCTION_POINTER_CASTS=1 \
|
-s EMULATE_FUNCTION_POINTER_CASTS=1 \
|
||||||
-s EXPORTED_FUNCTIONS='["_main"]' \
|
-s EXPORTED_FUNCTIONS='["_main"]' \
|
||||||
|
-s WASM=1 \
|
||||||
--memory-init-file 0
|
--memory-init-file 0
|
||||||
|
|
||||||
NUMPY_ROOT=numpy/build/numpy
|
NUMPY_ROOT=numpy/build/numpy
|
||||||
|
@ -25,7 +25,6 @@ NUMPY_LIBS=\
|
||||||
$(NUMPY_ROOT)/core/umath.so \
|
$(NUMPY_ROOT)/core/umath.so \
|
||||||
$(NUMPY_ROOT)/linalg/lapack_lite.so \
|
$(NUMPY_ROOT)/linalg/lapack_lite.so \
|
||||||
$(NUMPY_ROOT)/linalg/_umath_linalg.so \
|
$(NUMPY_ROOT)/linalg/_umath_linalg.so \
|
||||||
$(NUMPY_ROOT)/fft/fftpack_lite.so \
|
|
||||||
$(NUMPY_ROOT)/random/mtrand.so
|
$(NUMPY_ROOT)/random/mtrand.so
|
||||||
|
|
||||||
SITEPACKAGES=root/lib/python$(PYMINOR)/site-packages
|
SITEPACKAGES=root/lib/python$(PYMINOR)/site-packages
|
||||||
|
@ -85,5 +84,5 @@ $(CPYTHONLIB):
|
||||||
make -C $(CPYTHONROOT)
|
make -C $(CPYTHONROOT)
|
||||||
|
|
||||||
|
|
||||||
$(NUMPY_LIBS):
|
$(NUMPY_LIBS): $(CPYTHONLIB)
|
||||||
make -C numpy
|
make -C numpy
|
||||||
|
|
|
@ -36,11 +36,12 @@ RANDOM_SRC=$(HOSTDIR)/numpy/random
|
||||||
CC=emcc
|
CC=emcc
|
||||||
AR=emar
|
AR=emar
|
||||||
CFLAGS=-O3 -Werror -std=c99 -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -I$(ROOT)/config -I$(INCLUDE) -I$(GENINCLUDE)/numpy -I$(INCLUDE)/private -I$(SRC) -I$(SRC)/.. -I$(SRC)/private -I$(SRC)/npymath -I$(SRC)/multiarray -I$(SRC)/umath -I$(SRC)/npysort -I$(PYTHONINCLUDE) -I$(GENSRC)/private -I$(GENSRC)/npymath -I$(GENSRC)/umath
|
CFLAGS=-O3 -Werror -std=c99 -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -I$(ROOT)/config -I$(INCLUDE) -I$(GENINCLUDE)/numpy -I$(INCLUDE)/private -I$(SRC) -I$(SRC)/.. -I$(SRC)/private -I$(SRC)/npymath -I$(SRC)/multiarray -I$(SRC)/umath -I$(SRC)/npysort -I$(PYTHONINCLUDE) -I$(GENSRC)/private -I$(GENSRC)/npymath -I$(GENSRC)/umath
|
||||||
LDFLAGS=-Werror \
|
LDFLAGS=\
|
||||||
|
-Werror \
|
||||||
-s EMULATED_FUNCTION_POINTERS=1 \
|
-s EMULATED_FUNCTION_POINTERS=1 \
|
||||||
-s EMULATE_FUNCTION_POINTER_CASTS=1 \
|
-s EMULATE_FUNCTION_POINTER_CASTS=1 \
|
||||||
-s ASSERTIONS=2 \
|
|
||||||
-s SIDE_MODULE=1 \
|
-s SIDE_MODULE=1 \
|
||||||
|
-s WASM=1 \
|
||||||
--memory-init-file 0
|
--memory-init-file 0
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,7 +51,6 @@ all: \
|
||||||
$(BUILDCORE)/umath.so \
|
$(BUILDCORE)/umath.so \
|
||||||
$(BUILDLINALG)/lapack_lite.so \
|
$(BUILDLINALG)/lapack_lite.so \
|
||||||
$(BUILDLINALG)/_umath_linalg.so \
|
$(BUILDLINALG)/_umath_linalg.so \
|
||||||
$(BUILDFFT)/fftpack_lite.so \
|
|
||||||
$(BUILDRANDOM)/mtrand.so
|
$(BUILDRANDOM)/mtrand.so
|
||||||
|
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ $(BUILD)/numpy/__init__.py: $(HOSTBUILD)/lib.$(PLATFORMSLUG)/numpy/__init__.py
|
||||||
[ -d $(BUILD) ] || mkdir $(BUILD)
|
[ -d $(BUILD) ] || mkdir $(BUILD)
|
||||||
cp -r $(HOSTBUILD)/lib.$(PLATFORMSLUG)/numpy $(BUILD) && \
|
cp -r $(HOSTBUILD)/lib.$(PLATFORMSLUG)/numpy $(BUILD) && \
|
||||||
cd $(BUILD); find . -name "*.so" -type f -delete
|
cd $(BUILD); find . -name "*.so" -type f -delete
|
||||||
touch $(BUILD)/numpy/__init__.py
|
|
||||||
|
|
||||||
$(ROOT)/.patched: $(HOSTDIR)/setup.py
|
$(ROOT)/.patched: $(HOSTDIR)/setup.py
|
||||||
cat patches/*.patch | (cd $(HOSTDIR) ; patch -p1)
|
cat patches/*.patch | (cd $(HOSTDIR) ; patch -p1)
|
||||||
|
@ -171,18 +171,22 @@ UMATH_SRC=\
|
||||||
$(SRC)/umath/umathmodule.bc \
|
$(SRC)/umath/umathmodule.bc \
|
||||||
|
|
||||||
|
|
||||||
LAPACK_LITE_SRC=\
|
LAPACK_BLAS_SRC=\
|
||||||
$(LINALG_SRC)/lapack_litemodule.bc \
|
|
||||||
$(LINALG_SRC)/lapack_lite/python_xerbla.bc \
|
$(LINALG_SRC)/lapack_lite/python_xerbla.bc \
|
||||||
$(LINALG_SRC)/lapack_lite/f2c_z_lapack.bc \
|
$(LINALG_SRC)/lapack_lite/f2c_z_lapack.bc \
|
||||||
$(LINALG_SRC)/lapack_lite/f2c_d_lapack.bc \
|
$(LINALG_SRC)/lapack_lite/f2c_d_lapack.bc \
|
||||||
$(LINALG_SRC)/lapack_lite/f2c_s_lapack.bc \
|
$(LINALG_SRC)/lapack_lite/f2c_s_lapack.bc \
|
||||||
|
$(LINALG_SRC)/lapack_lite/f2c_c_lapack.bc \
|
||||||
$(LINALG_SRC)/lapack_lite/f2c_lapack.bc \
|
$(LINALG_SRC)/lapack_lite/f2c_lapack.bc \
|
||||||
$(LINALG_SRC)/lapack_lite/f2c_blas.bc \
|
$(LINALG_SRC)/lapack_lite/f2c_blas.bc \
|
||||||
$(LINALG_SRC)/lapack_lite/f2c_config.bc \
|
$(LINALG_SRC)/lapack_lite/f2c_config.bc \
|
||||||
$(LINALG_SRC)/lapack_lite/f2c.bc
|
$(LINALG_SRC)/lapack_lite/f2c.bc
|
||||||
|
|
||||||
|
|
||||||
|
LAPACK_LITE_SRC=\
|
||||||
|
$(LINALG_SRC)/lapack_litemodule.bc
|
||||||
|
|
||||||
|
|
||||||
UMATH_LINALG_SRC=\
|
UMATH_LINALG_SRC=\
|
||||||
$(LINALG_GENSRC)/umath_linalg.bc
|
$(LINALG_GENSRC)/umath_linalg.bc
|
||||||
|
|
||||||
|
@ -200,33 +204,33 @@ MTRAND_SRC=\
|
||||||
|
|
||||||
|
|
||||||
$(BUILDCORE)/multiarray.so: $(MULTIARRAY_SRC) $(NPYMATH_SRC) $(NPYSORT_SRC)
|
$(BUILDCORE)/multiarray.so: $(MULTIARRAY_SRC) $(NPYMATH_SRC) $(NPYSORT_SRC)
|
||||||
$(CC) $(LDFLAGS) $^ -o $(BUILDCORE)/multiarray.js
|
$(CC) $(LDFLAGS) $^ -o $(BUILDCORE)/multiarray.wasm
|
||||||
mv $(BUILDCORE)/multiarray.js $(BUILDCORE)/multiarray.so
|
mv $(BUILDCORE)/multiarray.wasm $(BUILDCORE)/multiarray.so
|
||||||
|
|
||||||
|
|
||||||
$(BUILDCORE)/umath.so: $(UMATH_SRC) $(NPYMATH_SRC)
|
$(BUILDCORE)/umath.so: $(UMATH_SRC) $(NPYMATH_SRC)
|
||||||
$(CC) $(LDFLAGS) $^ -o $(BUILDCORE)/umath.js
|
$(CC) $(LDFLAGS) $^ -o $(BUILDCORE)/umath.wasm
|
||||||
mv $(BUILDCORE)/umath.js $(BUILDCORE)/umath.so
|
mv $(BUILDCORE)/umath.wasm $(BUILDCORE)/umath.so
|
||||||
|
|
||||||
|
|
||||||
$(BUILDLINALG)/lapack_lite.so: $(LAPACK_LITE_SRC)
|
$(BUILDLINALG)/lapack_lite.so: $(LAPACK_LITE_SRC) $(LAPACK_BLAS_SRC) $(NPYMATH_SRC)
|
||||||
$(CC) $(LDFLAGS) $^ -o $(BUILDLINALG)/lapack_lite.js
|
$(CC) $(LDFLAGS) $^ -o $(BUILDLINALG)/lapack_lite.wasm
|
||||||
mv $(BUILDLINALG)/lapack_lite.js $(BUILDLINALG)/lapack_lite.so
|
mv $(BUILDLINALG)/lapack_lite.wasm $(BUILDLINALG)/lapack_lite.so
|
||||||
|
|
||||||
|
|
||||||
$(BUILDLINALG)/_umath_linalg.so: $(UMATH_LINALG_SRC)
|
$(BUILDLINALG)/_umath_linalg.so: $(UMATH_LINALG_SRC) $(LAPACK_BLAS_SRC) $(NPYMATH_SRC)
|
||||||
$(CC) $(LDFLAGS) $^ -o $(BUILDLINALG)/_umath_linalg.js
|
$(CC) $(LDFLAGS) $^ -o $(BUILDLINALG)/_umath_linalg.wasm
|
||||||
mv $(BUILDLINALG)/_umath_linalg.js $(BUILDLINALG)/_umath_linalg.so
|
mv $(BUILDLINALG)/_umath_linalg.wasm $(BUILDLINALG)/_umath_linalg.so
|
||||||
|
|
||||||
|
|
||||||
$(BUILDFFT)/fftpack_lite.so: $(FFTPACK_LITE_SRC)
|
$(BUILDFFT)/fftpack_lite.so: $(FFTPACK_LITE_SRC)
|
||||||
$(CC) $(LDFLAGS) $^ -o $(BUILDFFT)/fftpack_lite.js
|
$(CC) $(LDFLAGS) $^ -o $(BUILDFFT)/fftpack_lite.wasm
|
||||||
mv $(BUILDFFT)/fftpack_lite.js $(BUILDFFT)/fftpack_lite.so
|
mv $(BUILDFFT)/fftpack_lite.wasm $(BUILDFFT)/fftpack_lite.so
|
||||||
|
|
||||||
|
|
||||||
$(BUILDRANDOM)/mtrand.so: $(MTRAND_SRC)
|
$(BUILDRANDOM)/mtrand.so: $(MTRAND_SRC)
|
||||||
$(CC) $(LDFLAGS) $^ -o $(BUILDRANDOM)/mtrand.js
|
$(CC) $(LDFLAGS) $^ -o $(BUILDRANDOM)/mtrand.wasm
|
||||||
mv $(BUILDRANDOM)/mtrand.js $(BUILDRANDOM)/mtrand.so
|
mv $(BUILDRANDOM)/mtrand.wasm $(BUILDRANDOM)/mtrand.so
|
||||||
|
|
||||||
|
|
||||||
%.bc: %.c $(BUILD)/numpy/__init__.py
|
%.bc: %.c $(BUILD)/numpy/__init__.py
|
||||||
|
|
Loading…
Reference in New Issue