@@ -11,34 +11,34 @@ def generate(env):
11
11
print ("Only wasm32 supported on web. Exiting." )
12
12
env .Exit (1 )
13
13
14
+ # Emscripten toolchain
14
15
env ["CC" ] = "emcc"
15
16
env ["CXX" ] = "em++"
16
17
env ["AR" ] = "emar"
17
18
env ["RANLIB" ] = "emranlib"
18
- env .Append (CPPFLAGS = ["-s" , "SIDE_MODULE=1" ])
19
- env .Append (LINKFLAGS = ["-s" , "SIDE_MODULE=1" ])
20
- env ["SHOBJSUFFIX" ] = ".bc"
21
- env ["SHLIBSUFFIX" ] = ".wasm"
19
+
22
20
# Use TempFileMunge since some AR invocations are too long for cmd.exe.
23
21
# Use POSIX-style paths, required with TempFileMunge.
24
22
env ["ARCOM_POSIX" ] = env ["ARCOM" ].replace ("$TARGET" , "$TARGET.posix" ).replace ("$SOURCES" , "$SOURCES.posix" )
25
23
env ["ARCOM" ] = "${TEMPFILE(ARCOM_POSIX)}"
26
24
25
+ # All intermediate files are just object files.
26
+ env ["OBJSUFFIX" ] = ".o"
27
+ env ["SHOBJSUFFIX" ] = ".o"
28
+
29
+ # Static libraries clang-style.
30
+ env ["LIBPREFIX" ] = "lib"
31
+ env ["LIBSUFFIX" ] = ".a"
32
+
33
+ # Shared library as wasm.
34
+ env ["SHLIBSUFFIX" ] = ".wasm"
35
+
27
36
# Thread support (via SharedArrayBuffer).
28
37
env .Append (CCFLAGS = ["-s" , "USE_PTHREADS=1" ])
29
38
env .Append (LINKFLAGS = ["-s" , "USE_PTHREADS=1" ])
30
39
31
- # All intermediate files are just LLVM bitcode.
32
- env ["OBJPREFIX" ] = ""
33
- env ["OBJSUFFIX" ] = ".bc"
34
- env ["PROGPREFIX" ] = ""
35
- # Program() output consists of multiple files, so specify suffixes manually at builder.
36
- env ["PROGSUFFIX" ] = ""
37
- env ["LIBPREFIX" ] = "lib"
38
- env ["LIBSUFFIX" ] = ".a"
39
- env ["LIBPREFIXES" ] = ["$LIBPREFIX" ]
40
- env ["LIBSUFFIXES" ] = ["$LIBSUFFIX" ]
41
- env .Replace (SHLINKFLAGS = "$LINKFLAGS" )
42
- env .Replace (SHLINKFLAGS = "$LINKFLAGS" )
40
+ # Build as side module (shared library).
41
+ env .Append (CPPFLAGS = ["-s" , "SIDE_MODULE=1" ])
42
+ env .Append (LINKFLAGS = ["-s" , "SIDE_MODULE=1" ])
43
43
44
44
env .Append (CPPDEFINES = ["WEB_ENABLED" , "UNIX_ENABLED" ])
0 commit comments