
from PEP8 (https://peps.python.org/pep-0008/#programming-recommendations): > Comparisons to singletons like None should always be done with is or is not, never the equality operators.
33 lines
702 B
Python
Executable File
33 lines
702 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import os, sys, subprocess
|
|
|
|
output = None
|
|
output_type = "executable"
|
|
|
|
args = sys.argv[1:]
|
|
while args:
|
|
arg = args.pop(0)
|
|
if arg == "-shared":
|
|
output_type = "shared"
|
|
elif arg == "-dynamiclib":
|
|
output_type = "dylib"
|
|
elif arg == "-c":
|
|
output_type = "object"
|
|
elif arg == "-S":
|
|
output_type = "assembly"
|
|
elif arg == "-o":
|
|
output = args.pop(0)
|
|
|
|
if output is None:
|
|
print("No output file name!")
|
|
sys.exit(1)
|
|
|
|
ret = subprocess.call(sys.argv[1:])
|
|
if ret != 0:
|
|
sys.exit(ret)
|
|
|
|
# If we produce a dylib, ad-hoc sign it.
|
|
if output_type in ["shared", "dylib"]:
|
|
ret = subprocess.call(["codesign", "-s", "-", output])
|