A first step would be to get moz-central building under clang on Windows. It looks like someone has already blazed this trail: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Building_Firefox_on_Windows_with_clang-cl. At first, we can index it as a separate tree. Then we can move toward merging indices somehow.
From Ehsan: > We can mostly build all of Firefox with clang-cl on Windows. The build doesn't quite run yet, but that shouldn't be needed for DXR. Note that for this, you need a very recent build of clang-cl (the last clang-cl fix I checked into LLVM happened a few hours ago!) > > AFAIK DXR uses LLVM 3.5 which is super old, upgrading to use the latest ToT clang would be the first step. > > One thing that I have not tested at all is whether clang-cl can load a plugin. In theory it should work...
Has any work been done to move this issue along? At least building and loading the plugin. It seems that out-of-the-box the llvm/tools/clang/example plugins aren't built on Windows, and get a diagnostic message such as ... PrintFunctionNames ignored -- Loadable modules not supported on this platform This is with LLVM v5.0.0.
Hi, Jack. I don't know about the building of Firefox under Windows specifically, but my guess is your interest is more general. DXR now supports at least clang 5.0, which is the latest major release, on Linux. I assume you tried with the latest DXR code? Your error message sounds like a lack of Windows support from clang itself. :-(
Yes, I saw that there was some work done to support plugins in clang on Windows (February 2016), but now see that was reverted here - https://github.com/HexHive/EPOXY-clang/commit/7eba45f7ef2d6917db1ef0143e4dab41d77b3bf7. I'm not sure if more followup had been done in the last two years. I've seen plugins built into special builds of clang on Windows so I guess that's still what is needed.
Turns out there was some more work - https://bugs.llvm.org/show_bug.cgi?id=11446 - and it seems to work for at least one clang/example test case. I'll pursue that for the dxr plugin.
You need to log in before you can comment on or make changes to this bug.