phosek added a comment.

In D101139#2718112 <https://reviews.llvm.org/D101139#2718112>, @aabbaabb wrote:

> In D101139#2718057 <https://reviews.llvm.org/D101139#2718057>, @phosek wrote:
>
>> In D101139#2713530 <https://reviews.llvm.org/D101139#2713530>, @aabbaabb 
>> wrote:
>>
>>> The python script assumes relative directory while finding things. For 
>>> example, for resources folder, it uses os.path.join(this_dir, 'resources') 
>>> in report.py, which means resource need to be in the same dir as report.py. 
>>> Similarly for the libscanbuild. it assumes the library is always at one 
>>> level up from bin folder. Installing them to different directories would 
>>> break the script.
>>
>> We could reorganize things to match the final layout, that's the strategy 
>> that https://github.com/llvm/llvm-project/tree/main/clang/tools/scan-build 
>> uses as well.
>>
>> In D101139#2713551 <https://reviews.llvm.org/D101139#2713551>, @aabbaabb 
>> wrote:
>>
>>> libear is built dynamically at runtime from build_libear function in 
>>> libear/__init__.py which would be called by libscanbuild/analyze.py. It is 
>>> not built statically.
>>
>> Could we modify the code to avoid building libear at runtime and instead 
>> build it with CMake. Is libear even needed when using compilation database?
>
> If i copy libscanbuild/resources to out/share/, libscanbuild to 
> out/libscanbuild, bin/* to bin, then resources would be in a different layout 
> than the original src. You mean modifying the original source and move 
> libscanbuild/resources out to share/resources and update the code reference?

Do we still keep the source in sync with 
https://github.com/rizsotto/scan-build? I was under the impression that the two 
codebases have already started diverging.

> We are not using libear, we are only using analyze-build not scan-build. For 
> our usage, I could define a target that only copies analyze-build, not 
> scan-build. However, I am not sure whether this is appropriate. On the other 
> hand, building libear statically might require significant change to the code.

We may consider introducing a CMake option to control whether to include libear 
or not (which would also control whether to include `scan-build` or not).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D101139/new/

https://reviews.llvm.org/D101139

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to