summaryrefslogtreecommitdiff
path: root/cook.py
diff options
context:
space:
mode:
authorAlejandro Sior <aho@sior.be>2022-07-31 13:26:35 +0200
committerAlejandro Sior <aho@sior.be>2022-07-31 13:26:35 +0200
commitab4fa9d91adfc50ce3dff85b79c0ab09963f20f7 (patch)
treeffd662acdb1cdc6b3a32bd62daed729a32f6a108 /cook.py
parent11c116cc2c440b6dea801d250266b92bc5b6b85a (diff)
cook: find compilers
Diffstat (limited to 'cook.py')
-rwxr-xr-xcook.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/cook.py b/cook.py
index 87183c5..c50643e 100755
--- a/cook.py
+++ b/cook.py
@@ -173,16 +173,25 @@ class Vec(Machine):
return procs
+def find_compiler(compilers):
+ for c in compilers:
+ cc = find_program(c, required=False)
+ if cc:
+ return cc
+ return None
+
+c_compiler = find_compiler(["cc", "gcc", "clang", "clang.exe", "clang-cl.exe", "cl.exe"])
+
cc = Vec(
"cc",
- "/usr/bin/cc",
+ c_compiler,
lambda o, i, ea: "-o %s -c %s %s" % (o, i, ea),
lambda i: i.name + ".o",
desc=lambda o, i, ea: "CC %s" % (o),
)
ld = Machine(
"ld",
- "/usr/bin/cc",
+ c_compiler,
lambda o, i, ea: "-o %s %s %s" % (o, i, ea),
desc=lambda o, i, ea: "LD %s" % (o)
)