Introducing the Platform Abstraction Layer (PAL)
authormmaxfield@apple.com <mmaxfield@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 6 May 2015 20:32:42 +0000 (20:32 +0000)
committermmaxfield@apple.com <mmaxfield@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 6 May 2015 20:32:42 +0000 (20:32 +0000)
commit1b627945eee10a05efb37ad202e8295bfacf8c1b
tree056caae5b26a7ec2de481571f3092b86bd24de66
parentb2bfe24bc1b6a10281febdcfa0e4da6f59402bf6
Introducing the Platform Abstraction Layer (PAL)
https://bugs.webkit.org/show_bug.cgi?id=143358

Reviewed by Simon Fraser.

.:

* WebKit.xcworkspace/contents.xcworkspacedata: Add it to the workspace.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Updated

Source/PAL:

Introduce a new top-level folder and static library. This is intended to be
the destination for code that currently resides in WebCore/platform. Code
will be moved from that folder into PAL file by file. Separating this
platform code into its own static library enforces layering, as well as
encourages/aids unit testing of this platform code.

This commit only creates a single symbol which is not required to build
WebKit. The reason for this is so that we can get all build issues ironed
out before requiring PAL.

For more information, see
https://lists.webkit.org/pipermail/webkit-dev/2015-March/027303.html

* PAL.xcodeproj/project.pbxproj: Added.
* Makefile: Added. Standard Makefile.
* config.h: Added. Standard header.
* PALPrefix.h: Added. Copied from WebCore.
* graphics/Foo.h: Added. Header.
* graphics/Foo.cpp: Added.
(foo): Placeholder symbol.
* Configurations/Base.xcconfig: Added. Standard config files
* Configurations/DebugRelease.xcconfig: Added. Standard config files
* Configurations/PAL.xcconfig: Added. Standard config files

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj: Let the project know about the .a
* Configurations/FeatureDefines.xcconfig: Updated

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Updated

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Updated

Tools:

* Scripts/build-webkit: Add it to build-webkit.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@183883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
24 files changed:
ChangeLog
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
Source/PAL/ChangeLog [new file with mode: 0644]
Source/PAL/Configurations/Base.xcconfig [new file with mode: 0644]
Source/PAL/Configurations/DebugRelease.xcconfig [new file with mode: 0644]
Source/PAL/Configurations/FeatureDefines.xcconfig [new file with mode: 0644]
Source/PAL/Configurations/PAL.xcconfig [new file with mode: 0644]
Source/PAL/Makefile [new file with mode: 0644]
Source/PAL/PAL.xcodeproj/project.pbxproj [new file with mode: 0644]
Source/PAL/PALPrefix.h [new file with mode: 0644]
Source/PAL/config.h [new file with mode: 0644]
Source/PAL/graphics/Foo.cpp [new file with mode: 0644]
Source/PAL/graphics/Foo.h [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
Source/WebKit2/ChangeLog
Source/WebKit2/Configurations/FeatureDefines.xcconfig
Tools/ChangeLog
Tools/Scripts/build-webkit
WebKit.xcworkspace/contents.xcworkspacedata