-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathcgen.config.js
57 lines (54 loc) · 1.17 KB
/
cgen.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
const { defineFunctionConfig } = require('@tybys/cgen')
function createTarget (name, asm, isDebug) {
const compilerFlags = [
// ...(isDebug ? ['-sDISABLE_EXCEPTION_CATCHING=0'] : [])
]
const linkerFlags = [
// '--bind',
'-sALLOW_MEMORY_GROWTH=1',
"-sEXPORTED_FUNCTIONS=['_malloc','_free']",
...(asm ? ['-sWASM=0'] : []),
...(isDebug ? [/* '-sDISABLE_EXCEPTION_CATCHING=0', */'-sSAFE_HEAP=1'] : [])
]
return {
name: name,
type: 'exe',
sources: [
'./src/main.c'
],
defines: [
'AES256=1',
'ECB=1'
],
emwrap: {
script: './export.js',
},
compileOptions: [
...compilerFlags
],
linkOptions: [
...linkerFlags
],
includePaths: [
'./deps/zlib',
'./deps/openssl/include'
],
libs: [
'zlibstatic',
'./deps/openssl/lib/libcrypto.a',
'./deps/openssl/lib/libssl.a',
]
}
}
module.exports = defineFunctionConfig(function (_options, { isDebug }) {
return {
project: 'wz',
dependencies: {
'./deps/zlib': {}
},
targets: [
createTarget('wz', false, isDebug),
createTarget('wzasm', true, isDebug)
]
}
})