Commit c5aac6a9 authored by Christian Dietrich's avatar Christian Dietrich
Browse files

inc_rebuild: touch alltypes.h on musl if header changes

parent e082207a
Pipeline #2987 passed with stage
in 0 seconds
...@@ -53,8 +53,18 @@ class IncrementalCompilation(Experiment): ...@@ -53,8 +53,18 @@ class IncrementalCompilation(Experiment):
else: else:
raise RuntimeError("Not a valid project") raise RuntimeError("Not a valid project")
def call_make(self, path): def call_make(self, path, cause = ""):
return shell("cd %s; make -j %s", path, str(self.jobs.value)) # We specialcase here for musl, since it does not employ
# header dependencies. IRC recommended a make clean approach,
# but currently clang hash does copy object files away.
# touching this file, we result in a reconsideration of all
# sources
if self.project_name() == "musl" and cause.endswith(".h"):
return shell("cd %s; touch obj/include/bits/alltypes.h && make -j %s", path,
str(self.jobs.value))
return shell("cd %s; make -j %s", path,
str(self.jobs.value))
def get_sources(self, path): def get_sources(self, path):
ret = [] ret = []
...@@ -80,7 +90,7 @@ class IncrementalCompilation(Experiment): ...@@ -80,7 +90,7 @@ class IncrementalCompilation(Experiment):
# Recompile! # Recompile!
start_time = time.time() start_time = time.time()
ret = self.call_make(path) ret = self.call_make(path, cause)
end_time = time.time() end_time = time.time()
# Call the lines that include the full compiler path # Call the lines that include the full compiler path
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment