<div dir="ltr">Hi, <div><br></div><div>As I said to 

Zachary, the lua mailing list automagically replies to the mailing list and I forget to reply all sometimes. This is the messages forwarded on to the list.<br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>From: <strong class="gmail_sendername" dir="auto">Russell Haley</strong> <span dir="auto"><<a href="mailto:russ.haley@gmail.com">russ.haley@gmail.com</a>></span><br>Date: Sat, Jan 11, 2020 at 11:06 AM<br>Subject: Re: [cfe-dev] Hello CLang World!<br>To: Zachary Turner <<a href="mailto:zturner@roblox.com">zturner@roblox.com</a>><br></div><br><br><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jan 11, 2020 at 7:45 AM Zachary Turner <<a href="mailto:zturner@roblox.com" target="_blank">zturner@roblox.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div dir="auto">Well, a kid would just install VS and call it a day :)</div></div></div></blockquote><div><br></div><div>Yes, touche. Remember I'm full on triggered! None of what I'm doing makes much sense (ha ha). I guess this is a haphazard attempt to figure out *why* nobody else has created a C compiler for Windows. </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div dir="auto"><br></div><div dir="auto">If you’re feeling motivated, you could install everything you need (including VS), then manually extract out the necessary components, and package them up, then put that in some (private) github somewhere so whenever you need it, you just clone it and you’re good to go.</div></div></div></blockquote><div><br></div><div>I looked at that briefly the other day. I need to check about the licensing. The thought was distribute the clang compiler with header and lib files from the VS toolchain and just point them at the redistributable. As to your point below: that means no debug symbols or debug version to link to, no debugger and likely a bunch of other problems.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div dir="auto"><br></div><div dir="auto">That said, MinGW is — imho — trying to fit a square peg in a round hole.  If you want to have a good experience on Windows, you need to embrace the Windows way.  For example, if you build with MinGW, you won’t even be able to step through your program in a debugger. </div></div></blockquote><div><br></div><div>Yes, I agree. As we discuss this my envisioned toolset keeps getting less and less useful. 

My primary use case for all this is alongside LuaRocks to compile existing modules, but a debugger would  be nice... hello 20GB Visual Studio. Drat.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 10, 2020 at 11:49 PM Russell Haley <<a href="mailto:russ.haley@gmail.com" target="_blank">russ.haley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 10, 2020 at 10:41 PM Zachary Turner <<a href="mailto:zturner@roblox.com" target="_blank">zturner@roblox.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div dir="auto">Libc++ can get you a c++ standard library, but you’ll need a libc as well, and you have two options - Microsoft’s or MinGW.  using clang on Windows with MinGW is not a common combination so I don’t know what kind of issues you’ll run into.</div></div></blockquote><div>D'oh! I had assumed Libc++ included a C library. That's actually all I was interested in. </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><br></div><div dir="auto">If you just want to avoid paying money, then you don’t need to worry about that because VS Community Edition is free.  If it’s a principle thing a d you just want to use OSS for the whole stack, you might need to go with MinGW.</div></blockquote><div><br></div><div>

Don't get me wrong, I've used VS for almost 2 decades now for C# (and enjoy it).

Yes, the community edition is free and 20 GB.  Even the the free VC++ Build Tools - which I've used effectively to run Luarocks - is 4GB. I just can't believe that's necessary. My experience with setting up mingw has been horrible and I'm *nix fluent . How is some kid supposed to deal with that? Maybe I just botched it, I don't know. I also still don't know if I need a runtime distributable with mingw. </div><div><br></div><div>The thing that triggered me this time (and I'm full on SJW triggered) was when I tried the Embarcadero package. The clang based compiler and runtime are small - 194 MB. It only does Win32 and requires a runtime but I'm good with that! Dammit, I want to do that! I just want a C compiler on Windows.</div><div><br></div><div>I wonder if I can hack bsd libc...</div><div><br></div><div>Cheers,</div><div>Russ</div></div></div><div dir="ltr"><div class="gmail_quote"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 10, 2020 at 10:37 PM Russell Haley <<a href="mailto:russ.haley@gmail.com" target="_blank">russ.haley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 9, 2020 at 11:27 PM Zachary Turner <<a href="mailto:zturner@roblox.com" target="_blank">zturner@roblox.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 9, 2020 at 11:17 PM Russell Haley <<a href="mailto:russ.haley@gmail.com" target="_blank">russ.haley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 9, 2020 at 10:42 PM Zachary Turner <<a href="mailto:zturner@roblox.com" target="_blank">zturner@roblox.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">On Windows lib files are typically made with a tool called lib which ships with Visual Studio.  Unlike ar, which outputs .a files, lib outputs .lib files.</div></blockquote><div><br></div><div>Thank you! I'll start with that and change the make file. Is there an open source equivalent to lib? One that could be shipped by me and minus the few gigabytes of VS? I'll obviously google it after this, but I'll ask in case you or someone has a preference (or project?)</div></div></div></blockquote><div dir="auto">llvm includes a tool called llvm-lib which is command-line compatible with Microsoft’s lib.exe</div><div dir="auto"><br></div><div dir="auto">You can’t get by without installing visual studio at all though, because even if you use clang on Windows it still needs the MS headers and libraries which are installed via Visual Studio and the Windows SDK.</div></div></div></blockquote><div><br></div><div>I'm hoping libc++ can help out there? I see there is Visual Studio/Cmake build instructions. Lua modules are primarily written in C though so I think even that might be overkill (if viable). I read some of the documentation about turning off vcruntime compatability as well (of dubious relevance).  </div></div></div><div dir="ltr"><div class="gmail_quote"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="gmail_quote"><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><div><br></div><div>By the way my boys and I love roblox and your studio is a *great* Lua environment.</div></div></div></blockquote><div dir="auto">and more to come here soon :)</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div></div></div></blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>
</div>
</blockquote></div></div>
</div></div></div>