<div dir="ltr">Honestly I don't know if I would recommend using libOption or cl::opt if you're making a new tool with a new command line interface.<div><br></div><div>libOption evolved out of Clang, and its primary goal was to parse GCC-style command lines, which don't follow the rules of cl::opt. We reused it for LLD since it has similar parsing issues, but if you don't have those challenges, it's kind of heavyweight. Oh, and our usage of it is generally O(n^2) in the command line length, because finding the last flag is linear (<a href="https://llvm.org/bugs/show_bug.cgi?id=20999">https://llvm.org/bugs/show_bug.cgi?id=20999</a>).</div><div><br></div><div>cl::opt encourages global options, which has been a mixed blessing and curse.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 19, 2016 at 5:47 AM, Russell Wallace via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I'm given to understand that the recommendation these days is to use libOption instead of cl::opt, on the grounds that it has a number of advantages including more control of which options are made available.<div><br></div><div>Is there any information available on how to use libOption, any documentation or example programs? Do any existing programs use it except the clang driver programs? Those customise their commandline handling heavily enough that it's hard to use them as examples.</div></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div>