Yes that is the reason. But in a way it is more than that, because if those variables aren't available to lit.cfg, then test suite won't work. lit *must* be able to find a site config.
There are three ways to get around this: 1) When you run lit.py, pass it a directory to your build tree. Then it points right to the site config, and everything works. The disadvantage to this method is that you might want to just run test, i.e. point lit to a single file in your source tree. You can't do that with this method. 2) pass param=libcxx_site_config=<path-to-site-config> to lit. This is cumbersome and a lot of typing. It might also not work 100% like you expect when used in conjunction with pointing to a single file in source tree. I don't know, I haven't really tested it. 3) use the generated llvm-lit script. This embeds the mapping from source tree site config -> build tree site config in the script, so that instead of `lit <path-to-test>` you run `llvm-lit <path-to-test>`. This way, we can detect that that you are pointing into the source tree, translate that to the build tree, and then load the proper site config automatically. On Thu, Nov 2, 2017 at 3:44 PM Volodymyr Sapsai <vsap...@apple.com> wrote: > On Nov 1, 2017, at 17:22, Zachary Turner <ztur...@google.com> wrote: > > > > > On Wed, Nov 1, 2017 at 5:13 PM Volodymyr Sapsai <vsap...@apple.com> wrote: > >> On Nov 1, 2017, at 16:47, Zachary Turner <ztur...@google.com> wrote: >> >> >> This will remove the ability to use llvm-lit script even if source tree >> is available. >> >> Can you please point me to the place where llvm-lit is enabled in >> configure_lit_site_cfg? Asking for my education, to understand lit >> configuration better and to avoid breaking it. And how do you test llvm-lit >> script if source tree is available? I tried to check out libcxx to >> llvm/projects/, `ninja check-libcxx` worked fine. Though I didn’t use extra >> options, so this case might not reflect real-world usage. >> > > configure_lit_site_cfg doesn't actually enable llvm-lit generation, but if > llvm-lit generation is already enabled, then using configure_lit_site_cfg > will cause additional information to be written to the generated llvm-lit > script so that you can use bin/llvm-lit <path-to-source-tree>. > > I think all you need to do is say: > > if (LIBCXX_STANDALONE_BUILD) > configure_file(... > else() > configure_lit_site_cfg(... > endif() > > If this doesn't work for some reason though, or is too much effort, I'm > not opposed to your original patch, since I think llvm-lit script > generation is unconditionally disabled for libcxx right now anyway. > > > > Thanks, now I see that with my change in llvm-lit there is no mapping in > config_map for libcxx/test/lit.cfg What is the purpose of this mapping? Is > it only to make variables from lit.site.cfg.in expanded during > configuration available to lit.cfg? Or are there some other use cases? >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits