Thanks for explanation, Zachary. We’ve fixed the buildbots in a different way, 
so I’ll discard this patch.

> On Nov 2, 2017, at 16:06, Zachary Turner <ztur...@google.com> wrote:
> 
> 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 
> <mailto:vsap...@apple.com>> wrote:
> On Nov 1, 2017, at 17:22, Zachary Turner <ztur...@google.com 
> <mailto:ztur...@google.com>> wrote:
>> 
>> 
>> 
>> On Wed, Nov 1, 2017 at 5:13 PM Volodymyr Sapsai <vsap...@apple.com 
>> <mailto:vsap...@apple.com>> wrote:
>> On Nov 1, 2017, at 16:47, Zachary Turner <ztur...@google.com 
>> <mailto: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 <http://lit.site/>.cfg.in 
> <http://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

Reply via email to