<div dir="ltr">On Thu, May 5, 2016 at 5:26 PM, Joe Groff via swift-dev <span dir="ltr">&lt;<a href="mailto:swift-dev@swift.org" target="_blank">swift-dev@swift.org</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><br>
&gt; On May 5, 2016, at 4:18 PM, Sangjin Han via swift-dev &lt;<a href="mailto:swift-dev@swift.org">swift-dev@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt; Hi,<br>
&gt;<br>
&gt; I made an experimental MSVC port. Of cause, dllimport/dllexport and the driver for linking and many other part is not implemented. But dynamic linking was possible with some trick.<br>
&gt;<br>
&gt; I think it is useful for designing, my observation about the experimental building of libswiftCore.dll, libswiftSwiftOnoneSupport.dll and linking of Hello.exe - its source has only &#39;print(&quot;Hello&quot;)&#39;.<br>
&gt;<br>
&gt; 1) SWIFT_RUNTIME_EXPORT was not enough for dllexport.<br>
&gt;   Hello.obj needed defined in libswift*.dll<br>
&gt;     _swift_getExistentialTypeMetadata,<br>
&gt;     _TFs5printFTGSaP__9separatorSS10terminatorSS_T_,<br>
&gt;     _TMSS,<br>
&gt;     _TZvOs7Process5_argcVs5Int32,<br>
&gt;     swift_bufferAllocate, ....<br>
&gt;   Some of above are dllexported by the macro, but _T* are not. Maybe, it generated by swiftc.exe.<br>
&gt;   I used the utility &#39;dlltool.exe&#39; from Cygwin/MinGW world. It extracts all symbols and generates &#39;allsymbol.def&#39;.<br>
&gt;   With that .def, I could build the all-symbol-dllexported libswiftCore.dll.<br>
&gt;   (I&#39;m hoping we can build it without this trick.)<br>
<br>
</span>The _T symbols are emitted by the Swift compiler. You should modify swiftc&#39;s IRGen to generate public symbols with LLVM&#39;s &quot;dllexport&quot; storage class when targeting Windows.</blockquote><div><br></div><div><a href="https://github.com/apple/swift/pull/2080">https://github.com/apple/swift/pull/2080</a> is a first cut attempt to do this.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><font color="#888888"><br>
-Joe<br>
</font></span><div class=""><div class="h5">_______________________________________________<br>
swift-dev mailing list<br>
<a href="mailto:swift-dev@swift.org">swift-dev@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-dev" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Saleem Abdulrasool<br>compnerd (at) compnerd (dot) org</div>
</div></div>