Skip to content

Commit c32b3f1

Browse files
committed
fix: meson build
1 parent 6543af6 commit c32b3f1

File tree

1 file changed

+54
-4
lines changed

1 file changed

+54
-4
lines changed

meson.build

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,73 @@ if simd
66
cargs += ['-msimd128']
77
endif
88

9+
inc = include_directories('src', '.')
10+
11+
# Generate config headers similar to CMake
12+
configure_file(input: 'src/jconfig.h.in', output: 'jconfig.h', configuration: configuration_data())
13+
configure_file(input: 'src/jconfigint.h.in', output: 'jconfigint.h', configuration: configuration_data())
14+
15+
jpeg_sources = files(
16+
'src/jcapimin.c',
17+
'src/wrapper/jcapistd-8.c','src/wrapper/jcapistd-12.c','src/wrapper/jcapistd-16.c',
18+
'src/wrapper/jccoefct-8.c','src/wrapper/jccoefct-12.c',
19+
'src/wrapper/jccolor-8.c','src/wrapper/jccolor-12.c','src/wrapper/jccolor-16.c',
20+
'src/wrapper/jcdctmgr-8.c','src/wrapper/jcdctmgr-12.c',
21+
'src/wrapper/jcdiffct-8.c','src/wrapper/jcdiffct-12.c','src/wrapper/jcdiffct-16.c',
22+
'src/jchuff.c','src/jcicc.c','src/jcinit.c','src/jclhuff.c',
23+
'src/wrapper/jclossls-8.c','src/wrapper/jclossls-12.c','src/wrapper/jclossls-16.c',
24+
'src/wrapper/jcmainct-8.c','src/wrapper/jcmainct-12.c','src/wrapper/jcmainct-16.c',
25+
'src/jcmarker.c','src/jcmaster.c','src/jcomapi.c','src/jcparam.c','src/jcphuff.c',
26+
'src/wrapper/jcprepct-8.c','src/wrapper/jcprepct-12.c','src/wrapper/jcprepct-16.c',
27+
'src/wrapper/jcsample-8.c','src/wrapper/jcsample-12.c','src/wrapper/jcsample-16.c',
28+
'src/jctrans.c','src/jdapimin.c',
29+
'src/wrapper/jdapistd-8.c','src/wrapper/jdapistd-12.c','src/wrapper/jdapistd-16.c',
30+
'src/jdatadst.c','src/jdatasrc.c',
31+
'src/wrapper/jdcoefct-8.c','src/wrapper/jdcoefct-12.c',
32+
'src/wrapper/jdcolor-8.c','src/wrapper/jdcolor-12.c','src/wrapper/jdcolor-16.c',
33+
'src/wrapper/jddctmgr-8.c','src/wrapper/jddctmgr-12.c',
34+
'src/wrapper/jddiffct-8.c','src/wrapper/jddiffct-12.c','src/wrapper/jddiffct-16.c',
35+
'src/jdhuff.c','src/jdicc.c','src/jdinput.c','src/jdlhuff.c',
36+
'src/wrapper/jdlossls-8.c','src/wrapper/jdlossls-12.c','src/wrapper/jdlossls-16.c',
37+
'src/wrapper/jdmainct-8.c','src/wrapper/jdmainct-12.c','src/wrapper/jdmainct-16.c',
38+
'src/jdmarker.c','src/jdmaster.c',
39+
'src/wrapper/jdmerge-8.c','src/wrapper/jdmerge-12.c',
40+
'src/jdphuff.c',
41+
'src/wrapper/jdpostct-8.c','src/wrapper/jdpostct-12.c','src/wrapper/jdpostct-16.c',
42+
'src/wrapper/jdsample-8.c','src/wrapper/jdsample-12.c','src/wrapper/jdsample-16.c',
43+
'src/jdtrans.c','src/jerror.c','src/jfdctflt.c',
44+
'src/wrapper/jfdctfst-8.c','src/wrapper/jfdctfst-12.c',
45+
'src/wrapper/jfdctint-8.c','src/wrapper/jfdctint-12.c',
46+
'src/wrapper/jidctflt-8.c','src/wrapper/jidctflt-12.c',
47+
'src/wrapper/jidctfst-8.c','src/wrapper/jidctfst-12.c',
48+
'src/wrapper/jidctint-8.c','src/wrapper/jidctint-12.c',
49+
'src/wrapper/jidctred-8.c','src/wrapper/jidctred-12.c',
50+
'src/jmemmgr.c','src/jmemnobs.c','src/jpeg_nbits.c',
51+
'src/wrapper/jquant1-8.c','src/wrapper/jquant1-12.c',
52+
'src/wrapper/jquant2-8.c','src/wrapper/jquant2-12.c',
53+
'src/wrapper/jutils-8.c','src/wrapper/jutils-12.c','src/wrapper/jutils-16.c'
54+
)
55+
56+
# MAIN compiles the full library + wrapper
957
executable('libjpeg-main',
10-
files('wasm/libjpeg_wasm_module.c'),
58+
files('wasm/libjpeg_wasm_module.c') + jpeg_sources,
59+
include_directories: inc,
1160
c_args: cargs,
1261
link_args: [
13-
'-sUSE_LIBJPEG=1','-sWASM=1','-sMODULARIZE=1','-sEXPORT_ES6=1','-sEXPORT_NAME=LibjpegModule',
62+
'-sWASM=1','-sMODULARIZE=1','-sEXPORT_ES6=1','-sEXPORT_NAME=LibjpegModule',
1463
'-sALLOW_MEMORY_GROWTH=1','-sNO_FILESYSTEM=1','-sEXPORTED_RUNTIME_METHODS=["cwrap","ccall","UTF8ToString"]','-O3','-flto'
1564
],
1665
install: true,
1766
install_dir: get_option('bindir')
1867
)
1968

69+
# SIDE compiles the full library as -sSIDE_MODULE=2 for dlopen
2070
shared_module('libjpeg-side',
21-
files('wasm/libjpeg_wasm_side.c'),
71+
files('wasm/libjpeg_wasm_side.c') + jpeg_sources,
72+
include_directories: inc,
2273
name_prefix: '',
2374
c_args: cargs,
2475
link_args: ['-sSIDE_MODULE=2','-fPIC','-O3','-flto','-sEXPORTED_FUNCTIONS=["_libjpeg_wasm_version"]'],
2576
install: true,
2677
install_dir: get_option('libdir')
2778
)
28-

0 commit comments

Comments
 (0)