@@ -17,7 +17,6 @@ lib/fribidi/configure:
1717 patch -d " $( BASE_DIR) lib/fribidi" -Np1 -i $(file ) ; ) \
1818 NOCONFIGURE=1 ./autogen.sh
1919
20- # NM=llvm-nm
2120dist/libraries/lib/libfribidi.a : lib/fribidi/configure
2221 cd lib/fribidi && \
2322 emconfigure ./configure \
@@ -26,7 +25,7 @@ dist/libraries/lib/libfribidi.a: lib/fribidi/configure
2625 -O2 \
2726 -s NO_FILESYSTEM=1 \
2827 -s NO_EXIT_RUNTIME=1 \
29- -s STRICT=1 \
28+ -DFRIBIDI_ENTRY=extern \
3029 --llvm-lto 1 \
3130 -s MODULARIZE=1 \
3231 " \
@@ -40,7 +39,6 @@ dist/libraries/lib/libfribidi.a: lib/fribidi/configure
4039 && \
4140 emmake make -j8 && \
4241 emmake make install
43-
4442
4543lib/expat/expat/configured :
4644 cd lib/expat/expat && \
@@ -51,13 +49,12 @@ lib/expat/expat/configured:
5149
5250dist/libraries/lib/libexpat.a : lib/expat/expat/configured
5351 cd lib/expat/expat/build && \
54- emconfigure cmake \
52+ emcmake cmake \
5553 -DCMAKE_C_FLAGS=" \
5654 -s USE_PTHREADS=0 \
5755 -O2 \
5856 -s NO_FILESYSTEM=1 \
5957 -s NO_EXIT_RUNTIME=1 \
60- -s STRICT=1 \
6158 --llvm-lto 1 \
6259 -s MODULARIZE=1 \
6360 " \
@@ -82,7 +79,7 @@ lib/brotli/configured:
8279
8380dist/libraries/lib/libbrotlidec.a : lib/brotli/configured
8481 cd lib/brotli/build && \
85- emconfigure cmake \
82+ emcmake cmake \
8683 -DCMAKE_C_FLAGS=" \
8784 -O2 \
8885 " \
@@ -110,7 +107,6 @@ lib/freetype/build_hb/dist_hb/lib/libfreetype.a: dist/libraries/lib/libbrotlidec
110107 -O2 \
111108 -s NO_FILESYSTEM=1 \
112109 -s NO_EXIT_RUNTIME=1 \
113- -s STRICT=1 \
114110 --llvm-lto 1 \
115111 -s MODULARIZE=1 \
116112 " \
@@ -146,7 +142,6 @@ dist/libraries/lib/libharfbuzz.a: lib/freetype/build_hb/dist_hb/lib/libfreetype.
146142 -O2 \
147143 -s NO_FILESYSTEM=1 \
148144 -s NO_EXIT_RUNTIME=1 \
149- -s STRICT=1 \
150145 --llvm-lto 1 \
151146 -s MODULARIZE=1 \
152147 " \
@@ -182,7 +177,6 @@ dist/libraries/lib/libfreetype.a: dist/libraries/lib/libharfbuzz.a dist/librarie
182177 -O2 \
183178 -s NO_FILESYSTEM=1 \
184179 -s NO_EXIT_RUNTIME=1 \
185- -s STRICT=1 \
186180 --llvm-lto 1 \
187181 -s MODULARIZE=1 \
188182 " \
@@ -220,7 +214,6 @@ dist/libraries/lib/libfontconfig.a: dist/libraries/lib/libharfbuzz.a dist/librar
220214 -O2 \
221215 -s NO_EXIT_RUNTIME=1 \
222216 --llvm-lto 1 \
223- -s STRICT=1 \
224217 -s MODULARIZE=1 \
225218 " \
226219 --prefix=" $( DIST_DIR) " \
@@ -252,7 +245,6 @@ dist/libraries/lib/libass.a: dist/libraries/lib/libfontconfig.a dist/libraries/l
252245 -s USE_PTHREADS=0 \
253246 -O2 \
254247 -s NO_EXIT_RUNTIME=1 \
255- -s STRICT=1 \
256248 --llvm-lto 1 \
257249 -s MODULARIZE=1 \
258250 " \
@@ -280,7 +272,12 @@ OCTP_DEPS = \
280272 $(DIST_DIR ) /lib/libfontconfig.a \
281273 $(DIST_DIR ) /lib/libass.a
282274
283- src/Makefile :
275+ # Require a patch to fix some errors
276+ src/SubOctpInterface.cpp :
277+ cd src && \
278+ python ../build/webidl_binder.py SubtitleOctopus.idl SubOctpInterface
279+
280+ src/Makefile : src/SubOctpInterface.cpp
284281 cd src && \
285282 autoreconf -fi
286283
@@ -294,14 +291,13 @@ src/subtitles-octopus-worker.bc: dist/libraries/lib/libass.a src/Makefile
294291# Dist Files
295292EMCC_COMMON_ARGS = \
296293 -O2 \
297- -s EXPORTED_FUNCTIONS="['_main', '_malloc', '_libassjs_init', '_libassjs_quit', '_libassjs_resize', '_libassjs_render', '_libassjs_free_track', '_libassjs_create_track' ]" \
294+ -s EXPORTED_FUNCTIONS="['_main', '_malloc']" \
298295 -s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall', 'cwrap', 'getValue', 'FS_createPreloadedFile', 'FS_createFolder']" \
299296 -s NO_EXIT_RUNTIME=1 \
300297 --use-preload-plugins \
301- --preload-file default.woff2 \
302- --preload-file fonts.conf \
298+ --preload-file assets/ default.woff2 \
299+ --preload-file assets/ fonts.conf \
303300 -s ALLOW_MEMORY_GROWTH=1 \
304- -s STRICT=1 \
305301 -s FORCE_FILESYSTEM=1 \
306302 --llvm-lto 1 \
307303 -g1 \
@@ -311,34 +307,37 @@ EMCC_COMMON_ARGS = \
311307 #--memory-init-file 0 \
312308 #-s OUTLINING_LIMIT=20000 \
313309
314- dist : src/subtitles-octopus-worker.bc dist/subtitles-octopus-worker.js dist/subtitles-octopus-worker-legacy.js dist/subtitles-octopus.js
310+ dist : src/subtitles-octopus-worker.bc dist/js/subtitles-octopus-worker.js dist/js/subtitles-octopus-worker-legacy.js dist/js/subtitles-octopus.js
311+
315312
316- dist/subtitles-octopus-worker.js : src/subtitles-octopus-worker.bc
313+ dist/js/ subtitles-octopus-worker.js : src/subtitles-octopus-worker.bc
317314 emcc src/subtitles-octopus-worker.bc $(OCTP_DEPS ) \
318315 --pre-js src/pre-worker.js \
319316 --pre-js src/unbrotli.js \
317+ --post-js src/SubOctpInterface.js \
320318 --post-js src/post-worker.js \
321319 -s WASM=1 \
322320 $(EMCC_COMMON_ARGS )
323321
324- dist/subtitles-octopus-worker-legacy.js : src/subtitles-octopus-worker.bc
322+ dist/js/ subtitles-octopus-worker-legacy.js : src/subtitles-octopus-worker.bc
325323 emcc src/subtitles-octopus-worker.bc $(OCTP_DEPS ) \
326324 --pre-js src/pre-worker.js \
327325 --pre-js src/unbrotli.js \
326+ --post-js src/SubOctpInterface.js \
328327 --post-js src/post-worker.js \
329328 -s WASM=0 \
330329 -s LEGACY_VM_SUPPORT=1 \
331330 $(EMCC_COMMON_ARGS )
332331
333- dist/subtitles-octopus.js :
334- cp src/subtitles-octopus.js dist/
332+ dist/js/ subtitles-octopus.js :
333+ cp src/subtitles-octopus.js dist/js/
335334
336335# Clean Tasks
337336
338337clean : clean-dist clean-freetype clean-fribidi clean-harfbuzz clean-fontconfig clean-expat clean-libass clean-octopus clean-brotli
339338
340339clean-dist :
341- cd dist && rm -frv ./*
340+ cd dist && rm -frv ./libraries/ * && rm -frv ./js/ *
342341clean-freetype :
343342 cd lib/freetype && git clean -fdx
344343clean-fribidi :
0 commit comments