<div class="gmail_quote"><div>Thanks for your reply, Morrita!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For ports on approach "C", it doesn't matter which WebCore/JSC API is</blockquote>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
used from WebKit API layer because they are built in the same library.<br></blockquote><div><br></div><div>If you mean that nothing in WebCore/JSC needs to be annotated as exported then I don't think that's right, because libwebkit.so has various other libwebcore_*.a's linked into it.  </div>
<div>E.g. if I revert the change I made to JavaScriptCore/wtf/chromium/ChromiumThreading.h to *not* have ChromiumThreading be declared WTF_EXPORT, then the link of webkit_unit_tests fails because libwtf.a (JavaScriptCore/wtf/chromium/MainThreadChromium.cpp) contains a call to WTF::ChromiumThreading::callOnMainThread which is a hidden symbol in libwebkit.so (WebKit/chromium/src/ChromiumThreading.cpp).</div>

<div>Maybe I misunderstood your point?</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For JSC API, which "A" and "B" folks care about, there are two ways to<br>

export it.<br>
- For Windows port, there is JavaScriptCore.def.<br>
- For Mac (and WX?) port, there are macro-based annotations like<br>
JS_EXPORT, WTF_EXPORT_PRIVATE.<br>
I'm in the way to eliminate JavaScriptCore.def by replacing it with these annotations, but the migration isn't finished yet. (<a href="http://wkb.ug/76257" target="_blank">http://wkb.ug/76257</a>)<br></blockquote>
<div><br></div><div>Yay.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For WebCore API, we only need to care about <a href="http://WebCore.exp.in" target="_blank">WebCore.exp.in</a> because Mac<br>

port is the only one which follows "A" pattern. (I remember Windows<br>
port used to use this pattern. But it looks no longer the case. Maybe<br>
they changed the way when they switched to WebKit2. But my memory<br>
might be just wrong...)<br></blockquote><div><br></div><div>I'm curious whether you have plans (or know of others' plans) to replace <a href="http://WebCore.exp.in">WebCore.exp.in</a> in favor of macros, like you did in <a href="http://webk.it/72854">http://webk.it/72854</a> for JavaScriptCore.exp.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">My personal preference is to introduce WebCore version of export<br>
macros like WK_EXPORT_PRIVATE. In this way, we could use it to get rid<br>
of <a href="http://WebCore.exp.in" target="_blank">WebCore.exp.in</a> in the future.<br></blockquote><div><br></div><div>Isn't that what <a href="http://cs/#chrome/src/third_party/WebKit/Source/WebCore/platform/PlatformExportMacros.h&q=file:WebCore/platform/PlatformExportMacros.h%20WEBKIT_EXPORTDATA&l=39">WEBKIT_EXPORTDATA</a> already is?  (contrary to the macro's name, it lives in WebCore; perhaps it is trickier than I realize and somehow only applies to WebKit code even though it lives in WebCore?  Or maybe it just needs to be renamed?)</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yet another approach could be just giving up to have the unit test as a<br>
separate binary and build it into the library for non-prod<br>
configuration. The last one seems exactly what you are trying to avoid<br>
though... </blockquote><div><br></div><div>Right; linking test code into the main library is what HEAD does now.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Anyway, I'd like to hear thoughts from other folks.<br></blockquote><div><br></div><div>Me too.  As someone pointed out to me, others might be too busy with the git thread to  reply to this one :)</div><div><br></div>
<div>Cheers,</div><div>-a</div></div>