<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Fri, 17 Aug 2018 at 18:15, Andrew Gallagher via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I was looking into getting a build system to cache/share module files (i.e. *.pcm files) between different users to speed up builds. One problem is that it appears clang is embedding absolute paths into the module file, which causes issues when users build from different locations (e.g. their home directories). From the output of `clang -fmodule-file-info ...` it looks like this absolute path is the location of the various `module.modulemap` files the build uses. Anyone know of a way to get clang to these absolute path (e.g. using relative paths instead, or something similar to `$ORIGIN`)?<br></div></blockquote><div><br></div><div>The paths to module.modulemap files found implicitly by clang will be based on the -I / -isystem paths that Clang is using: if those paths are relative, Clang should use relative paths to the module map files, and if those paths are absolute, Clang will use absolute paths to the module map. (The paths to module.modulemap files found by explicit -fmodule-map-file= arguments should match the form used in said argument.)</div><div><br></div><div>You can also diff the output of "llvm-bcanalyzer -dump" to investigate how modules built on different machines differ.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks!<br>Andrew</div>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div></div>