Skip to content

Commit ed793cf

Browse files
committed
debug filters
1 parent 129bbae commit ed793cf

File tree

1 file changed

+31
-15
lines changed

1 file changed

+31
-15
lines changed

emsdk-cc

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ def dbg(*argv, **kw):
1010
return print(*argv, **kw)
1111

1212

13+
SDKROOT = Path(os.environ.get("SDKROOT","/opt/python-wasm-sdk"))
14+
EMSDK = Path(os.environ.get("EMSDK","/opt/python-wasm-sdk/emsdk"))
15+
PREFIX = Path(os.environ.get("PREFIX","/opt/python-wasm-sdk/devices/emsdk/usr"))
16+
1317
sys.argv.pop(0)
1418

1519
EXEC = sys.argv.pop(0)
@@ -174,7 +178,6 @@ for argc, arg in enumerate(sys.argv):
174178
EXE = sys.argv[EXE_POS]
175179

176180
elif arg.endswith(".so") or arg == "-shared" or arg.find("SIDE_MODULE") > 0:
177-
LINKING = True
178181
IS_SHARED = True
179182
if arg == "-shared":
180183
pass
@@ -187,6 +190,9 @@ for argc, arg in enumerate(sys.argv):
187190
SHARED = f"-shared -sSIDE_MODULE=1 -L{os.environ['PREFIX']}/lib"
188191
continue
189192

193+
if arg.startswith("-l"):
194+
LINKING = True
195+
190196
# prevent duplicates objects/archives files on cmdline when linking
191197
if LINKING or MODE == "-o":
192198
if arg.endswith(".a") or arg.endswith(".o") or arg.startswith("-l"):
@@ -264,8 +270,10 @@ else:
264270

265271
if IS_SHARED or LINKING:
266272
# , "-gsource-map --source-map-base /"))
273+
final.append(f"-L{PREFIX}/lib")
267274
final.extend(arglist(WASM_EXTRA, env("LDFLAGS", "")))
268275
else:
276+
final.append(f"-I{PREFIX}/include")
269277
if MAIN_MODULE:
270278
# TODO: module level
271279
# -gsource-map --source-map-base /
@@ -276,12 +284,15 @@ else:
276284
final.extend(COMMON)
277285

278286

279-
if env("EMCC_TRACE", false):
280287

281-
def dump():
282-
dbg(
283-
f"""
288+
sys.path.insert(0, str(Path(EXEC).parent))
289+
sys.argv.clear()
284290

291+
EMCC_TRACE = env("EMCC_TRACE", false)
292+
if EMCC_TRACE:
293+
DEBUG_PATTERN = env("DEBUG_PATTERN", "main")
294+
def dump():
295+
dbg(f"""
285296
{COMMON=}
286297
287298
{CPU=}
@@ -296,20 +307,25 @@ if env("EMCC_TRACE", false):
296307
297308
{final=}
298309
310+
{' '.join(sys.argv)}
299311
"""
300-
)
312+
)
301313

302-
dump()
303-
if os.path.isfile("conftest.c"):
304-
__import__("shutil").copy("conftest.c", os.environ["SDKROOT"] + "/emcc.c")
314+
while len(final):
315+
arg = final.pop(0)
316+
# add debug filters here.
305317

318+
sys.argv.append(arg)
306319

307-
sys.path.insert(0, str(Path(EXEC).parent))
308-
sys.argv.clear()
309-
while len(final):
310-
arg = final.pop(0)
311-
# add debug filters here.
312320

313-
sys.argv.append(arg)
321+
if os.path.isfile("conftest.c"):
322+
__import__("shutil").copy("conftest.c", SDKROOT / "emcc.c")
323+
if DEBUG_PATTERN not in (False,True):
324+
with open("conftest.c","r") as file:
325+
if file.read().find(DEBUG_PATTERN)>0:
326+
dump()
327+
328+
else:
329+
sys.argv.extend(final)
314330

315331
exec(open(EXEC, "r").read(), globals(), globals())

0 commit comments

Comments
 (0)