{"action":"created","issue":{"url":"https://api.github.com/repos/include-what-you-use/include-what-you-use/issues/419","repository_url":"https://api.github.com/repos/include-what-you-use/include-what-you-use","labels_url":"https://api.github.com/repos/include-what-you-use/include-what-you-use/issues/419/labels{/name}","comments_url":"https://api.github.com/repos/include-what-you-use/include-what-you-use/issues/419/comments","events_url":"https://api.github.com/repos/include-what-you-use/include-what-you-use/issues/419/events","html_url":"https://github.com/include-what-you-use/include-what-you-use/issues/419","id":216217531,"number":419,"title":"Running iwyu on LLVM itself","user":{"login":"zjturner","id":11823433,"avatar_url":"https://avatars0.githubusercontent.com/u/11823433?v=3","gravatar_id":"","url":"https://api.github.com/users/zjturner","html_url":"https://github.com/zjturner","followers_url":"https://api.github.com/users/zjturner/followers","following_url":"https://api.github.com/users/zjturner/following{/other_user}","gists_url":"https://api.github.com/users/zjturner/gists{/gist_id}","starred_url":"https://api.github.com/users/zjturner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zjturner/subscriptions","organizations_url":"https://api.github.com/users/zjturner/orgs","repos_url":"https://api.github.com/users/zjturner/repos","events_url":"https://api.github.com/users/zjturner/events{/privacy}","received_events_url":"https://api.github.com/users/zjturner/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2017-03-22T21:43:33Z","updated_at":"2017-04-04T18:05:36Z","closed_at":null,"body":"I'd like to run IWYU on LLVM itself, but it seems there are some issues getting in my way.  First and foremost is that LLVM does not use `make`, which you seem to require for running over a whole codebase.  My first intuition was to just use `cmake` with the `Unix Makefiles` generator, but this produces makefiles with a layer of indirection which first shells out to CMake to actually run the dependency check, and from there I'm not sure what happens but it doesn't work.  It runs over the entire codebase and I just get no output at all.  Here are the steps I'm using.\r\n\r\n1. Build LLVM with IWYU in-tree, release mode.\r\n2. In separate tree, run `cmake -G \"Unix Makefiles\" \"-DCMAKE_CXX_COMPILER=/bin/dir/from/step/1/clang++\" \"-DCMAKE_C_COMPILER=/bin/dir/from/step/1/clang\" \"/path/to/llvm/src\"\r\n3. Run `make -j32`  (this is necessary because LLVM builds tools like `llvm-tblgen` which other steps will fail if they are not present, so I do a full build once just to make sure all the required tools are present.\r\n4. Run `make -k CXX=/bin/dir/from/step/1/include-what-you-use`\r\n\r\nAt this point it plows through from 0 to 100% in about 30 seconds, printing no output whatsoever.  If I run `make -n` instead, all the commands that it's running are just cmake commands.\r\n\r\nThoughts?"},"comment":{"url":"https://api.github.com/repos/include-what-you-use/include-what-you-use/issues/comments/291583813","html_url":"https://github.com/include-what-you-use/include-what-you-use/issues/419#issuecomment-291583813","issue_url":"https://api.github.com/repos/include-what-you-use/include-what-you-use/issues/419","id":291583813,"user":{"login":"kimgr","id":169074,"avatar_url":"https://avatars3.githubusercontent.com/u/169074?v=3","gravatar_id":"","url":"https://api.github.com/users/kimgr","html_url":"https://github.com/kimgr","followers_url":"https://api.github.com/users/kimgr/followers","following_url":"https://api.github.com/users/kimgr/following{/other_user}","gists_url":"https://api.github.com/users/kimgr/gists{/gist_id}","starred_url":"https://api.github.com/users/kimgr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kimgr/subscriptions","organizations_url":"https://api.github.com/users/kimgr/orgs","repos_url":"https://api.github.com/users/kimgr/repos","events_url":"https://api.github.com/users/kimgr/events{/privacy}","received_events_url":"https://api.github.com/users/kimgr/received_events","type":"User","site_admin":false},"created_at":"2017-04-04T18:05:36Z","updated_at":"2017-04-04T18:05:36Z","body":"As it happens, that's exactly what it does :-)"}}
{"actor":{"display_login":"kimgr"}}