<div dir="ltr">Sorry, my bad, just noticed it won't work anyway because getopt.h is in some public header so any project including it won't work.<div>I will go back to my previous way of doing (I changed it right before the patch during cleanup), so two options:</div>

<div><br></div><div>(1) In five different locations:</div><div>#ifdef _MSC_VER</div><div>#include "lldb/Host/msvc/getopt.h"</div><div>#else</div><div>#include <getopt.h></div><div>#endif</div><div><br></div>

<div>(2) I do a lldb/lldb-getopt.h</div><div><br></div><div>I suppose (1) is better?</div><div>Anyway, I attach a fixed patch for version (1) in the meantime.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Wed, Aug 28, 2013 at 10:53 PM, Virgile Bello <span dir="ltr"><<a href="mailto:virgile.bello@gmail.com" target="_blank">virgile.bello@gmail.com</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">Hello,<div><br></div><div>Here is the tentative patch for MSVC12 support. Actually much smaller than MinGW32 one (1/3).</div><div>Need some improvements/reviews. Some points that might need some discussion:</div>




<div><br></div><div>* getopt.h doesn't exist. Also, current inttypes.h doesn't work well (should be fixed in final release so it will be removed later).</div><div>As a result, I added a folder include/msvc that can override some system include.</div>




<div>I wanted to make sure it was OK to do so? If yes, is this folder OK or somewhere else maybe?</div><div>Otherwise, I could always add lot of #ifdef around each <getopt.h> include, but that might be ugly.</div><div>




Note that MSVC11 might also need some more additional includes as well (need to check).</div><div><br></div><div>* Most of the other fixes are related to some subtle difference in templates instantiation, as well as friend class within namespace that needs forward declaration (cf CommandObjectBreakpointCommandAdd and CommandObjectProcessLaunch)..</div>




<div><br></div><div>* Also, I added backslash separator for paths in FileSpec.cpp (apply for MinGW32 as well).</div><div>I might commit this separately if the MSVC patch takes some time to be cleared out.</div><div><br></div>




<div>* Only thing left to fix before it compiles is a MinGW32/MSVC compilation error introduced yesterday by r189316 (otherwise it would probably have been enough).</div><div>It's due to windows.h and llvm/Support/COFF.h conflicting #define/enum. I hope to get this fixed in LLVM soon too.</div>




<div><br></div><div>* I think the only thing I didn't include is a few printf("%zx") in logging that needs to be fixed here and there (will be in a separate patch).</div><div><br></div><div>Compilation OK on Linux.</div>


<div><br></div><div>Thanks,</div><div>Virgile</div></div>
</blockquote></div><br></div>