[Qt][Win] Fix broken QtWebKit5.lib linking
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Jul 2012 13:43:13 +0000 (13:43 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Jul 2012 13:43:13 +0000 (13:43 +0000)
commit337179ab7d11df3316edb2e2f6dc02dbcd041330
tree5296fda9f693c0984c33d50ce173ca2a2da1c54b
parent54f4c3039a19201c79bceba3a0323e94e7dbcfb1
[Qt][Win] Fix broken QtWebKit5.lib linking
https://bugs.webkit.org/show_bug.cgi?id=88321

Patch by Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>  Joel Dillon <joel.dillon@codethink.co.uk> on 2012-07-03
Reviewed by Kenneth Rohde Christiansen.

Source/JavaScriptCore:

The goal is to have different ports build systems define STATICALLY_LINKED_WITH_WTF
when building JavaScriptCore, if both are packaged in the same DLL, instead
of relying on the code to handle this.
The effects of BUILDING_* and STATICALLY_LINKED_WITH_* are currently the same
except for a check in Source/JavaScriptCore/config.h.

Keeping the old way for the WX port as requested by the port's contributors.
For non-Windows ports there is no difference between IMPORT and EXPORT, no
change is needed.

* API/JSBase.h:
  JS symbols shouldn't be included by WTF objects anymore. Remove the export when BUILDING_WTF.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
  Make sure that JavaScriptCore uses import symbols of WTF for the Win port.
* runtime/JSExportMacros.h:

Source/WebCore:

* platform/PlatformExportMacros.h:

Source/WTF:

Instead of letting a module's headers know which other modules depend on them,
have depending modules define explicitely that they want its symbols exported too.

JavaScriptCore should then be compiled with both BUILDING_JavaScriptCore and
STATICALLY_LINKED_WITH_WTF.

* wtf/ExportMacros.h:

Tools:

On windows the import/export definition is part of the symbol's signature.
Define STATICALLY_LINKED_WITH_$$library for each dependend module
that is being linked statically to make sure that they can be linked together
later on.

Also do not compile Assertions.cpp in DumpRenderTree anymore since all the
used symbols are exported and it would cause a duplicate symbols error.

* DumpRenderTree/qt/DumpRenderTree.pro:
* qmake/mkspecs/features/default_post.prf:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/API/JSBase.h
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops
Source/JavaScriptCore/runtime/JSExportMacros.h
Source/WTF/ChangeLog
Source/WTF/wtf/ExportMacros.h
Source/WebCore/ChangeLog
Source/WebCore/platform/PlatformExportMacros.h
Tools/ChangeLog
Tools/DumpRenderTree/qt/DumpRenderTree.pro
Tools/qmake/mkspecs/features/default_post.prf