Skip to content

Commit 197ed55

Browse files
committed
3.1.69.3bi
1 parent 462b2c9 commit 197ed55

File tree

1 file changed

+50
-4
lines changed

1 file changed

+50
-4
lines changed

emsdk-cc

Lines changed: 50 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,14 @@ SHARED_TARGET = SHARED = ""
6161

6262
MVP = env("MVP", true)
6363

64+
if env("EMMAKEN_JUST_CONFIGURE", false):
65+
CONFIGURE=True
66+
elif env("CONFIG_SITE", false):
67+
CONFIGURE=True
68+
else:
69+
CONFIGURE= env("CONFIGURE", false)
70+
71+
6472
if MVP:
6573
# turn of wasm ex (https://github.com/emscripten-core/emscripten/pull/20536)
6674
# -fno-wasm-exceptions -sEMSCRIPTEN_LONGJMP=0
@@ -93,6 +101,8 @@ else:
93101
WASM_EXTRA = env("WASM_EXTRA", "") + " " + env("WASM_OPTS", "")
94102

95103
COPTS = env("COPTS", "-fPIC")
104+
105+
96106
MAIN_MODULE = LINKING = False
97107
EXE = ""
98108
MODE = ""
@@ -173,6 +183,7 @@ for argc, arg in enumerate(sys.argv):
173183

174184
os.environ.pop("_EMCC_CCACHE", "")
175185

186+
176187
"""
177188
if [ "\$arg" = "-lutil" ]
178189
then
@@ -201,27 +212,55 @@ os.environ.pop("_EMCC_CCACHE", "")
201212
"""
202213

203214
final = [EXEC]
215+
216+
# a.out test misses fpic
217+
if CONFIGURE and len(out)==1:
218+
SKIP = out[0] == 'conftest.c'
219+
sys.argv.insert(0,"-fPIC")
220+
221+
204222
if SKIP:
205223
final.extend(sys.argv)
206224
else:
225+
if EXE.endswith('.cjs'):
226+
def make_exe(*argv,**kw):
227+
global CONFIGURE
228+
if os.path.isfile(EXE) and not CONFIGURE:
229+
with open(EXE,'r') as file:
230+
bin = file.read()
231+
with open(EXE,"w") as file:
232+
file.write("#!/usr/bin/env node\n")
233+
file.write(bin)
234+
os.chmod(EXE, 0o766)
235+
236+
final.append('-sENVIRONMENT=node')
237+
final.append('-sNODERAWFS')
238+
final.append("-L/lib/wasm32-emscripten/pic")
239+
__import__("atexit").register(make_exe)
240+
241+
207242
if IS_SHARED:
208243
final.extend(arglist(SHARED, COPTS))
209244
final.extend(CPU)
210-
final.extend(arglist(WASM_EXTRA, env("LDFLAGS", ""), "-gsource-map --source-map-base /"))
245+
#, "-gsource-map --source-map-base /"))
246+
final.extend(arglist(WASM_EXTRA, env("LDFLAGS", "")))
211247

212248
# do not pass WASM opts when -c/-o but always PIC
213249
elif MAIN_MODULE:
214250
final.extend(arglist(SHARED, COPTS))
215251
final.extend(CPU)
216-
final.extend(arglist(env("CPU_EXTRA", ""), env("CPPFLAGS", ""), "-DBUILD_STATIC -gsource-map --source-map-base /"))
252+
# -gsource-map --source-map-base /
253+
final.extend(arglist(env("CPU_EXTRA", ""), env("CPPFLAGS", ""), "-DBUILD_STATIC"))
217254
else:
218255
final.extend(arglist(SHARED, COPTS, env("CPU_EXTRA", ""), env("CPPFLAGS", ""), "-DBUILD_STATIC"))
219256
final.extend(out)
220257
final.extend(COMMON)
221258

259+
260+
222261
if env("EMCC_TRACE", false):
223-
dbg(
224-
f"""
262+
def dump():
263+
dbg(f"""
225264
226265
{COMMON=}
227266
@@ -238,11 +277,18 @@ if env("EMCC_TRACE", false):
238277
{final=}
239278
240279
""")
280+
dump()
281+
if os.path.isfile('conftest.c'):
282+
__import__("shutil").copy("conftest.c", os.environ["SDKROOT"]+"/emcc.c")
283+
241284

242285
sys.path.insert(0, str(Path(EXEC).parent))
243286
sys.argv.clear()
244287
while len(final):
245288
arg = final.pop(0)
246289
#arg = arg.replace('"', '\\"')
247290
sys.argv.append(arg)
291+
248292
exec(open(EXEC, "r").read(), globals(), globals())
293+
294+

0 commit comments

Comments
 (0)