aboutsummaryrefslogtreecommitdiffstats
path: root/gyp
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2012-01-18 08:56:56 -0500
committerDerek Sollenberger <derek@android.com>2012-02-06 14:14:40 -0500
commit1cab2921ab279367f8206cdadc9259d12e603548 (patch)
tree2852f9dc2481f639122e18fc7831ae6ca43d6d5a /gyp
parentd7176fd5571bc9878d3cdac8696eaa35ec170d9d (diff)
downloadexternal_skia-1cab2921ab279367f8206cdadc9259d12e603548.zip
external_skia-1cab2921ab279367f8206cdadc9259d12e603548.tar.gz
external_skia-1cab2921ab279367f8206cdadc9259d12e603548.tar.bz2
Skia merge (revision 3022)
This CL has companion changes to account for API updates in... (1) frameworks/base (2) external/webkit Change-Id: Ibb989e76e8bd24313849f9631dbef42cdef9eb7d
Diffstat (limited to 'gyp')
-rw-r--r--gyp/FileReaderApp.gyp78
-rw-r--r--gyp/SampleApp.gyp281
-rw-r--r--gyp/SimpleCocoaApp.gyp65
-rw-r--r--gyp/all.gyp41
-rw-r--r--gyp/android_system.gyp21
-rw-r--r--gyp/animator.gyp193
-rw-r--r--gyp/apptype_console.gypi21
-rw-r--r--gyp/bench.gyp36
-rw-r--r--gyp/bench.gypi71
-rw-r--r--gyp/common.gypi70
-rw-r--r--gyp/common_conditions.gypi212
-rw-r--r--gyp/common_variables.gypi25
-rw-r--r--gyp/core.gyp327
-rw-r--r--gyp/effects.gyp92
-rw-r--r--gyp/experimental.gyp31
-rw-r--r--gyp/freetype.gyp69
-rw-r--r--gyp/gm.gyp44
-rw-r--r--gyp/gmslides.gypi55
-rw-r--r--gyp/gpu.gyp356
-rw-r--r--gyp/iOSSampleApp.gyp279
-rw-r--r--gyp/images.gyp149
-rw-r--r--gyp/libtess.gyp59
-rw-r--r--gyp/opts.gyp81
-rw-r--r--gyp/pdf.gyp66
-rw-r--r--gyp/ports.gyp114
-rw-r--r--gyp/svg.gyp91
-rw-r--r--gyp/tests.gyp95
-rw-r--r--gyp/tools.gyp73
-rw-r--r--gyp/utils.gyp161
-rw-r--r--gyp/views.gyp118
-rw-r--r--gyp/xml.gyp58
-rw-r--r--gyp/xps.gyp67
-rw-r--r--gyp/zlib.gyp40
33 files changed, 3539 insertions, 0 deletions
diff --git a/gyp/FileReaderApp.gyp b/gyp/FileReaderApp.gyp
new file mode 100644
index 0000000..c5651c7
--- /dev/null
+++ b/gyp/FileReaderApp.gyp
@@ -0,0 +1,78 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'FileReaderApp',
+ 'type': 'executable',
+ 'mac_bundle' : 1,
+
+ 'include_dirs' : [
+ '../include/pipe',
+ '../experimental/FileReaderApp',
+ '../experimental/SimpleCocoaApp',
+ ],
+ 'sources': [
+ '../experimental/FileReaderApp/ReaderView.cpp',
+ '../src/pipe/SkGPipeRead.cpp',
+ ],
+ 'sources!': [
+ '../src/utils/mac/SkOSWindow_Mac.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'effects.gyp:effects',
+ 'opts.gyp:opts',
+ 'ports.gyp:ports',
+ 'utils.gyp:utils',
+ 'views.gyp:views',
+ 'xml.gyp:xml',
+ ],
+ 'conditions' : [
+ # Only supports Mac currently
+ ['skia_os == "mac"', {
+ 'sources': [
+ '../experimental/SimpleCocoaApp/SkNSWindow.mm',
+ '../experimental/SimpleCocoaApp/SkNSView.mm',
+ '../experimental/FileReaderApp/FileReaderApp-Info.plist',
+ '../experimental/FileReaderApp/FileReaderAppDelegate.mm',
+ '../experimental/FileReaderApp/FileReaderApp_Prefix.pch',
+ '../experimental/FileReaderApp/FileReaderWindow.mm',
+ '../experimental/FileReaderApp/main.m',
+ '../include/utils/mac/SkCGUtils.h',
+ '../src/utils/mac/SkCreateCGImageRef.cpp',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
+ '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
+ '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
+ '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
+ ],
+ 'libraries!': [
+ # Currently skia mac apps rely on Carbon and AGL for UI. Future
+ # apps should use Cocoa instead and dependencies on Carbon and AGL
+ # should eventually be removed
+ '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
+ '$(SDKROOT)/System/Library/Frameworks/AGL.framework',
+ ],
+ },
+ 'xcode_settings' : {
+ 'INFOPLIST_FILE' : '../experimental/FileReaderApp/FileReaderApp-Info.plist',
+ },
+ 'mac_bundle_resources' : [
+ '../experimental/FileReaderApp/English.lproj/InfoPlist.strings',
+ '../experimental/FileReaderApp/English.lproj/MainMenu.xib',
+ ],
+ }],
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/SampleApp.gyp b/gyp/SampleApp.gyp
new file mode 100644
index 0000000..fed4bf4
--- /dev/null
+++ b/gyp/SampleApp.gyp
@@ -0,0 +1,281 @@
+
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'SampleApp',
+ 'type': 'executable',
+ 'mac_bundle' : 1,
+ 'include_dirs' : [
+ '../src/core', # needed to get SkConcaveToTriangle, maybe this should be moved to include dir?
+ '../gm', # needed to pull gm.h
+ '../include/pipe', # To pull in SkGPipe.h for pipe reader/writer
+ '../samplecode', # To pull SampleApp.h and SampleCode.h
+ ],
+ 'includes': [
+ 'gmslides.gypi',
+ ],
+ 'sources': [
+ '../gm/gm.cpp',
+ '../gm/gm.h',
+
+ '../samplecode/GMSampleView.h',
+ '../samplecode/ClockFaceView.cpp',
+ '../samplecode/OverView.cpp',
+ '../samplecode/Sample2PtRadial.cpp',
+ '../samplecode/SampleAAClip.cpp',
+ '../samplecode/SampleAAClip2.cpp',
+ '../samplecode/SampleAARects.cpp',
+ '../samplecode/SampleAARectModes.cpp',
+ '../samplecode/SampleAll.cpp',
+ '../samplecode/SampleAnimator.cpp',
+ '../samplecode/SampleApp.cpp',
+ '../samplecode/SampleArc.cpp',
+ '../samplecode/SampleAvoid.cpp',
+ '../samplecode/SampleBigBlur.cpp',
+ '../samplecode/SampleBigGradient.cpp',
+ '../samplecode/SampleBitmapRect.cpp',
+ '../samplecode/SampleBlur.cpp',
+ '../samplecode/SampleCamera.cpp',
+ '../samplecode/SampleCircle.cpp',
+ '../samplecode/SampleClip.cpp',
+ '../samplecode/SampleCode.h',
+ '../samplecode/SampleColorFilter.cpp',
+ '../samplecode/SampleComplexClip.cpp',
+ '../samplecode/SampleConcavePaths.cpp',
+ '../samplecode/SampleCull.cpp',
+ '../samplecode/SampleDecode.cpp',
+ '../samplecode/SampleDegenerateTwoPtRadials.cpp',
+ '../samplecode/SampleDither.cpp',
+ '../samplecode/SampleDitherBitmap.cpp',
+ '../samplecode/SampleDrawBitmap.cpp',
+ '../samplecode/SampleDrawLooper.cpp',
+ '../samplecode/SampleEffects.cpp',
+ '../samplecode/SampleEmboss.cpp',
+ '../samplecode/SampleEmptyPath.cpp',
+ '../samplecode/SampleEncode.cpp',
+ '../samplecode/SampleFillType.cpp',
+ '../samplecode/SampleFilter.cpp',
+ '../samplecode/SampleFilter2.cpp',
+ '../samplecode/SampleFontCache.cpp',
+ '../samplecode/SampleFontScalerTest.cpp',
+ '../samplecode/SampleFuzz.cpp',
+ '../samplecode/SampleGradients.cpp',
+ '../samplecode/SampleHairCurves.cpp',
+ '../samplecode/SampleHairline.cpp',
+ '../samplecode/SampleHairModes.cpp',
+ '../samplecode/SampleImage.cpp',
+ '../samplecode/SampleImageDir.cpp',
+ '../samplecode/SampleLayerMask.cpp',
+ '../samplecode/SampleLayers.cpp',
+ '../samplecode/SampleLCD.cpp',
+ '../samplecode/SampleLineClipper.cpp',
+ '../samplecode/SampleLines.cpp',
+ '../samplecode/SampleMeasure.cpp',
+ '../samplecode/SampleMipMap.cpp',
+ '../samplecode/SampleMovie.cpp',
+ '../samplecode/SampleNinePatch.cpp',
+ '../samplecode/SampleOvalTest.cpp',
+ '../samplecode/SampleOverflow.cpp',
+ '../samplecode/SamplePageFlip.cpp',
+ '../samplecode/SamplePatch.cpp',
+ '../samplecode/SamplePath.cpp',
+ '../samplecode/SamplePathClip.cpp',
+ '../samplecode/SamplePathEffects.cpp',
+ '../samplecode/SamplePicture.cpp',
+ '../samplecode/SamplePoints.cpp',
+ '../samplecode/SamplePolyToPoly.cpp',
+ '../samplecode/SampleRegion.cpp',
+ '../samplecode/SampleRepeatTile.cpp',
+ '../samplecode/SampleShaders.cpp',
+ '../samplecode/SampleShaderText.cpp',
+ '../samplecode/SampleShapes.cpp',
+ '../samplecode/SampleSkLayer.cpp',
+ '../samplecode/SampleSlides.cpp',
+ '../samplecode/SampleStrokePath.cpp',
+ '../samplecode/SampleStrokeText.cpp',
+ '../samplecode/SampleTests.cpp',
+ '../samplecode/SampleText.cpp',
+ '../samplecode/SampleTextAlpha.cpp',
+ '../samplecode/SampleTextBox.cpp',
+ '../samplecode/SampleTextEffects.cpp',
+ '../samplecode/SampleTextOnPath.cpp',
+ '../samplecode/SampleTextureDomain.cpp',
+ '../samplecode/SampleTiling.cpp',
+ '../samplecode/SampleTinyBitmap.cpp',
+ '../samplecode/SampleTriangles.cpp',
+ '../samplecode/SampleTypeface.cpp',
+ '../samplecode/SampleUnitMapper.cpp',
+ '../samplecode/SampleVertices.cpp',
+ '../samplecode/SampleXfermodes.cpp',
+ '../samplecode/SampleXfermodesBlur.cpp',
+ '../samplecode/TransitionView.cpp',
+
+ # Dependencies for the pipe code in SampleApp
+ '../src/pipe/SkGPipeRead.cpp',
+ '../src/pipe/SkGPipeWrite.cpp',
+
+ # DrawingBoard
+ #'../experimental/DrawingBoard/SkColorPalette.h',
+ #'../experimental/DrawingBoard/SkColorPalette.cpp',
+ #'../experimental/DrawingBoard/SkNetPipeController.h',
+ #'../experimental/DrawingBoard/SkNetPipeController.cpp',
+ #'../experimental/DrawingBoard/SampleDrawingClient.cpp',
+ #'../experimental/DrawingBoard/SampleDrawingServer.cpp',
+
+ # Networking
+ #'../experimental/Networking/SampleNetPipeReader.cpp',
+ #'../experimental/Networking/SkSockets.cpp',
+ #'../experimental/Networking/SkSockets.h',
+
+ # Debugger
+ '../experimental/Debugger/DebuggerViews.h',
+ '../experimental/Debugger/DebuggerContentView.cpp',
+ '../experimental/Debugger/DebuggerCommandsView.cpp',
+ '../experimental/Debugger/DebuggerStateView.cpp',
+ '../experimental/Debugger/SkDebugDumper.cpp',
+ '../experimental/Debugger/SkDebugDumper.h',
+ ],
+ 'sources!': [
+ '../samplecode/SampleSkLayer.cpp', #relies on SkMatrix44 which doesn't compile
+ '../samplecode/SampleTests.cpp', #includes unknown file SkShaderExtras.h
+ '../samplecode/SampleWarp.cpp',
+ '../samplecode/SampleFontCache.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'effects.gyp:effects',
+ 'images.gyp:images',
+ 'ports.gyp:ports',
+ 'views.gyp:views',
+ 'utils.gyp:utils',
+ 'animator.gyp:animator',
+ 'xml.gyp:xml',
+ 'svg.gyp:svg',
+ 'experimental.gyp:experimental',
+ 'gpu.gyp:gr',
+ 'gpu.gyp:skgr',
+ 'pdf.gyp:pdf',
+ ],
+ 'conditions' : [
+ [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
+ 'sources!': [
+ '../samplecode/SampleDecode.cpp',
+ ],
+ }],
+ [ 'skia_os == "win"', {
+ 'sources!': [
+ # require UNIX functions
+ '../samplecode/SampleEncode.cpp',
+ '../samplecode/SamplePageFlip.cpp',
+ ],
+ }],
+ [ 'skia_os == "mac"', {
+ 'sources!': [
+ '../samplecode/SampleDecode.cpp',
+ ],
+ 'sources': [
+ # Sample App specific files
+ '../src/utils/mac/SampleApp-Info.plist',
+ '../src/utils/mac/SampleAppDelegate.h',
+ '../src/utils/mac/SampleAppDelegate.mm',
+ '../src/utils/mac/SkSampleNSView.h',
+ '../src/utils/mac/SkSampleNSView.mm',
+
+ # Mac files
+ '../src/utils/mac/SkEventNotifier.h',
+ '../src/utils/mac/SkEventNotifier.mm',
+ '../src/utils/mac/skia_mac.mm',
+ '../src/utils/mac/SkNSView.h',
+ '../src/utils/mac/SkNSView.mm',
+ '../src/utils/mac/SkOptionsTableView.h',
+ '../src/utils/mac/SkOptionsTableView.mm',
+ '../src/utils/mac/SkOSWindow_Mac.mm',
+ '../src/utils/mac/SkTextFieldCell.h',
+ '../src/utils/mac/SkTextFieldCell.m',
+ ],
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
+ '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
+ ],
+ 'xcode_settings' : {
+ 'INFOPLIST_FILE' : '../src/utils/mac/SampleApp-Info.plist',
+ },
+ 'mac_bundle_resources' : [
+ '../src/utils/mac/SampleApp.xib',
+ ],
+ }],
+ [ 'skia_os == "ios"', {
+ # TODO: This doesn't build properly yet, but it's getting there.
+ 'sources!': [
+ '../samplecode/SampleDecode.cpp',
+ ],
+ 'sources': [
+ '../experimental/iOSSampleApp/SkIOSNotifier.mm',
+ '../experimental/iOSSampleApp/SkTime_iOS.mm',
+ '../experimental/iOSSampleApp/SkUIDetailViewController.mm',
+ '../experimental/iOSSampleApp/SkUIRootViewController.mm',
+ '../experimental/iOSSampleApp/SkUIView_shell.mm',
+
+ '../experimental/iOSSampleApp/iOSSampleApp_Prefix.pch',
+ '../experimental/iOSSampleApp/Shared/main.m',
+ '../experimental/iOSSampleApp/iPad/AppDelegate_iPad.mm',
+ '../experimental/iOSSampleApp/iPad/SkUISplitViewController.mm',
+ '../experimental/iOSSampleApp/iPhone/AppDelegate_iPhone.mm',
+ '../experimental/iOSSampleApp/iPhone/SkUINavigationController.mm',
+
+ '../src/utils/ios/SkOSWindow_iOS.mm',
+ '../src/utils/ios/SkImageDecoder_iOS.mm',
+ '../src/utils/ios/SkStream_NSData.mm',
+ '../src/utils/ios/SkOSFile_iOS.mm',
+
+ '../src/utils/mac/SkCreateCGImageRef.cpp',
+ '../experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig',
+ '../experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig',
+ ],
+ 'include_dirs' : [
+ '../experimental/iOSSampleApp',
+ '../experimental/iOSSampleApp/iPad',
+ '../experimental/iOSSampleApp/iPhone',
+ '../include/utils/ios',
+ '../../include/gpu',
+ ],
+ 'xcode_config_file': '../experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig',
+ 'mac_bundle_resources' : [
+ '../experimental/iOSSampleApp/iPad/MainWindow_iPad.xib',
+ '../experimental/iOSSampleApp/iPhone/MainWindow_iPhone.xib',
+ ],
+ }],
+ [ 'skia_os == "android"', {
+ 'sources!': [
+ '../samplecode/SampleAnimator.cpp',
+ '../samplecode/SampleUnitMapper.cpp',
+ ],
+ 'dependencies!': [
+ 'animator.gyp:animator',
+ 'experimental.gyp:experimental',
+ ],
+ 'dependencies': [
+ 'android_system.gyp:sampleApp',
+ ],
+ }],
+ ],
+ 'msvs_settings': {
+ 'VCLinkerTool': {
+ 'SubSystem': '2',
+ 'AdditionalDependencies': [
+ 'd3d9.lib',
+ ],
+ },
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/SimpleCocoaApp.gyp b/gyp/SimpleCocoaApp.gyp
new file mode 100644
index 0000000..ed35d54
--- /dev/null
+++ b/gyp/SimpleCocoaApp.gyp
@@ -0,0 +1,65 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'SimpleCocoaApp',
+ 'type': 'executable',
+ 'mac_bundle' : 1,
+ 'include_dirs' : [
+ '../experimental/SimpleCocoaApp/',
+ ],
+ 'sources': [
+ '../src/utils/mac/SkEventNotifier.h',
+ '../src/utils/mac/SkEventNotifier.mm',
+ '../src/utils/mac/skia_mac.mm',
+ '../src/utils/mac/SkNSView.h',
+ '../src/utils/mac/SkNSView.mm',
+ '../src/utils/mac/SkOptionsTableView.h',
+ '../src/utils/mac/SkOptionsTableView.mm',
+ '../src/utils/mac/SkOSWindow_Mac.mm',
+ '../src/utils/mac/SkTextFieldCell.h',
+ '../src/utils/mac/SkTextFieldCell.m',
+
+ '../experimental/SimpleCocoaApp/SimpleApp-Info.plist',
+ '../experimental/SimpleCocoaApp/SimpleApp.h',
+ '../experimental/SimpleCocoaApp/SimpleApp.mm',
+
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'opts.gyp:opts',
+ 'utils.gyp:utils',
+ 'views.gyp:views',
+ 'xml.gyp:xml',
+ ],
+ 'conditions' : [
+ # Only supports Mac currently
+ [ 'skia_os == "mac"', {
+ 'sources': [
+ '../include/utils/mac/SkCGUtils.h',
+ '../src/utils/mac/SkCreateCGImageRef.cpp',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
+ ],
+ },
+ 'xcode_settings' : {
+ 'INFOPLIST_FILE' : '../experimental/SimpleCocoaApp/SimpleApp-Info.plist',
+ },
+ 'mac_bundle_resources' : [
+ '../experimental/SimpleCocoaApp/SimpleApp.xib',
+ ],
+ }],
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/all.gyp b/gyp/all.gyp
new file mode 100644
index 0000000..37844bb
--- /dev/null
+++ b/gyp/all.gyp
@@ -0,0 +1,41 @@
+# Creates a Makefile that is capable of building all executable targets.
+#
+# To build on Linux:
+# ./gyp_skia && make all
+#
+# Building on other platforms not tested yet.
+#
+
+#
+#
+#
+#
+#
+# THIS IS DEPRECATED IN FAVOR OF trunk/skia.gyp !!!
+# Questions? Contact epoger@google.com
+#
+#
+#
+#
+
+{
+ 'targets': [
+ {
+ 'target_name': 'all',
+ 'type': 'none',
+ 'dependencies': [
+ 'bench.gyp:bench',
+ 'gm.gyp:gm',
+ 'SampleApp.gyp:SampleApp',
+ 'tests.gyp:tests',
+ 'tools.gyp:tools',
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/android_system.gyp b/gyp/android_system.gyp
new file mode 100644
index 0000000..27a82f3
--- /dev/null
+++ b/gyp/android_system.gyp
@@ -0,0 +1,21 @@
+# This GYP file stores the dependencies necessary to build Skia on the Android
+# platform. The OS doesn't provide many stable libraries as part of the
+# distribution so we have to build a few of them ourselves.
+#
+# We tried adding this gyp file to the android directory at the root of
+# the Skia repo, but that resulted in the generated makefiles being created
+# outside of the intended output directory. So to avoid this we created a simple
+# shim here that includes the android_system.gypi file. The actual dependencies
+# are defined and maintained in that gypi file.
+#
+# Also this assumes that the android directory is a sibling to the directory
+# that contains your primary Skia checkout. If it is not then you must manually
+# edit the includes below to specify the actual location of the android.gypi.
+# This is due to the fact that we cannot use variables in an includes as the
+# variable expansion step for gyp happens after the includes are processed.
+{
+ 'includes': [
+ 'common.gypi',
+ '../../android/gyp/android.gypi',
+ ],
+} \ No newline at end of file
diff --git a/gyp/animator.gyp b/gyp/animator.gyp
new file mode 100644
index 0000000..fc61e71
--- /dev/null
+++ b/gyp/animator.gyp
@@ -0,0 +1,193 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'animator',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../include/effects',
+ '../include/animator',
+ '../include/views',
+ '../include/xml',
+ '../include/utils',
+ '../include/images',
+ ],
+ 'sources': [
+ '../include/animator/SkAnimator.h',
+ '../include/animator/SkAnimatorView.h',
+
+ '../src/animator/SkAnimate.h',
+ '../src/animator/SkAnimateActive.cpp',
+ '../src/animator/SkAnimateActive.h',
+ '../src/animator/SkAnimateBase.cpp',
+ '../src/animator/SkAnimateBase.h',
+ '../src/animator/SkAnimateField.cpp',
+ '../src/animator/SkAnimateMaker.cpp',
+ '../src/animator/SkAnimateMaker.h',
+ '../src/animator/SkAnimateProperties.h',
+ '../src/animator/SkAnimateSet.cpp',
+ '../src/animator/SkAnimateSet.h',
+ '../src/animator/SkAnimator.cpp',
+ '../src/animator/SkAnimatorScript.cpp',
+ '../src/animator/SkAnimatorScript.h',
+ #'../src/animator/SkAnimatorScript2.cpp', fails on windows
+ #'../src/animator/SkAnimatorScript2.h',
+ '../src/animator/SkBase64.cpp',
+ '../src/animator/SkBase64.h',
+ '../src/animator/SkBoundable.cpp',
+ '../src/animator/SkBoundable.h',
+ '../src/animator/SkBuildCondensedInfo.cpp',
+ #'../src/animator/SkCondensedDebug.cpp', fails on windows
+ #'../src/animator/SkCondensedRelease.cpp',
+ '../src/animator/SkDisplayable.cpp',
+ '../src/animator/SkDisplayable.h',
+ '../src/animator/SkDisplayAdd.cpp',
+ '../src/animator/SkDisplayAdd.h',
+ '../src/animator/SkDisplayApply.cpp',
+ '../src/animator/SkDisplayApply.h',
+ '../src/animator/SkDisplayBounds.cpp',
+ '../src/animator/SkDisplayBounds.h',
+ '../src/animator/SkDisplayEvent.cpp',
+ '../src/animator/SkDisplayEvent.h',
+ '../src/animator/SkDisplayEvents.cpp',
+ '../src/animator/SkDisplayEvents.h',
+ '../src/animator/SkDisplayInclude.cpp',
+ '../src/animator/SkDisplayInclude.h',
+ '../src/animator/SkDisplayInput.cpp',
+ '../src/animator/SkDisplayInput.h',
+ '../src/animator/SkDisplayList.cpp',
+ '../src/animator/SkDisplayList.h',
+ '../src/animator/SkDisplayMath.cpp',
+ '../src/animator/SkDisplayMath.h',
+ '../src/animator/SkDisplayMovie.cpp',
+ '../src/animator/SkDisplayMovie.h',
+ '../src/animator/SkDisplayNumber.cpp',
+ '../src/animator/SkDisplayNumber.h',
+ '../src/animator/SkDisplayPost.cpp',
+ '../src/animator/SkDisplayPost.h',
+ '../src/animator/SkDisplayRandom.cpp',
+ '../src/animator/SkDisplayRandom.h',
+ '../src/animator/SkDisplayScreenplay.cpp',
+ '../src/animator/SkDisplayScreenplay.h',
+ '../src/animator/SkDisplayType.cpp',
+ '../src/animator/SkDisplayType.h',
+ '../src/animator/SkDisplayTypes.cpp',
+ '../src/animator/SkDisplayTypes.h',
+ '../src/animator/SkDisplayXMLParser.cpp',
+ '../src/animator/SkDisplayXMLParser.h',
+ '../src/animator/SkDraw3D.cpp',
+ '../src/animator/SkDraw3D.h',
+ '../src/animator/SkDrawable.cpp',
+ '../src/animator/SkDrawable.h',
+ '../src/animator/SkDrawBitmap.cpp',
+ '../src/animator/SkDrawBitmap.h',
+ '../src/animator/SkDrawBlur.cpp',
+ '../src/animator/SkDrawBlur.h',
+ '../src/animator/SkDrawClip.cpp',
+ '../src/animator/SkDrawClip.h',
+ '../src/animator/SkDrawColor.cpp',
+ '../src/animator/SkDrawColor.h',
+ '../src/animator/SkDrawDash.cpp',
+ '../src/animator/SkDrawDash.h',
+ '../src/animator/SkDrawDiscrete.cpp',
+ '../src/animator/SkDrawDiscrete.h',
+ '../src/animator/SkDrawEmboss.cpp',
+ '../src/animator/SkDrawEmboss.h',
+ '../src/animator/SkDrawExtraPathEffect.cpp',
+ '../src/animator/SkDrawFull.cpp',
+ '../src/animator/SkDrawFull.h',
+ '../src/animator/SkDrawGradient.cpp',
+ '../src/animator/SkDrawGradient.h',
+ '../src/animator/SkDrawGroup.cpp',
+ '../src/animator/SkDrawGroup.h',
+ '../src/animator/SkDrawLine.cpp',
+ '../src/animator/SkDrawLine.h',
+ '../src/animator/SkDrawMatrix.cpp',
+ '../src/animator/SkDrawMatrix.h',
+ '../src/animator/SkDrawOval.cpp',
+ '../src/animator/SkDrawOval.h',
+ '../src/animator/SkDrawPaint.cpp',
+ '../src/animator/SkDrawPaint.h',
+ '../src/animator/SkDrawPath.cpp',
+ '../src/animator/SkDrawPath.h',
+ '../src/animator/SkDrawPoint.cpp',
+ '../src/animator/SkDrawPoint.h',
+ '../src/animator/SkDrawRectangle.cpp',
+ '../src/animator/SkDrawRectangle.h',
+ '../src/animator/SkDrawSaveLayer.cpp',
+ '../src/animator/SkDrawSaveLayer.h',
+ '../src/animator/SkDrawShader.cpp',
+ '../src/animator/SkDrawShader.h',
+ '../src/animator/SkDrawText.cpp',
+ '../src/animator/SkDrawText.h',
+ '../src/animator/SkDrawTextBox.cpp',
+ '../src/animator/SkDrawTextBox.h',
+ '../src/animator/SkDrawTo.cpp',
+ '../src/animator/SkDrawTo.h',
+ '../src/animator/SkDrawTransparentShader.cpp',
+ '../src/animator/SkDrawTransparentShader.h',
+ '../src/animator/SkDump.cpp',
+ '../src/animator/SkDump.h',
+ '../src/animator/SkExtras.h',
+ '../src/animator/SkGetCondensedInfo.cpp',
+ '../src/animator/SkHitClear.cpp',
+ '../src/animator/SkHitClear.h',
+ '../src/animator/SkHitTest.cpp',
+ '../src/animator/SkHitTest.h',
+ '../src/animator/SkIntArray.h',
+ '../src/animator/SkMatrixParts.cpp',
+ '../src/animator/SkMatrixParts.h',
+ '../src/animator/SkMemberInfo.cpp',
+ '../src/animator/SkMemberInfo.h',
+ '../src/animator/SkOpArray.cpp',
+ '../src/animator/SkOpArray.h',
+ '../src/animator/SkOperand.h',
+ '../src/animator/SkOperand2.h',
+ '../src/animator/SkOperandInterpolator.h',
+ '../src/animator/SkOperandIterpolator.cpp',
+ '../src/animator/SkPaintParts.cpp',
+ '../src/animator/SkPaintParts.h',
+ '../src/animator/SkParseSVGPath.cpp',
+ '../src/animator/SkPathParts.cpp',
+ '../src/animator/SkPathParts.h',
+ '../src/animator/SkPostParts.cpp',
+ '../src/animator/SkPostParts.h',
+ '../src/animator/SkScript.cpp',
+ '../src/animator/SkScript.h',
+ '../src/animator/SkScript2.h',
+ '../src/animator/SkScriptCallBack.h',
+ '../src/animator/SkScriptDecompile.cpp',
+ '../src/animator/SkScriptRuntime.cpp',
+ '../src/animator/SkScriptRuntime.h',
+ '../src/animator/SkScriptTokenizer.cpp',
+ '../src/animator/SkSnapshot.cpp',
+ '../src/animator/SkSnapshot.h',
+ '../src/animator/SkTDArray_Experimental.h',
+ '../src/animator/SkTextOnPath.cpp',
+ '../src/animator/SkTextOnPath.h',
+ '../src/animator/SkTextToPath.cpp',
+ '../src/animator/SkTextToPath.h',
+ '../src/animator/SkTime.cpp',
+ '../src/animator/SkTypedArray.cpp',
+ '../src/animator/SkTypedArray.h',
+ '../src/animator/SkXMLAnimatorWriter.cpp',
+ '../src/animator/SkXMLAnimatorWriter.h',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../include/animator',
+ ],
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/apptype_console.gypi b/gyp/apptype_console.gypi
new file mode 100644
index 0000000..f2f6e1c
--- /dev/null
+++ b/gyp/apptype_console.gypi
@@ -0,0 +1,21 @@
+# target_defaults used for executable targets that generate a console app
+{
+ 'target_defaults': {
+ 'msvs_settings': {
+ 'VCLinkerTool': {
+ #Allows for creation / output to console.
+ #Console (/SUBSYSTEM:CONSOLE)
+ 'SubSystem': '1',
+
+ #Console app, use main/wmain
+ 'EntryPointSymbol': 'mainCRTStartup',
+ },
+ },
+ },
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/bench.gyp b/gyp/bench.gyp
new file mode 100644
index 0000000..0c5e2ea
--- /dev/null
+++ b/gyp/bench.gyp
@@ -0,0 +1,36 @@
+# GYP file to build performance testbench.
+#
+{
+ 'includes': [
+ 'apptype_console.gypi',
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'bench',
+ 'type': 'executable',
+ 'include_dirs' : [
+ '../src/core',
+ '../src/gpu',
+ ],
+ 'includes': [
+ 'bench.gypi'
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'effects.gyp:effects',
+ 'gpu.gyp:gr',
+ 'gpu.gyp:skgr',
+ 'images.gyp:images',
+ 'ports.gyp:ports',
+ 'utils.gyp:utils',
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/bench.gypi b/gyp/bench.gypi
new file mode 100644
index 0000000..5fbfef7
--- /dev/null
+++ b/gyp/bench.gypi
@@ -0,0 +1,71 @@
+# sources and conditions used in skia's bench.gyp and chromium's skia.gyp
+#
+{
+ 'sources': [
+ '../bench/benchmain.cpp',
+ '../bench/BenchTimer.h',
+ '../bench/BenchTimer.cpp',
+ '../bench/BenchSysTimer_mach.h',
+ '../bench/BenchSysTimer_mach.cpp',
+ '../bench/BenchSysTimer_posix.h',
+ '../bench/BenchSysTimer_posix.cpp',
+ '../bench/BenchSysTimer_windows.h',
+ '../bench/BenchSysTimer_windows.cpp',
+ '../bench/BenchGpuTimer_gl.h',
+ '../bench/BenchGpuTimer_gl.cpp',
+
+ '../bench/SkBenchmark.h',
+ '../bench/SkBenchmark.cpp',
+
+ '../bench/AAClipBench.cpp',
+ '../bench/BitmapBench.cpp',
+ '../bench/BlurBench.cpp',
+ '../bench/ChromeBench.cpp',
+ '../bench/DecodeBench.cpp',
+ '../bench/FontScalerBench.cpp',
+ '../bench/GradientBench.cpp',
+ '../bench/MathBench.cpp',
+ '../bench/MatrixBench.cpp',
+ '../bench/MutexBench.cpp',
+ '../bench/PathBench.cpp',
+ '../bench/RectBench.cpp',
+ '../bench/RepeatTileBench.cpp',
+ '../bench/ScalarBench.cpp',
+ '../bench/ShaderMaskBench.cpp',
+ '../bench/TextBench.cpp',
+ '../bench/VertBench.cpp',
+ ],
+ 'conditions': [
+ [ 'skia_os != "mac"', {
+ 'sources!': [
+ '../bench/BenchSysTimer_mach.h',
+ '../bench/BenchSysTimer_mach.cpp',
+ ],
+ }],
+ [ 'skia_os not in ["linux", "freebsd", "openbsd", "solaris", "android"]', {
+ 'sources!': [
+ '../bench/BenchSysTimer_posix.h',
+ '../bench/BenchSysTimer_posix.cpp',
+ ],
+ }],
+ [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
+ 'link_settings': {
+ 'libraries': [
+ '-lrt',
+ ],
+ },
+ }],
+ [ 'skia_os != "win"', {
+ 'sources!': [
+ '../bench/BenchSysTimer_windows.h',
+ '../bench/BenchSysTimer_windows.cpp',
+ ],
+ }],
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/common.gypi b/gyp/common.gypi
new file mode 100644
index 0000000..30424de
--- /dev/null
+++ b/gyp/common.gypi
@@ -0,0 +1,70 @@
+# Copyright 2011 The Android Open Source Project
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+{
+ 'includes': [
+ 'common_variables.gypi',
+ ],
+ 'target_defaults': {
+
+ # Validate the 'skia_os' setting against 'OS', because only certain
+ # combinations work. You should only override 'skia_os' for certain
+ # situations, like building for iOS on a Mac.
+ 'variables': {
+ 'conditions': [
+ ['skia_os != OS and not (skia_os == "ios" and OS == "mac")',
+ {'error': '<!(Cannot build with skia_os=<(skia_os) on OS=<(OS))'}],
+ ['skia_mesa and skia_os not in ["mac", "linux"]',
+ {'error': '<!(skia_mesa=1 only supported with skia_os="mac" or "linux".)'}],
+ ],
+ },
+ 'includes': [
+ 'common_conditions.gypi'
+ ],
+ 'conditions': [
+ [ 'skia_scalar == "float"',
+ {
+ 'defines': [
+ 'SK_SCALAR_IS_FLOAT',
+ 'SK_CAN_USE_FLOAT',
+ ],
+ }, { # else, skia_scalar != "float"
+ 'defines': [
+ 'SK_SCALAR_IS_FIXED',
+ 'SK_CAN_USE_FLOAT', # we can still use floats along the way
+ ],
+ }
+ ],
+ [ 'skia_mesa', {
+ 'defines': [
+ 'SK_MESA',
+ ],
+ 'direct_dependent_settings': {
+ 'defines': [
+ 'SK_MESA',
+ ],
+ },
+ }],
+ ],
+ 'configurations': {
+ 'Debug': {
+ 'defines': [
+ 'SK_DEBUG',
+ 'GR_DEBUG=1',
+ ],
+ },
+ 'Release': {
+ 'defines': [
+ 'SK_RELEASE',
+ 'GR_RELEASE=1',
+ ],
+ },
+ },
+ }, # end 'target_defaults'
+}
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/common_conditions.gypi b/gyp/common_conditions.gypi
new file mode 100644
index 0000000..e18cbc1
--- /dev/null
+++ b/gyp/common_conditions.gypi
@@ -0,0 +1,212 @@
+# conditions used in both common.gypi and skia.gyp in chromium
+#
+{
+ 'conditions' : [
+
+ ['skia_os == "win"',
+ {
+ 'defines': [
+ 'SK_BUILD_FOR_WIN32',
+ 'SK_IGNORE_STDINT_DOT_H',
+ '_CRT_SECURE_NO_WARNINGS',
+ ],
+ 'msvs_cygwin_shell': 0,
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'WarningLevel': '1',
+ 'WarnAsError': 'false',
+ 'DebugInformationFormat': '3',
+ 'AdditionalOptions': [ '/MP' ],
+ },
+ 'VCLinkerTool': {
+ 'AdditionalDependencies': [
+ 'OpenGL32.lib',
+ 'usp10.lib',
+ ],
+ },
+ },
+ 'configurations': {
+ 'Debug': {
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'DebugInformationFormat': '4', # editAndContiue (/ZI)
+ 'ProgramDataBaseFileName': '$(OutDir)\\$(ProjectName).pdb',
+ 'Optimization': '0', # optimizeDisabled (/Od)
+ 'PreprocessorDefinitions': ['_DEBUG'],
+ 'RuntimeLibrary': '3', # rtMultiThreadedDebugDLL (/MDd)
+ 'ExceptionHandling': '0',
+ 'RuntimeTypeInfo': 'false', # /GR-
+ 'WarningLevel': '3', # level3 (/W3)
+ },
+ 'VCLinkerTool': {
+ 'GenerateDebugInformation': 'true', # /DEBUG
+ 'LinkIncremental': '2', # /INCREMENTAL
+ },
+ },
+ },
+ 'Release': {
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'DebugInformationFormat': '3', # programDatabase (/Zi)
+ 'ProgramDataBaseFileName': '$(OutDir)\\$(ProjectName).pdb',
+ 'Optimization': '3', # full (/Ox)
+ 'WholeProgramOptimization': 'true', #/GL
+ # Changing the floating point model requires rebaseling gm images
+ #'FloatingPointModel': '2', # fast (/fp:fast)
+ 'FavorSizeOrSpeed': '1', # speed (/Ot)
+ 'PreprocessorDefinitions': ['NDEBUG'],
+ 'RuntimeLibrary': '2', # rtMultiThreadedDLL (/MD)
+ 'ExceptionHandling': '0',
+ 'RuntimeTypeInfo': 'false', # /GR-
+ 'WarningLevel': '3', # level3 (/W3)
+ },
+ 'VCLinkerTool': {
+ 'GenerateDebugInformation': 'true', # /DEBUG
+ 'LinkTimeCodeGeneration': '1', # useLinkTimeCodeGeneration /LTCG
+ },
+ 'VCLibrarianTool': {
+ 'LinkTimeCodeGeneration': 'true', # useLinkTimeCodeGeneration /LTCG
+ },
+ },
+ },
+ },
+ },
+ ],
+
+ ['skia_os in ["linux", "freebsd", "openbsd", "solaris"]',
+ {
+ 'defines': [
+ 'SK_SAMPLES_FOR_X',
+ 'SK_BUILD_FOR_UNIX',
+ ],
+ 'configurations': {
+ 'Debug': {
+ 'cflags': ['-g']
+ },
+ 'Release': {
+ 'cflags': ['-O2']
+ },
+ },
+ 'cflags': [
+ # TODO(tony): Enable -Werror once all the strict-aliasing problems
+ # are fixed.
+ #'-Werror',
+ '-Wall',
+ '-Wextra',
+ '-Wno-unused',
+ # suppressions below here were added for clang
+ '-Wno-unused-parameter',
+ '-Wno-c++11-extensions'
+ ],
+ 'include_dirs' : [
+ '/usr/include/freetype2',
+ ],
+ },
+ ],
+
+ ['skia_os == "mac"',
+ {
+ 'defines': [
+ 'SK_BUILD_FOR_MAC',
+ ],
+ 'configurations': {
+ 'Debug': {
+ 'xcode_settings': {
+ 'GCC_OPTIMIZATION_LEVEL': '0',
+ },
+ },
+ 'Release': {
+ 'xcode_settings': {
+ 'GCC_OPTIMIZATION_LEVEL': '3',
+ },
+ },
+ },
+ 'xcode_settings': {
+ 'SYMROOT': '<(DEPTH)/xcodebuild',
+ 'SDKROOT': 'macosx10.6',
+# trying to get this to work, but it needs clang I think...
+# 'WARNING_CFLAGS': '-Wexit-time-destructors',
+ 'CLANG_WARN_CXX0X_EXTENSIONS': 'NO',
+ },
+ },
+ ],
+
+ ['skia_os == "ios"',
+ {
+ 'defines': [
+ 'SK_BUILD_FOR_IOS',
+ ],
+ 'configurations': {
+ 'Debug': {
+ 'xcode_settings': {
+ 'GCC_OPTIMIZATION_LEVEL': '0',
+ },
+ },
+ },
+ 'xcode_settings': {
+ 'SYMROOT': '<(DEPTH)/xcodebuild',
+ },
+ },
+ ],
+
+ ['skia_os == "android"',
+ {
+ 'defines': [
+ 'SK_BUILD_FOR_ANDROID',
+ 'SK_BUILD_FOR_ANDROID_NDK',
+ 'SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0',
+ ],
+ 'configurations': {
+ 'Debug': {
+ 'cflags': ['-g']
+ },
+ 'Release': {
+ 'cflags': ['-O2']
+ },
+ },
+ 'libraries': [
+ '-lstdc++',
+ '-lm',
+ '-llog',
+ ],
+ 'cflags': [
+ '-fno-exceptions',
+ '-fno-rtti',
+ ],
+ 'conditions': [
+ [ 'skia_target_arch == "arm" and arm_thumb == 1', {
+ 'cflags': [
+ '-mthumb',
+ ],
+ }],
+ [ 'skia_target_arch == "arm" and armv7 == 1', {
+ 'defines': [
+ '__ARM_ARCH__=7',
+ ],
+ 'cflags': [
+ '-march=armv7-a',
+ ],
+ 'conditions': [
+ [ 'arm_neon == 1', {
+ 'defines': [
+ '__ARM_HAVE_NEON',
+ ],
+ 'cflags': [
+ '-mfloat-abi=softfp',
+ '-mfpu=neon',
+ ],
+ }],
+ ],
+ }],
+ ],
+ },
+ ],
+
+ ], # end 'conditions'
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/common_variables.gypi b/gyp/common_variables.gypi
new file mode 100644
index 0000000..94e2b9b
--- /dev/null
+++ b/gyp/common_variables.gypi
@@ -0,0 +1,25 @@
+# variables used in both common.gypi and skia.gyp in chromium
+#
+{
+ # Define all variables, allowing for override in GYP_DEFINES.
+ #
+ # One such variable is 'skia_os', which we use instead of 'OS' throughout
+ # our gyp files. We set it automatically based on 'OS', but allow the
+ # user to override it via GYP_DEFINES if they like.
+ 'variables': {
+ 'skia_scalar%': 'float',
+ 'skia_os%': '<(OS)',
+ 'skia_mesa%': 0,
+ 'skia_target_arch%': '',
+ },
+ 'skia_scalar%': '<(skia_scalar)',
+ 'skia_os': '<(skia_os)',
+ 'skia_mesa': '<(skia_mesa)',
+ 'skia_target_arch': '<(skia_target_arch)',
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/core.gyp b/gyp/core.gyp
new file mode 100644
index 0000000..f83f482
--- /dev/null
+++ b/gyp/core.gyp
@@ -0,0 +1,327 @@
+# Core Skia library code.
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'core',
+ 'type': 'static_library',
+ 'msvs_guid': 'B7760B5E-BFA8-486B-ACFD-49E3A6DE8E76',
+ 'sources': [
+ '../src/core/ARGB32_Clamp_Bilinear_BitmapShader.h',
+ '../src/core/Sk64.cpp',
+ '../src/core/SkAAClip.cpp',
+ '../src/core/SkAdvancedTypefaceMetrics.cpp',
+ '../src/core/SkAlphaRuns.cpp',
+ '../src/core/SkAntiRun.h',
+ '../src/core/SkBitmap.cpp',
+ '../src/core/SkBitmapProcShader.cpp',
+ '../src/core/SkBitmapProcShader.h',
+ '../src/core/SkBitmapProcState.cpp',
+ '../src/core/SkBitmapProcState.h',
+ '../src/core/SkBitmapProcState_matrix.h',
+ '../src/core/SkBitmapProcState_matrixProcs.cpp',
+ '../src/core/SkBitmapProcState_sample.h',
+ '../src/core/SkBitmapSampler.cpp',
+ '../src/core/SkBitmapSampler.h',
+ '../src/core/SkBitmapSamplerTemplate.h',
+ '../src/core/SkBitmapShader16BilerpTemplate.h',
+ '../src/core/SkBitmapShaderTemplate.h',
+ '../src/core/SkBitmap_scroll.cpp',
+ '../src/core/SkBlitBWMaskTemplate.h',
+ '../src/core/SkBlitMask_D32.cpp',
+ '../src/core/SkBlitRow_D16.cpp',
+ '../src/core/SkBlitRow_D32.cpp',
+ '../src/core/SkBlitRow_D4444.cpp',
+ '../src/core/SkBlitter.cpp',
+ '../src/core/SkBlitter_4444.cpp',
+ '../src/core/SkBlitter_A1.cpp',
+ '../src/core/SkBlitter_A8.cpp',
+ '../src/core/SkBlitter_ARGB32.cpp',
+ '../src/core/SkBlitter_RGB16.cpp',
+ '../src/core/SkBlitter_Sprite.cpp',
+ '../src/core/SkBuffer.cpp',
+ '../src/core/SkCanvas.cpp',
+ '../src/core/SkChunkAlloc.cpp',
+ '../src/core/SkClampRange.cpp',
+ '../src/core/SkClipStack.cpp',
+ '../src/core/SkColor.cpp',
+ '../src/core/SkColorFilter.cpp',
+ '../src/core/SkColorTable.cpp',
+ '../src/core/SkComposeShader.cpp',
+ '../src/core/SkConcaveToTriangles.cpp',
+ '../src/core/SkConcaveToTriangles.h',
+ '../src/core/SkConfig8888.h',
+ '../src/core/SkCordic.cpp',
+ '../src/core/SkCordic.h',
+ '../src/core/SkCoreBlitters.h',
+ '../src/core/SkCubicClipper.cpp',
+ '../src/core/SkCubicClipper.h',
+ '../src/core/SkData.cpp',
+ '../src/core/SkDebug.cpp',
+ '../src/core/SkDeque.cpp',
+ '../src/core/SkDevice.cpp',
+ '../src/core/SkDither.cpp',
+ '../src/core/SkDraw.cpp',
+ '../src/core/SkDrawProcs.h',
+ '../src/core/SkEdgeBuilder.cpp',
+ '../src/core/SkEdgeClipper.cpp',
+ '../src/core/SkEdge.cpp',
+ '../src/core/SkEdge.h',
+ '../src/core/SkFP.h',
+ '../src/core/SkFilterProc.cpp',
+ '../src/core/SkFilterProc.h',
+ '../src/core/SkFlattenable.cpp',
+ '../src/core/SkFloat.cpp',
+ '../src/core/SkFloat.h',
+ '../src/core/SkFloatBits.cpp',
+ '../src/core/SkFontHost.cpp',
+ '../src/core/SkGeometry.cpp',
+ '../src/core/SkGlyphCache.cpp',
+ '../src/core/SkGlyphCache.h',
+ '../src/core/SkGraphics.cpp',
+ '../src/core/SkLineClipper.cpp',
+ '../src/core/SkMallocPixelRef.cpp',
+ '../src/core/SkMask.cpp',
+ '../src/core/SkMaskFilter.cpp',
+ '../src/core/SkMath.cpp',
+ '../src/core/SkMatrix.cpp',
+ '../src/core/SkMetaData.cpp',
+ '../src/core/SkMMapStream.cpp',
+ '../src/core/SkPackBits.cpp',
+ '../src/core/SkPaint.cpp',
+ '../src/core/SkPath.cpp',
+ '../src/core/SkPathEffect.cpp',
+ '../src/core/SkPathHeap.cpp',
+ '../src/core/SkPathHeap.h',
+ '../src/core/SkPathMeasure.cpp',
+ '../src/core/SkPicture.cpp',
+ '../src/core/SkPictureFlat.cpp',
+ '../src/core/SkPictureFlat.h',
+ '../src/core/SkPicturePlayback.cpp',
+ '../src/core/SkPicturePlayback.h',
+ '../src/core/SkPictureRecord.cpp',
+ '../src/core/SkPictureRecord.h',
+ '../src/core/SkPixelRef.cpp',
+ '../src/core/SkPoint.cpp',
+ '../src/core/SkProcSpriteBlitter.cpp',
+ '../src/core/SkPtrRecorder.cpp',
+ '../src/core/SkQuadClipper.cpp',
+ '../src/core/SkQuadClipper.h',
+ '../src/core/SkRasterClip.cpp',
+ '../src/core/SkRasterizer.cpp',
+ '../src/core/SkRect.cpp',
+ '../src/core/SkRefDict.cpp',
+ '../src/core/SkRegion.cpp',
+ '../src/core/SkRegionPriv.h',
+ '../src/core/SkRegion_path.cpp',
+ '../src/core/SkScalar.cpp',
+ '../src/core/SkScalerContext.cpp',
+ '../src/core/SkScan.cpp',
+ '../src/core/SkScanPriv.h',
+ '../src/core/SkScan_AntiPath.cpp',
+ '../src/core/SkScan_Antihair.cpp',
+ '../src/core/SkScan_Hairline.cpp',
+ '../src/core/SkScan_Path.cpp',
+ '../src/core/SkShader.cpp',
+ '../src/core/SkShape.cpp',
+ '../src/core/SkSpriteBlitter_ARGB32.cpp',
+ '../src/core/SkSpriteBlitter_RGB16.cpp',
+ '../src/core/SkSinTable.h',
+ '../src/core/SkSpriteBlitter.h',
+ '../src/core/SkSpriteBlitterTemplate.h',
+ '../src/core/SkStream.cpp',
+ '../src/core/SkString.cpp',
+ '../src/core/SkStroke.cpp',
+ '../src/core/SkStrokerPriv.cpp',
+ '../src/core/SkStrokerPriv.h',
+ '../src/core/SkTextFormatParams.h',
+ '../src/core/SkTSearch.cpp',
+ '../src/core/SkTSort.h',
+ '../src/core/SkTemplatesPriv.h',
+ '../src/core/SkTypeface.cpp',
+ '../src/core/SkTypefaceCache.cpp',
+ '../src/core/SkTypefaceCache.h',
+ '../src/core/SkUnPreMultiply.cpp',
+ '../src/core/SkUtils.cpp',
+ '../src/core/SkWriter32.cpp',
+ '../src/core/SkXfermode.cpp',
+
+ '../include/core/Sk64.h',
+ '../include/core/SkAdvancedTypefaceMetrics.h',
+ '../include/core/SkAutoKern.h',
+ '../include/core/SkBitmap.h',
+ '../include/core/SkBlitRow.h',
+ '../include/core/SkBlitter.h',
+ '../include/core/SkBounder.h',
+ '../include/core/SkBuffer.h',
+ '../include/core/SkCanvas.h',
+ '../include/core/SkChunkAlloc.h',
+ '../include/core/SkClampRange.h',
+ '../include/core/SkClipStack.h',
+ '../include/core/SkColor.h',
+ '../include/core/SkColorFilter.h',
+ '../include/core/SkColorPriv.h',
+ '../include/core/SkColorShader.h',
+ '../include/core/SkComposeShader.h',
+ '../include/core/SkData.h',
+ '../include/core/SkDeque.h',
+ '../include/core/SkDescriptor.h',
+ '../include/core/SkDevice.h',
+ '../include/core/SkDither.h',
+ '../include/core/SkDraw.h',
+ '../include/core/SkDrawFilter.h',
+ '../include/core/SkDrawLooper.h',
+ '../include/core/SkEndian.h',
+ '../include/core/SkFDot6.h',
+ '../include/core/SkFixed.h',
+ '../include/core/SkFlattenable.h',
+ '../include/core/SkFloatBits.h',
+ '../include/core/SkFloatingPoint.h',
+ '../include/core/SkFontHost.h',
+ '../include/core/SkGeometry.h',
+ '../include/core/SkGraphics.h',
+ '../include/core/SkMallocPixelRef.h',
+ '../include/core/SkMask.h',
+ '../include/core/SkMaskFilter.h',
+ '../include/core/SkMath.h',
+ '../include/core/SkMatrix.h',
+ '../include/core/SkMetaData.h',
+ '../include/core/SkMMapStream.h',
+ '../include/core/SkOSFile.h',
+ '../include/core/SkPackBits.h',
+ '../include/core/SkPaint.h',
+ '../include/core/SkPath.h',
+ '../include/core/SkPathEffect.h',
+ '../include/core/SkPathMeasure.h',
+ '../include/core/SkPerspIter.h',
+ '../include/core/SkPicture.h',
+ '../include/core/SkPixelRef.h',
+ '../include/core/SkPoint.h',
+ '../include/core/SkPtrRecorder.h',
+ '../include/core/SkRandom.h',
+ '../include/core/SkRasterizer.h',
+ '../include/core/SkReader32.h',
+ '../include/core/SkRect.h',
+ '../include/core/SkRefCnt.h',
+ '../include/core/SkRefDict.h',
+ '../include/core/SkRegion.h',
+ '../include/core/SkScalar.h',
+ '../include/core/SkScalarCompare.h',
+ '../include/core/SkScalerContext.h',
+ '../include/core/SkScan.h',
+ '../include/core/SkShader.h',
+ '../include/core/SkStream.h',
+ '../include/core/SkString.h',
+ '../include/core/SkStroke.h',
+ '../include/core/SkTArray.h',
+ '../include/core/SkTDArray.h',
+ '../include/core/SkTDStack.h',
+ '../include/core/SkTDict.h',
+ '../include/core/SkTRegistry.h',
+ '../include/core/SkTScopedPtr.h',
+ '../include/core/SkTSearch.h',
+ '../include/core/SkTemplates.h',
+ '../include/core/SkThread.h',
+ '../include/core/SkThread_platform.h',
+ '../include/core/SkTime.h',
+ '../include/core/SkTLazy.h',
+ '../include/core/SkTrace.h',
+ '../include/core/SkTypeface.h',
+ '../include/core/SkTypes.h',
+ '../include/core/SkUnPreMultiply.h',
+ '../include/core/SkUnitMapper.h',
+ '../include/core/SkUtils.h',
+ '../include/core/SkWriter32.h',
+ '../include/core/SkXfermode.h',
+ ],
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../include/ports',
+ '../include/xml',
+ '../src/core',
+ ],
+ 'msvs_disabled_warnings': [4244, 4267,4345, 4390, 4554, 4800],
+ 'conditions': [
+ [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
+ 'cflags': [
+ '-Wno-unused',
+ '-Wno-unused-function',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '-lfreetype',
+ '-lpthread',
+ ],
+ },
+ }],
+ [ 'skia_os == "mac"', {
+ 'include_dirs': [
+ '../include/utils/mac',
+ '../third_party/freetype/include/**',
+ ],
+ 'sources': [
+ '../include/utils/mac/SkCGUtils.h',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework',
+ ],
+ },
+ }],
+ [ 'skia_os == "ios"', {
+ 'include_dirs': [
+ '../include/utils/ios',
+ ],
+ 'sources': [
+ '../include/utils/mac/SkCGUtils.h',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/CoreFoundation.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/CoreGraphics.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/CoreText.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/UIKit.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/Foundation.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/QuartzCore.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/OpenGLES.framework',
+ ],
+ },
+ }],
+ [ 'skia_os == "win"', {
+ 'include_dirs': [
+ 'config/win',
+ ],
+ 'sources!': [
+ '../include/core/SkMMapStream.h',
+ '../src/core/SkMMapStream.cpp',
+ ],
+ }],
+ [ 'skia_os == "android"', {
+ 'dependencies': [
+ 'android_system.gyp:ft2',
+ ],
+ }],
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ 'config',
+ '../include/config',
+ '../include/core',
+ 'ext',
+ ],
+ },
+ 'dependencies': [
+ 'opts.gyp:opts'
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/effects.gyp b/gyp/effects.gyp
new file mode 100644
index 0000000..28f0017
--- /dev/null
+++ b/gyp/effects.gyp
@@ -0,0 +1,92 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'effects',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../include/effects',
+ ],
+ 'sources': [
+ '../include/effects/Sk1DPathEffect.h',
+ '../include/effects/Sk2DPathEffect.h',
+ '../include/effects/SkAvoidXfermode.h',
+ '../include/effects/SkArithmeticMode.h',
+ '../include/effects/SkBlurDrawLooper.h',
+ '../include/effects/SkBlurImageFilter.h',
+ '../include/effects/SkBlurMaskFilter.h',
+ '../include/effects/SkColorMatrix.h',
+ '../include/effects/SkColorMatrixFilter.h',
+ '../include/effects/SkCornerPathEffect.h',
+ '../include/effects/SkDashPathEffect.h',
+ '../include/effects/SkDiscretePathEffect.h',
+ '../include/effects/SkDrawExtraPathEffect.h',
+ '../include/effects/SkEffects.h',
+ '../include/effects/SkEmbossMaskFilter.h',
+ '../include/effects/SkGradientShader.h',
+ '../include/effects/SkGroupShape.h',
+ '../include/effects/SkKernel33MaskFilter.h',
+ '../include/effects/SkLayerDrawLooper.h',
+ '../include/effects/SkLayerRasterizer.h',
+ '../include/effects/SkPaintFlagsDrawFilter.h',
+ '../include/effects/SkPixelXorXfermode.h',
+ '../include/effects/SkPorterDuff.h',
+ '../include/effects/SkRectShape.h',
+ '../include/effects/SkTableColorFilter.h',
+ '../include/effects/SkTableMaskFilter.h',
+ '../include/effects/SkTransparentShader.h',
+
+ '../src/effects/Sk1DPathEffect.cpp',
+ '../src/effects/Sk2DPathEffect.cpp',
+ '../src/effects/SkAvoidXfermode.cpp',
+ '../src/effects/SkArithmeticMode.cpp',
+ '../src/effects/SkBitmapCache.cpp',
+ '../src/effects/SkBitmapCache.h',
+ '../src/effects/SkBlurDrawLooper.cpp',
+ '../src/effects/SkBlurMask.cpp',
+ '../src/effects/SkBlurMask.h',
+ '../src/effects/SkBlurImageFilter.cpp',
+ '../src/effects/SkBlurMaskFilter.cpp',
+ '../src/effects/SkColorFilters.cpp',
+ '../src/effects/SkColorMatrixFilter.cpp',
+ '../src/effects/SkCornerPathEffect.cpp',
+ '../src/effects/SkDashPathEffect.cpp',
+ '../src/effects/SkDiscretePathEffect.cpp',
+ '../src/effects/SkEffects.cpp',
+ '../src/effects/SkEmbossMask.cpp',
+ '../src/effects/SkEmbossMask.h',
+ '../src/effects/SkEmbossMask_Table.h',
+ '../src/effects/SkEmbossMaskFilter.cpp',
+ '../src/effects/SkGradientShader.cpp',
+ '../src/effects/SkGroupShape.cpp',
+ '../src/effects/SkKernel33MaskFilter.cpp',
+ '../src/effects/SkLayerDrawLooper.cpp',
+ '../src/effects/SkLayerRasterizer.cpp',
+ '../src/effects/SkPaintFlagsDrawFilter.cpp',
+ '../src/effects/SkPixelXorXfermode.cpp',
+ '../src/effects/SkPorterDuff.cpp',
+ '../src/effects/SkRadialGradient_Table.h',
+ '../src/effects/SkRectShape.cpp',
+ '../src/effects/SkTableColorFilter.cpp',
+ '../src/effects/SkTableMaskFilter.cpp',
+ '../src/effects/SkTestImageFilters.cpp',
+ '../src/effects/SkTransparentShader.cpp',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../include/effects',
+ ],
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/experimental.gyp b/gyp/experimental.gyp
new file mode 100644
index 0000000..c5b8c5e
--- /dev/null
+++ b/gyp/experimental.gyp
@@ -0,0 +1,31 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'experimental',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ ],
+ 'sources': [
+ '../experimental/SkSetPoly3To3.cpp',
+ '../experimental/SkSetPoly3To3_A.cpp',
+ '../experimental/SkSetPoly3To3_D.cpp',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../experimental',
+ ],
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/freetype.gyp b/gyp/freetype.gyp
new file mode 100644
index 0000000..e86a338
--- /dev/null
+++ b/gyp/freetype.gyp
@@ -0,0 +1,69 @@
+{
+# 'includes': [
+# 'common.gypi',
+# ],
+ 'targets': [
+ {
+ 'target_name': 'skfreetype',
+ 'type': 'static_library',
+ 'sources': [
+ '../third_party/freetype/src/base/ftbbox.c',
+ '../third_party/freetype/src/base/ftbitmap.c',
+ '../third_party/freetype/src/base/ftglyph.c',
+ '../third_party/freetype/src/base/ftlcdfil.c',
+ '../third_party/freetype/src/base/ftstroke.c',
+ '../third_party/freetype/src/base/ftxf86.c',
+ '../third_party/freetype/src/base/ftbase.c',
+ '../third_party/freetype/src/base/ftsystem.c',
+ '../third_party/freetype/src/base/ftinit.c',
+ '../third_party/freetype/src/base/ftgasp.c',
+ '../third_party/freetype/src/base/ftfstype.c',
+ '../third_party/freetype/src/raster/raster.c',
+ '../third_party/freetype/src/sfnt/sfnt.c',
+ '../third_party/freetype/src/smooth/smooth.c',
+ '../third_party/freetype/src/autofit/autofit.c',
+ '../third_party/freetype/src/truetype/truetype.c',
+ '../third_party/freetype/src/cff/cff.c',
+ '../third_party/freetype/src/psnames/psnames.c',
+ '../third_party/freetype/src/pshinter/pshinter.c',
+
+# added for linker
+ '../third_party/freetype/src/lzw/ftlzw.c',
+ '../third_party/freetype/src/gzip/ftgzip.c',
+ '../third_party/freetype/src/cid/type1cid.c',
+ '../third_party/freetype/src/bdf/bdf.c',
+ '../third_party/freetype/src/psaux/psaux.c',
+ '../third_party/freetype/src/pcf/pcf.c',
+ '../third_party/freetype/src/pfr/pfr.c',
+ '../third_party/freetype/src/type1/type1.c',
+ '../third_party/freetype/src/type42/type42.c',
+ '../third_party/freetype/src/winfonts/winfnt.c',
+ ],
+ 'include_dirs': [
+ '../third_party/freetype/internal',
+ '../third_party/freetype/builds',
+ '../third_party/freetype/include',
+ '../third_party/freetype',
+ ],
+ 'cflags': [
+ '-W',
+ '-Wall',
+ '-fPIC',
+ '-DPIC',
+ '-DDARWIN_NO_CARBON',
+ '-DFT2_BUILD_LIBRARY',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../third_party/freetype/include', # For ft2build.h
+ ],
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/gm.gyp b/gyp/gm.gyp
new file mode 100644
index 0000000..43075dc
--- /dev/null
+++ b/gyp/gm.gyp
@@ -0,0 +1,44 @@
+# GYP file to build the "gm" (golden master) executable.
+{
+ 'includes': [
+ 'apptype_console.gypi',
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'gm',
+ 'type': 'executable',
+ 'includes': [
+ 'gmslides.gypi',
+ ],
+ 'sources': [
+ '../gm/gm.cpp',
+ '../gm/gmmain.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'effects.gyp:effects',
+ 'gpu.gyp:gr',
+ 'gpu.gyp:skgr',
+ 'images.gyp:images',
+ 'ports.gyp:ports',
+ 'pdf.gyp:pdf',
+ 'utils.gyp:utils',
+ ],
+ #mac does not like empty dependency.
+ 'conditions': [
+ [ 'skia_os == "win"', {
+ 'dependencies': [
+ 'xps.gyp:xps',
+ ],
+ }],
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/gmslides.gypi b/gyp/gmslides.gypi
new file mode 100644
index 0000000..66692d1
--- /dev/null
+++ b/gyp/gmslides.gypi
@@ -0,0 +1,55 @@
+# include this gypi to include all the golden master slides.
+{
+ 'sources': [
+ '../gm/aaclip.cpp',
+ '../gm/aarectmodes.cpp',
+ '../gm/arithmode.cpp',
+ '../gm/bitmapcopy.cpp',
+ '../gm/bitmapfilters.cpp',
+ '../gm/bitmapscroll.cpp',
+ '../gm/blurs.cpp',
+ '../gm/colormatrix.cpp',
+ '../gm/complexclip.cpp',
+ '../gm/complexclip2.cpp',
+ '../gm/cubicpaths.cpp',
+ '../gm/degeneratesegments.cpp',
+ '../gm/drawbitmaprect.cpp',
+ '../gm/emptypath.cpp',
+ '../gm/filltypes.cpp',
+ '../gm/filltypespersp.cpp',
+ '../gm/fontscaler.cpp',
+ '../gm/gradients.cpp',
+ '../gm/gradtext.cpp',
+ '../gm/hairmodes.cpp',
+ '../gm/imageblur.cpp',
+ '../gm/lcdtext.cpp',
+ '../gm/linepaths.cpp',
+ '../gm/ninepatchstretch.cpp',
+ '../gm/nocolorbleed.cpp',
+ '../gm/pathfill.cpp',
+ '../gm/pathreverse.cpp',
+ '../gm/points.cpp',
+ '../gm/poly2poly.cpp',
+ '../gm/quadpaths.cpp',
+ '../gm/shadertext.cpp',
+ '../gm/shadows.cpp',
+ '../gm/shapes.cpp',
+ '../gm/strokefill.cpp',
+ '../gm/strokerects.cpp',
+ '../gm/strokes.cpp',
+ '../gm/tablecolorfilter.cpp',
+ '../gm/testimagefilters.cpp',
+ '../gm/texdata.cpp',
+ '../gm/tilemodes.cpp',
+ '../gm/tinybitmap.cpp',
+ '../gm/verttext.cpp',
+ '../gm/verttext2.cpp',
+ '../gm/xfermodes.cpp',
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/gpu.gyp b/gyp/gpu.gyp
new file mode 100644
index 0000000..9fcded1
--- /dev/null
+++ b/gyp/gpu.gyp
@@ -0,0 +1,356 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'target_defaults': {
+ 'conditions': [
+ ['skia_os != "win"', {
+ 'sources/': [ ['exclude', '_win.(h|cpp)$'],
+ ],
+ }],
+ ['skia_os != "mac"', {
+ 'sources/': [ ['exclude', '_mac.(h|cpp)$'],
+ ],
+ }],
+ ['skia_os != "linux"', {
+ 'sources/': [ ['exclude', '_unix.(h|cpp)$'],
+ ],
+ }],
+ ['skia_os != "ios"', {
+ 'sources/': [ ['exclude', '_iOS.(h|cpp)$'],
+ ],
+ }],
+ ['skia_os != "android"', {
+ 'sources/': [ ['exclude', '_android.(h|cpp)$'],
+ ],
+ }],
+ [ 'skia_os == "android"', {
+ 'defines': [
+ 'GR_ANDROID_BUILD=1',
+ ],
+ }],
+ [ 'skia_os == "mac"', {
+ 'defines': [
+ 'GR_MAC_BUILD=1',
+ ],
+ }],
+ [ 'skia_os == "linux"', {
+ 'defines': [
+ 'GR_LINUX_BUILD=1',
+ ],
+ }],
+ [ 'skia_os == "ios"', {
+ 'defines': [
+ 'GR_IOS_BUILD=1',
+ ],
+ }],
+ [ 'skia_os == "win"', {
+ 'defines': [
+ 'GR_WIN32_BUILD=1',
+ 'GR_GL_FUNCTION_TYPE=__stdcall',
+ ],
+ }],
+ ],
+ 'direct_dependent_settings': {
+ 'conditions': [
+ [ 'skia_os == "android"', {
+ 'defines': [
+ 'GR_ANDROID_BUILD=1',
+ ],
+ }],
+ [ 'skia_os == "mac"', {
+ 'defines': [
+ 'GR_MAC_BUILD=1',
+ ],
+ }],
+ [ 'skia_os == "linux"', {
+ 'defines': [
+ 'GR_LINUX_BUILD=1',
+ ],
+ }],
+ [ 'skia_os == "ios"', {
+ 'defines': [
+ 'GR_IOS_BUILD=1',
+ ],
+ }],
+ [ 'skia_os == "win"', {
+ 'defines': [
+ 'GR_WIN32_BUILD=1',
+ 'GR_GL_FUNCTION_TYPE=__stdcall',
+ ],
+ }],
+ ],
+ 'include_dirs': [
+ '../include/gpu',
+ ],
+ },
+ },
+ 'targets': [
+ {
+ 'target_name': 'skgr',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../src/core',
+ '../include/gpu',
+ ],
+ 'sources': [
+ '../include/gpu/SkGLContext.h',
+ '../include/gpu/SkMesaGLContext.h',
+ '../include/gpu/SkNativeGLContext.h',
+ '../include/gpu/SkNullGLContext.h',
+ '../include/gpu/SkGpuCanvas.h',
+ '../include/gpu/SkGpuDevice.h',
+ '../include/gpu/SkGr.h',
+ '../include/gpu/SkGrTexturePixelRef.h',
+
+ '../src/gpu/GrPrintf_skia.cpp',
+ '../src/gpu/SkGLContext.cpp',
+ '../src/gpu/SkGpuCanvas.cpp',
+ '../src/gpu/SkGpuDevice.cpp',
+ '../src/gpu/SkGr.cpp',
+ '../src/gpu/SkGrFontScaler.cpp',
+ '../src/gpu/SkGrTexturePixelRef.cpp',
+ '../src/gpu/SkNullGLContext.cpp',
+
+ '../src/gpu/android/SkNativeGLContext_android.cpp',
+
+ '../src/gpu/mac/SkNativeGLContext_mac.cpp',
+
+ '../src/gpu/win/SkNativeGLContext_win.cpp',
+
+ '../src/gpu/unix/SkNativeGLContext_unix.cpp',
+
+ '../src/gpu/mesa/SkMesaGLContext.cpp',
+ ],
+ 'conditions': [
+ [ 'not skia_mesa', {
+ 'sources!': [
+ '../src/gpu/mesa/SkMesaGLContext.cpp',
+ ],
+ }],
+ [ 'skia_mesa and skia_os == "mac"', {
+ 'include_dirs': [
+ '$(SDKROOT)/usr/X11/include/',
+ ],
+ }],
+ ],
+ },
+ {
+ 'target_name': 'gr',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/core',
+ '../include/config',
+ '../include/gpu',
+ ],
+ 'dependencies': [
+ 'libtess.gyp:libtess',
+ ],
+ 'sources': [
+ '../include/gpu/GrClip.h',
+ '../include/gpu/GrClipIterator.h',
+ '../include/gpu/GrColor.h',
+ '../include/gpu/GrConfig.h',
+ '../include/gpu/GrContext.h',
+ '../include/gpu/GrFontScaler.h',
+ '../include/gpu/GrGLConfig.h',
+ '../include/gpu/GrGLConfig_chrome.h',
+ '../include/gpu/GrGLDefines.h',
+ '../include/gpu/GrGLInterface.h',
+ '../include/gpu/GrGlyph.h',
+ '../include/gpu/GrInstanceCounter.h',
+ '../include/gpu/GrKey.h',
+ '../include/gpu/GrMatrix.h',
+ '../include/gpu/GrNoncopyable.h',
+ '../include/gpu/GrPaint.h',
+ '../include/gpu/GrPath.h',
+ '../include/gpu/GrPoint.h',
+ '../include/gpu/GrRect.h',
+ '../include/gpu/GrRefCnt.h',
+ '../include/gpu/GrRenderTarget.h',
+ '../include/gpu/GrResource.h',
+ '../include/gpu/GrSamplerState.h',
+ '../include/gpu/GrScalar.h',
+ '../include/gpu/GrTextContext.h',
+ '../include/gpu/GrTexture.h',
+ '../include/gpu/GrTypes.h',
+ '../include/gpu/GrUserConfig.h',
+
+ '../src/gpu/GrAAHairLinePathRenderer.cpp',
+ '../src/gpu/GrAAHairLinePathRenderer.h',
+ '../src/gpu/GrAddPathRenderers_aahairline.cpp',
+ '../src/gpu/GrAllocator.h',
+ '../src/gpu/GrAllocPool.h',
+ '../src/gpu/GrAllocPool.cpp',
+ '../src/gpu/GrAtlas.cpp',
+ '../src/gpu/GrAtlas.h',
+ '../src/gpu/GrBinHashKey.h',
+ '../src/gpu/GrBufferAllocPool.cpp',
+ '../src/gpu/GrBufferAllocPool.h',
+ '../src/gpu/GrClip.cpp',
+ '../src/gpu/GrContext.cpp',
+ '../src/gpu/GrDefaultPathRenderer.cpp',
+ '../src/gpu/GrDefaultPathRenderer.h',
+ '../src/gpu/GrDrawState.h',
+ '../src/gpu/GrDrawTarget.cpp',
+ '../src/gpu/GrDrawTarget.h',
+ '../src/gpu/GrGeometryBuffer.h',
+ '../src/gpu/GrGLCreateNativeInterface_none.cpp',
+ '../src/gpu/GrGLCreateNullInterface.cpp',
+ '../src/gpu/GrGLDefaultInterface_none.cpp',
+ '../src/gpu/GrGLDefaultInterface_native.cpp',
+ '../src/gpu/GrGLIndexBuffer.cpp',
+ '../src/gpu/GrGLIndexBuffer.h',
+ '../src/gpu/GrGLInterface.cpp',
+ '../src/gpu/GrGLIRect.h',
+ '../src/gpu/GrGLProgram.cpp',
+ '../src/gpu/GrGLProgram.h',
+ '../src/gpu/GrGLRenderTarget.cpp',
+ '../src/gpu/GrGLRenderTarget.h',
+ '../src/gpu/GrGLShaderVar.h',
+ '../src/gpu/GrGLSL.cpp',
+ '../src/gpu/GrGLSL.h',
+ '../src/gpu/GrGLStencilBuffer.cpp',
+ '../src/gpu/GrGLStencilBuffer.h',
+ '../src/gpu/GrGLTexture.cpp',
+ '../src/gpu/GrGLTexture.h',
+ '../src/gpu/GrGLUtil.cpp',
+ '../src/gpu/GrGLVertexBuffer.cpp',
+ '../src/gpu/GrGLVertexBuffer.h',
+ '../src/gpu/GrGpu.cpp',
+ '../src/gpu/GrGpu.h',
+ '../src/gpu/GrGpuFactory.cpp',
+ '../src/gpu/GrGpuGL.cpp',
+ '../src/gpu/GrGpuGL.h',
+ '../src/gpu/GrGpuGLShaders.cpp',
+ '../src/gpu/GrGpuGLShaders.h',
+ '../src/gpu/GrGpuVertex.h',
+ '../src/gpu/GrIndexBuffer.h',
+ '../src/gpu/GrInOrderDrawBuffer.cpp',
+ '../src/gpu/GrInOrderDrawBuffer.h',
+ '../src/gpu/GrMatrix.cpp',
+ '../src/gpu/GrMemory.cpp',
+ '../src/gpu/GrPathRendererChain.cpp',
+ '../src/gpu/GrPathRendererChain.h',
+ '../src/gpu/GrPathRenderer.cpp',
+ '../src/gpu/GrPathRenderer.h',
+ '../src/gpu/GrPathUtils.cpp',
+ '../src/gpu/GrPathUtils.h',
+ '../src/gpu/GrPlotMgr.h',
+ '../src/gpu/GrRandom.h',
+ '../src/gpu/GrRectanizer.cpp',
+ '../src/gpu/GrRectanizer.h',
+ '../src/gpu/GrRedBlackTree.h',
+ '../src/gpu/GrRenderTarget.cpp',
+ '../src/gpu/GrResource.cpp',
+ '../src/gpu/GrResourceCache.cpp',
+ '../src/gpu/GrResourceCache.h',
+ '../src/gpu/GrStencil.cpp',
+ '../src/gpu/GrStencil.h',
+ '../src/gpu/GrStencilBuffer.cpp',
+ '../src/gpu/GrStencilBuffer.h',
+ '../src/gpu/GrStringBuilder.h',
+ '../src/gpu/GrTBSearch.h',
+ '../src/gpu/GrTDArray.h',
+ '../src/gpu/GrTesselatedPathRenderer.cpp',
+ '../src/gpu/GrTesselatedPathRenderer.h',
+ '../src/gpu/GrTextContext.cpp',
+ '../src/gpu/GrTextStrike.cpp',
+ '../src/gpu/GrTextStrike.h',
+ '../src/gpu/GrTextStrike_impl.h',
+ '../src/gpu/GrTexture.cpp',
+ '../src/gpu/GrTHashCache.h',
+ '../src/gpu/GrTLList.h',
+ '../src/gpu/GrVertexBuffer.h',
+ '../src/gpu/gr_unittests.cpp',
+
+
+ '../src/gpu/mac/GrGLCreateNativeInterface_mac.cpp',
+
+ '../src/gpu/win/GrGLCreateNativeInterface_win.cpp',
+
+ '../src/gpu/unix/GrGLCreateNativeInterface_unix.cpp',
+
+ '../src/gpu/android/GrGLCreateNativeInterface_android.cpp',
+
+ '../src/gpu/mesa/GrGLCreateMesaInterface.cpp',
+ ],
+ 'defines': [
+ 'GR_IMPLEMENTATION=1',
+ ],
+ 'conditions': [
+ [ 'skia_os == "linux"', {
+ 'sources!': [
+ '../src/gpu/GrGLDefaultInterface_none.cpp',
+ '../src/gpu/GrGLCreateNativeInterface_none.cpp',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '-lGL',
+ '-lX11',
+ ],
+ },
+ }],
+ [ 'skia_mesa and skia_os == "linux"', {
+ 'link_settings': {
+ 'libraries': [
+ '-lOSMesa',
+ ],
+ },
+ }],
+ [ 'skia_os == "mac"', {
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
+ ],
+ },
+ 'sources!': [
+ '../src/gpu/GrGLDefaultInterface_none.cpp',
+ '../src/gpu/GrGLCreateNativeInterface_none.cpp',
+ ],
+ }],
+ [ 'skia_mesa and skia_os == "mac"', {
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/usr/X11/lib/libOSMesa.dylib',
+ ],
+ },
+ 'include_dirs': [
+ '$(SDKROOT)/usr/X11/include/',
+ ],
+ }],
+ [ 'not skia_mesa', {
+ 'sources!': [
+ '../src/gpu/mesa/GrGLCreateMesaInterface.cpp',
+ ],
+ }],
+ [ 'skia_os == "win"', {
+ 'sources!': [
+ '../src/gpu/GrGLDefaultInterface_none.cpp',
+ '../src/gpu/GrGLCreateNativeInterface_none.cpp',
+ ],
+ }],
+ [ 'skia_os == "android"', {
+ 'sources!': [
+ '../src/gpu/GrGLDefaultInterface_none.cpp',
+ '../src/gpu/GrGLCreateNativeInterface_none.cpp',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '-lGLESv2',
+ '-lEGL',
+ ],
+ },
+ }],
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/iOSSampleApp.gyp b/gyp/iOSSampleApp.gyp
new file mode 100644
index 0000000..84708bb
--- /dev/null
+++ b/gyp/iOSSampleApp.gyp
@@ -0,0 +1,279 @@
+{
+ 'includes': [
+ 'target_defaults.gypi',
+ ],
+ 'defines!': [
+ 'SK_BUILD_FOR_MAC',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'iOSSampleApp',
+ 'type': 'executable',
+ 'mac_bundle' : 1,
+ 'include_dirs' : [
+ '../src/core', # needed to get SkConcaveToTriangle, maybe this should be moved to include dir?
+ '../gm', # SampleGM.cpp pulls gm.h
+ '../include/pipe', # To pull in SkGPipe.h for pipe reader/writer
+ ],
+ 'sources': [
+ # gm files needed for SampleGM.cpp
+ '../gm/bitmapfilters.cpp',
+ '../gm/blurs.cpp',
+ '../gm/complexclip.cpp',
+ '../gm/filltypes.cpp',
+ '../gm/gm.h',
+ '../gm/gradients.cpp',
+ '../gm/nocolorbleed.cpp',
+ '../gm/points.cpp',
+ '../gm/poly2poly.cpp',
+ '../gm/shadertext.cpp',
+ '../gm/shadows.cpp',
+ '../gm/shapes.cpp',
+ '../gm/tilemodes.cpp',
+ '../gm/xfermodes.cpp',
+
+ '../samplecode/ClockFaceView.cpp',
+ '../samplecode/OverView.cpp',
+ '../samplecode/Sample2PtRadial.cpp',
+ '../samplecode/SampleAll.cpp',
+ '../samplecode/SampleAnimator.cpp',
+ '../samplecode/SampleApp.cpp',
+ '../samplecode/SampleArc.cpp',
+ '../samplecode/SampleAvoid.cpp',
+ '../samplecode/SampleBigBlur.cpp',
+ '../samplecode/SampleBigGradient.cpp',
+ '../samplecode/SampleBitmapRect.cpp',
+ '../samplecode/SampleBlur.cpp',
+ '../samplecode/SampleCamera.cpp',
+ '../samplecode/SampleCircle.cpp',
+ '../samplecode/SampleCode.h',
+ '../samplecode/SampleColorFilter.cpp',
+ '../samplecode/SampleComplexClip.cpp',
+ '../samplecode/SampleConcavePaths.cpp',
+ '../samplecode/SampleCull.cpp',
+ '../samplecode/SampleDecode.cpp',
+ '../samplecode/SampleDegenerateTwoPtRadials.cpp',
+ '../samplecode/SampleDither.cpp',
+ '../samplecode/SampleDitherBitmap.cpp',
+ '../samplecode/SampleDrawBitmap.cpp',
+ '../samplecode/SampleDrawLooper.cpp',
+ '../samplecode/SampleEffects.cpp',
+ '../samplecode/SampleEmboss.cpp',
+ '../samplecode/SampleEncode.cpp',
+ '../samplecode/SampleExtractAlpha.cpp',
+ '../samplecode/SampleFillType.cpp',
+ '../samplecode/SampleFilter.cpp',
+ '../samplecode/SampleFilter2.cpp',
+ '../samplecode/SampleFontCache.cpp',
+ '../samplecode/SampleFontScalerTest.cpp',
+ '../samplecode/SampleFuzz.cpp',
+ '../samplecode/SampleGM.cpp',
+ '../samplecode/SampleGradients.cpp',
+ '../samplecode/SampleHairline.cpp',
+ '../samplecode/SampleImage.cpp',
+ '../samplecode/SampleImageDir.cpp',
+ '../samplecode/SampleLayerMask.cpp',
+ '../samplecode/SampleLayers.cpp',
+ '../samplecode/SampleLCD.cpp',
+ '../samplecode/SampleLineClipper.cpp',
+ '../samplecode/SampleLines.cpp',
+ '../samplecode/SampleMeasure.cpp',
+ '../samplecode/SampleMipMap.cpp',
+ '../samplecode/SampleMovie.cpp',
+ '../samplecode/SampleNinePatch.cpp',
+ '../samplecode/SampleOvalTest.cpp',
+ '../samplecode/SampleOverflow.cpp',
+ '../samplecode/SamplePageFlip.cpp',
+ '../samplecode/SamplePatch.cpp',
+ '../samplecode/SamplePath.cpp',
+ '../samplecode/SamplePathClip.cpp',
+ '../samplecode/SamplePathEffects.cpp',
+ '../samplecode/SamplePicture.cpp',
+ '../samplecode/SamplePoints.cpp',
+ '../samplecode/SamplePolyToPoly.cpp',
+ '../samplecode/SampleAARects.cpp',
+ '../samplecode/SampleRegion.cpp',
+ '../samplecode/SampleRepeatTile.cpp',
+ '../samplecode/SampleShaders.cpp',
+ '../samplecode/SampleShaderText.cpp',
+ '../samplecode/SampleShapes.cpp',
+ '../samplecode/SampleSkLayer.cpp',
+ '../samplecode/SampleSlides.cpp',
+ '../samplecode/SampleStrokePath.cpp',
+ '../samplecode/SampleStrokeText.cpp',
+ '../samplecode/SampleTests.cpp',
+ '../samplecode/SampleText.cpp',
+ '../samplecode/SampleTextAlpha.cpp',
+ '../samplecode/SampleTextBox.cpp',
+ '../samplecode/SampleTextEffects.cpp',
+ '../samplecode/SampleTextOnPath.cpp',
+ '../samplecode/SampleTextureDomain.cpp',
+ '../samplecode/SampleTiling.cpp',
+ '../samplecode/SampleTinyBitmap.cpp',
+ '../samplecode/SampleTriangles.cpp',
+ '../samplecode/SampleTypeface.cpp',
+ '../samplecode/SampleUnitMapper.cpp',
+ '../samplecode/SampleVertices.cpp',
+ '../samplecode/SampleXfermodes.cpp',
+ '../samplecode/SampleXfermodesBlur.cpp',
+
+ # Dependencies for the pipe code in SampleApp
+ '../src/pipe/SkGPipeRead.cpp',
+ '../src/pipe/SkGPipeWrite.cpp',
+
+ # DrawingBoard
+ '../experimental/DrawingBoard/SkColorPalette.h',
+ '../experimental/DrawingBoard/SkColorPalette.cpp',
+ '../experimental/DrawingBoard/SkNetPipeController.h',
+ '../experimental/DrawingBoard/SkNetPipeController.cpp',
+ '../experimental/DrawingBoard/SampleDrawingClient.cpp',
+ '../experimental/DrawingBoard/SampleDrawingServer.cpp',
+
+ # Networking
+ '../experimental/Networking/SampleNetPipeReader.cpp',
+ '../experimental/Networking/SkSockets.cpp',
+ '../experimental/Networking/SkSockets.h',
+
+ # Transition
+ '../src/utils/SkInterpolator.cpp',
+ '../include/utils/SkInterpolator.h',
+ '../samplecode/TransitionView.cpp',
+ ],
+ 'sources!': [
+ '../samplecode/SampleSkLayer.cpp', #relies on SkMatrix44 which doesn't compile
+ '../samplecode/SampleTests.cpp', #includes unknown file SkShaderExtras.h
+ '../samplecode/SampleWarp.cpp',
+ '../samplecode/SampleFontCache.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'effects.gyp:effects',
+ 'images.gyp:images',
+ 'ports.gyp:ports',
+ 'views.gyp:views',
+ 'utils.gyp:utils',
+ 'animator.gyp:animator',
+ 'xml.gyp:xml',
+ 'svg.gyp:svg',
+ 'experimental.gyp:experimental',
+ 'gpu.gyp:gr',
+ 'gpu.gyp:skgr',
+ 'pdf.gyp:pdf',
+ ],
+ 'conditions' : [
+ [ 'OS == "linux" or OS == "freebsd" or OS == "openbsd" or OS == "solaris"', {
+ 'sources!': [
+ '../samplecode/SampleDecode.cpp',
+ ],
+ }],
+ [ 'OS == "win"', {
+ 'sources!': [
+ # require UNIX functions
+ '../samplecode/SampleEncode.cpp',
+ '../samplecode/SamplePageFlip.cpp',
+ ],
+ }],
+ [ 'OS == "mac"', {
+ 'sources!': [
+ '../samplecode/SampleDecode.cpp',
+ '../src/gpu/mac/GrGLDefaultInterface_mac.cpp',
+ ],
+ 'sources': [
+ # Shared resources
+ '../experimental/SkEventNotifier.h',
+ '../experimental/SkEventNotifier.mm',
+ '../experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig',
+ '../experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig',
+ '../experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig',
+ '../experimental/iOSSampleApp/iOSSampleApp-Info.plist',
+ '../experimental/iOSSampleApp/iOSSampleApp_Prefix.pch',
+ '../experimental/iOSSampleApp/Shared/SkOptionListController.h',
+ '../experimental/iOSSampleApp/Shared/SkOptionListController.mm',
+ '../experimental/iOSSampleApp/Shared/SkUIRootViewController.h',
+ '../experimental/iOSSampleApp/Shared/SkUIRootViewController.mm',
+ '../experimental/iOSSampleApp/Shared/SkOptionsTableViewController.h',
+ '../experimental/iOSSampleApp/Shared/SkOptionsTableViewController.mm',
+ '../experimental/iOSSampleApp/Shared/SkUIView.h',
+ '../experimental/iOSSampleApp/Shared/SkUIView.mm',
+ '../experimental/iOSSampleApp/Shared/SkUIDetailViewController.h',
+ '../experimental/iOSSampleApp/Shared/SkUIDetailViewController.mm',
+ '../experimental/iOSSampleApp/Shared/main.m',
+
+ # iPad
+ '../experimental/iOSSampleApp/iPad/AppDelegate_iPad.h',
+ '../experimental/iOSSampleApp/iPad/AppDelegate_iPad.mm',
+ '../experimental/iOSSampleApp/iPad/SkUISplitViewController.h',
+ '../experimental/iOSSampleApp/iPad/SkUISplitViewController.mm',
+ '../experimental/iOSSampleApp/iPad/MainWindow_iPad.xib',
+
+ # iPhone
+ '../experimental/iOSSampleApp/iPhone/AppDelegate_iPhone.h',
+ '../experimental/iOSSampleApp/iPhone/AppDelegate_iPhone.mm',
+ '../experimental/iOSSampleApp/iPhone/SkUINavigationController.h',
+ '../experimental/iOSSampleApp/iPhone/SkUINavigationController.mm',
+ '../experimental/iOSSampleApp/iPhone/MainWindow_iPhone.xib',
+
+ '../src/utils/ios/SkOSWindow_iOS.mm',
+ '../src/utils/ios/SkImageDecoder_iOS.mm',
+ '../src/utils/ios/SkStream_NSData.mm',
+ '../src/utils/ios/SkOSFile_iOS.mm',
+
+ '../include/utils/mac/SkCGUtils.h',
+ '../src/utils/mac/SkCreateCGImageRef.cpp',
+ '../experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig',
+ '../experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/CoreFoundation.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/CoreGraphics.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/CoreText.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/UIKit.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/Foundation.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/QuartzCore.framework',
+ '/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/OpenGLES.framework',
+ ],
+ 'libraries!': [
+ #remove mac dependencies
+ '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
+ '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
+ '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
+ '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
+ '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework',
+ ],
+ },
+ 'include_dirs' : [
+ '../experimental/iOSSampleApp',
+ '../experimental/iOSSampleApp/iPad',
+ '../experimental/iOSSampleApp/iPhone',
+ '../include/utils/ios',
+ '../../include/gpu',
+ ],
+ #'xcode_settings' : {
+ # 'INFOPLIST_FILE' : '../experimental/iOSSampleApp/iOSSampleApp-Info.plist',
+ # 'ARCHS' : 'armv6 armv7',
+ # 'IPHONEOS_DEPLOYMENT_TARGET' : '4.2',
+ # 'SDKROOT' : 'iphoneos',
+ # 'TARGETED_DEVICE_FAMILY' : '1,2',
+ # 'USER_HEADER_SEARCH_PATHS' : '../../gpu/include/** ../../include/**',
+ # 'CODE_SIGN_IDENTITY' : 'iPhone Developer',
+ # 'GCC_PREPROCESSOR_DEFINITIONS' : 'SK_BUILD_FOR_IOS',
+ # 'GCC_OPTIMIZATION_LEVEL' : '0',
+ #},
+ 'xcode_config_file': '../experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig',
+ 'mac_bundle_resources' : [
+ '../experimental/iOSSampleApp/iPad/MainWindow_iPad.xib',
+ '../experimental/iOSSampleApp/iPhone/MainWindow_iPhone.xib',
+ ],
+ }],
+
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/images.gyp b/gyp/images.gyp
new file mode 100644
index 0000000..0732351
--- /dev/null
+++ b/gyp/images.gyp
@@ -0,0 +1,149 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'images',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'utils.gyp:utils',
+ ],
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../include/images',
+ ],
+ 'sources': [
+ '../include/images/SkFlipPixelRef.h',
+ '../include/images/SkImageDecoder.h',
+ '../include/images/SkImageEncoder.h',
+ '../include/images/SkImageRef.h',
+ '../include/images/SkImageRef_GlobalPool.h',
+ '../include/images/SkJpegUtility.h',
+ '../include/images/SkMovie.h',
+ '../include/images/SkPageFlipper.h',
+
+ '../src/images/bmpdecoderhelper.cpp',
+ '../src/images/bmpdecoderhelper.h',
+ '../src/images/SkBitmapRegionDecoder.cpp',
+ '../src/images/SkBitmap_RLEPixels.h',
+ '../src/images/SkCreateRLEPixelRef.cpp',
+ '../src/images/SkFDStream.cpp',
+ '../src/images/SkFlipPixelRef.cpp',
+ '../src/images/SkImageDecoder.cpp',
+ '../src/images/SkImageDecoder_Factory.cpp',
+ '../src/images/SkImageDecoder_libbmp.cpp',
+ '../src/images/SkImageDecoder_libgif.cpp',
+ '../src/images/SkImageDecoder_libico.cpp',
+ '../src/images/SkImageDecoder_libjpeg.cpp',
+ '../src/images/SkImageDecoder_libpng.cpp',
+ '../src/images/SkImageDecoder_wbmp.cpp',
+ '../src/images/SkImageEncoder.cpp',
+ '../src/images/SkImageEncoder_Factory.cpp',
+ '../src/images/SkImageRef.cpp',
+ '../src/images/SkImageRefPool.cpp',
+ '../src/images/SkImageRefPool.h',
+ '../src/images/SkImageRef_GlobalPool.cpp',
+ '../src/images/SkJpegUtility.cpp',
+ '../src/images/SkMovie.cpp',
+ '../src/images/SkMovie_gif.cpp',
+ '../src/images/SkPageFlipper.cpp',
+ '../src/images/SkScaledBitmapSampler.cpp',
+ '../src/images/SkScaledBitmapSampler.h',
+
+ '../src/ports/SkImageDecoder_CG.cpp',
+ '../src/ports/SkImageDecoder_WIC.cpp',
+ ],
+ 'conditions': [
+ [ 'skia_os == "win"', {
+ 'sources!': [
+ '../include/images/SkJpegUtility.h',
+
+ '../src/images/SkFDStream.cpp',
+ '../src/images/SkImageDecoder_Factory.cpp',
+ '../src/images/SkImageDecoder_libgif.cpp',
+ '../src/images/SkImageDecoder_libjpeg.cpp',
+ '../src/images/SkImageDecoder_libpng.cpp',
+ '../src/images/SkImageDecoder_libpvjpeg.c',
+ '../src/images/SkImageEncoder_Factory.cpp',
+ '../src/images/SkJpegUtility.cpp',
+ '../src/images/SkMovie_gif.cpp',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ 'windowscodecs.lib',
+ ],
+ },
+ },{ #else if skia_os != win
+ 'sources!': [
+ '../src/ports/SkImageDecoder_WIC.cpp',
+ ],
+ }],
+ [ 'skia_os == "mac"', {
+ 'sources!': [
+ '../include/images/SkJpegUtility.h',
+
+ '../src/images/SkImageDecoder_Factory.cpp',
+ '../src/images/SkImageDecoder_libpng.cpp',
+ '../src/images/SkImageDecoder_libgif.cpp',
+ '../src/images/SkImageDecoder_libjpeg.cpp',
+ '../src/images/SkImageDecoder_libpvjpeg.c',
+ '../src/images/SkImageEncoder_Factory.cpp',
+ '../src/images/SkJpegUtility.cpp',
+ '../src/images/SkMovie_gif.cpp',
+ ],
+ },{ #else if skia_os != mac
+ 'sources!': [
+ '../src/ports/SkImageDecoder_CG.cpp',
+ ],
+ }],
+ [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
+ 'sources!': [
+ '../include/images/SkJpegUtility.h',
+
+ '../src/images/SkImageDecoder_libjpeg.cpp',
+ '../src/images/SkImageDecoder_libgif.cpp',
+ '../src/images/SkImageDecoder_libpvjpeg.c',
+ '../src/images/SkJpegUtility.cpp',
+ '../src/images/SkMovie_gif.cpp',
+ ],
+ # libpng stuff:
+ # Any targets that depend on this target should link in libpng and
+ # our code that calls it.
+ # See http://code.google.com/p/gyp/wiki/InputFormatReference#Dependent_Settings
+ 'link_settings': {
+ 'sources': [
+ '../src/images/SkImageDecoder_libpng.cpp',
+ ],
+ 'libraries': [
+ '-lpng',
+ ],
+ },
+ # end libpng stuff
+ }],
+ [ 'skia_os == "android"', {
+ 'sources!': [
+ '../src/images/SkImageDecoder_libjpeg.cpp',
+ '../src/images/SkJpegUtility.cpp',
+ ],
+ 'dependencies': [
+ 'android_system.gyp:gif',
+ 'android_system.gyp:png',
+ ],
+ }],
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../include/images',
+ ],
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/libtess.gyp b/gyp/libtess.gyp
new file mode 100644
index 0000000..d74bcc7
--- /dev/null
+++ b/gyp/libtess.gyp
@@ -0,0 +1,59 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'libtess',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../third_party/glu',
+ ],
+ 'sources': [
+ '../third_party/glu/sk_glu.h',
+ '../third_party/glu/gluos.h',
+ '../third_party/glu/libtess/dict-list.h',
+ '../third_party/glu/libtess/dict.c',
+ '../third_party/glu/libtess/dict.h',
+ '../third_party/glu/libtess/geom.c',
+ '../third_party/glu/libtess/geom.h',
+ '../third_party/glu/libtess/memalloc.c',
+ '../third_party/glu/libtess/memalloc.h',
+ '../third_party/glu/libtess/mesh.c',
+ '../third_party/glu/libtess/mesh.h',
+ '../third_party/glu/libtess/normal.c',
+ '../third_party/glu/libtess/normal.h',
+ '../third_party/glu/libtess/priorityq-heap.h',
+ '../third_party/glu/libtess/priorityq-sort.h',
+ '../third_party/glu/libtess/priorityq.c',
+ '../third_party/glu/libtess/priorityq.h',
+ '../third_party/glu/libtess/render.c',
+ '../third_party/glu/libtess/render.h',
+ '../third_party/glu/libtess/sweep.c',
+ '../third_party/glu/libtess/sweep.h',
+ '../third_party/glu/libtess/tess.c',
+ '../third_party/glu/libtess/tess.h',
+ '../third_party/glu/libtess/tessmono.c',
+ '../third_party/glu/libtess/tessmono.h',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../third_party/glu',
+ ],
+ },
+ 'conditions': [
+ [ 'skia_os == "android"', {
+ 'cflags!': [
+ '-fno-rtti', # supresses warnings about invalid option of non-C++ code
+ ],
+ }],
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/opts.gyp b/gyp/opts.gyp
new file mode 100644
index 0000000..1f67e00
--- /dev/null
+++ b/gyp/opts.gyp
@@ -0,0 +1,81 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ # Due to an unfortunate intersection of lameness between gcc and gyp,
+ # we have to build the *_SSE2.cpp files in a separate target. The
+ # gcc lameness is that, in order to compile SSE2 intrinsics code, it
+ # must be passed the -msse2 flag. However, with this flag, it may
+ # emit SSE2 instructions even for scalar code, such as the CPUID
+ # test used to test for the presence of SSE2. So that, and all other
+ # code must be compiled *without* -msse2. The gyp lameness is that it
+ # does not allow file-specific CFLAGS, so we must create this extra
+ # target for those files to be compiled with -msse2.
+ #
+ # This is actually only a problem on 32-bit Linux (all Intel Macs have
+ # SSE2, Linux x86_64 has SSE2 by definition, and MSC will happily emit
+ # SSE2 from instrinsics, while generating plain ol' 386 for everything
+ # else). However, to keep the .gyp file simple and avoid platform-specific
+ # build breakage, we do this on all platforms.
+
+ # For about the same reason, we need to compile the ARM opts files
+ # separately as well.
+ {
+ 'target_name': 'opts',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../src/core',
+ '../src/opts',
+ ],
+ 'conditions': [
+ [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
+ 'cflags': [
+ '-msse2',
+ ],
+ }],
+ [ 'skia_target_arch != "arm"', {
+ 'sources': [
+ '../src/opts/opts_check_SSE2.cpp',
+ '../src/opts/SkBitmapProcState_opts_SSE2.cpp',
+ '../src/opts/SkBlitRow_opts_SSE2.cpp',
+ '../src/opts/SkUtils_opts_SSE2.cpp',
+ ],
+ }],
+ [ 'skia_target_arch == "arm" and armv7 == 1', {
+ # The assembly uses the frame pointer register (r7 in Thumb/r11 in
+ # ARM), the compiler doesn't like that.
+ 'cflags!': [
+ '-fno-omit-frame-pointer',
+ ],
+ 'cflags': [
+ '-fomit-frame-pointer',
+ ],
+ 'sources': [
+ '../src/opts/opts_check_arm.cpp',
+ '../src/opts/memset.arm.S',
+ '../src/opts/memset16_neon.S',
+ '../src/opts/memset32_neon.S',
+ '../src/opts/SkBitmapProcState_opts_arm.cpp',
+ '../src/opts/SkBlitRow_opts_arm.cpp',
+ ],
+ }],
+ [ 'skia_target_arch == "arm" and armv7 != 1', {
+ 'sources': [
+ '../src/opts/SkBitmapProcState_opts_none.cpp',
+ '../src/opts/SkBlitRow_opts_none.cpp',
+ '../src/opts/SkUtils_opts_none.cpp',
+ ],
+ }],
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/pdf.gyp b/gyp/pdf.gyp
new file mode 100644
index 0000000..f0c6b47
--- /dev/null
+++ b/gyp/pdf.gyp
@@ -0,0 +1,66 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'pdf',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../include/pdf',
+ '../src/core', # needed to get SkGlyphCache.h and SkTextFormatParams.h
+ ],
+ 'sources': [
+ '../include/pdf/SkBitSet.h',
+ '../include/pdf/SkPDFCatalog.h',
+ '../include/pdf/SkPDFDevice.h',
+ '../include/pdf/SkPDFDocument.h',
+ '../include/pdf/SkPDFFont.h',
+ '../include/pdf/SkPDFFormXObject.h',
+ '../include/pdf/SkPDFGraphicState.h',
+ '../include/pdf/SkPDFImage.h',
+ '../include/pdf/SkPDFPage.h',
+ '../include/pdf/SkPDFShader.h',
+ '../include/pdf/SkPDFStream.h',
+ '../include/pdf/SkPDFTypes.h',
+ '../include/pdf/SkPDFUtils.h',
+
+ '../src/pdf/SkBitSet.cpp',
+ '../src/pdf/SkPDFCatalog.cpp',
+ '../src/pdf/SkPDFDevice.cpp',
+ '../src/pdf/SkPDFDocument.cpp',
+ '../src/pdf/SkPDFFont.cpp',
+ '../src/pdf/SkPDFFontImpl.h',
+ '../src/pdf/SkPDFFormXObject.cpp',
+ '../src/pdf/SkPDFGraphicState.cpp',
+ '../src/pdf/SkPDFImage.cpp',
+ '../src/pdf/SkPDFPage.cpp',
+ '../src/pdf/SkPDFShader.cpp',
+ '../src/pdf/SkPDFStream.cpp',
+ '../src/pdf/SkPDFTypes.cpp',
+ '../src/pdf/SkPDFUtils.cpp',
+ ],
+ # This section makes all targets that depend on this target
+ # #define SK_SUPPORT_PDF and have access to the pdf header files.
+ 'direct_dependent_settings': {
+ 'defines': [
+ 'SK_SUPPORT_PDF',
+ ],
+ 'include_dirs': [
+ '../include/pdf',
+ ],
+ },
+ 'dependencies': [
+ 'zlib.gyp:zlib',
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/ports.gyp b/gyp/ports.gyp
new file mode 100644
index 0000000..c89a06d
--- /dev/null
+++ b/gyp/ports.gyp
@@ -0,0 +1,114 @@
+# Port-specific Skia library code.
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'ports',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../include/images',
+ '../include/effects',
+ '../include/ports',
+ '../include/xml',
+ '../src/core',
+ ],
+ 'sources': [
+ '../src/ports/SkDebug_stdio.cpp',
+ '../src/ports/SkDebug_win.cpp',
+ '../src/ports/SkFontHost_sandbox_none.cpp',
+ '../src/ports/SkFontHost_win.cpp',
+ '../src/ports/SkGlobalInitialization_default.cpp',
+ '../src/ports/SkThread_win.cpp',
+
+ '../src/ports/SkFontHost_tables.cpp',
+ '../src/ports/SkMemory_malloc.cpp',
+ '../src/ports/SkOSFile_stdio.cpp',
+ '../src/ports/SkTime_Unix.cpp',
+ '../src/ports/SkTime_win.cpp',
+ '../src/ports/SkXMLParser_empty.cpp',
+ '../src/ports/sk_predefined_gamma.h',
+ ],
+ 'conditions': [
+ [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
+ 'sources': [
+ '../src/ports/SkThread_pthread.cpp',
+ '../src/ports/SkFontHost_FreeType.cpp',
+ '../src/ports/SkFontHost_gamma_none.cpp',
+ '../src/ports/SkFontHost_linux.cpp',
+ ],
+ }],
+ [ 'skia_os == "mac"', {
+ 'include_dirs': [
+ '../include/utils/mac',
+ '../third_party/freetype/include/**',
+ ],
+ 'sources': [
+ '../src/ports/SkFontHost_mac_coretext.cpp',
+# '../src/ports/SkFontHost_FreeType.cpp',
+# '../src/ports/SkFontHost_freetype_mac.cpp',
+# '../src/ports/SkFontHost_gamma_none.cpp',
+ '../src/ports/SkThread_pthread.cpp',
+ ],
+ }],
+ [ 'skia_os == "ios"', {
+ 'include_dirs': [
+ '../include/utils/ios',
+ ],
+ 'sources': [
+ '../src/ports/SkFontHost_mac_coretext.cpp',
+ '../src/ports/SkThread_pthread.cpp',
+ ],
+ }],
+ [ 'skia_os == "win"', {
+ 'include_dirs': [
+ 'config/win',
+ ],
+ 'sources!': [ # these are used everywhere but windows
+ '../src/ports/SkDebug_stdio.cpp',
+ '../src/ports/SkTime_Unix.cpp',
+ ],
+ }, { # else !win
+ 'sources!': [
+ '../src/ports/SkDebug_win.cpp',
+ '../src/ports/SkFontHost_win.cpp',
+ '../src/ports/SkThread_win.cpp',
+ '../src/ports/SkTime_win.cpp',
+ ],
+ }],
+ [ 'skia_os == "android"', {
+ 'sources!': [
+ '../src/ports/SkDebug_stdio.cpp',
+ ],
+ 'sources': [
+ '../src/ports/SkDebug_android.cpp',
+ '../src/ports/SkThread_pthread.cpp',
+ '../src/ports/SkFontHost_android.cpp',
+ '../src/ports/SkFontHost_gamma.cpp',
+ '../src/ports/SkFontHost_FreeType.cpp',
+ '../src/ports/FontHostConfiguration_android.cpp',
+ #TODO: include the ports/SkImageRef_ashmem.cpp for non-NDK builds
+ ],
+ 'dependencies': [
+ 'android_system.gyp:ft2',
+ 'android_system.gyp:expat',
+ ],
+ }],
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../include/ports',
+ ],
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/svg.gyp b/gyp/svg.gyp
new file mode 100644
index 0000000..c72b99f
--- /dev/null
+++ b/gyp/svg.gyp
@@ -0,0 +1,91 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'svg',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../include/xml',
+ '../include/utils',
+ '../include/svg',
+ ],
+ 'sources': [
+ '../include/svg/SkSVGAttribute.h',
+ '../include/svg/SkSVGBase.h',
+ '../include/svg/SkSVGPaintState.h',
+ '../include/svg/SkSVGParser.h',
+ '../include/svg/SkSVGTypes.h',
+
+ '../src/svg/SkSVGCircle.cpp',
+ '../src/svg/SkSVGCircle.h',
+ '../src/svg/SkSVGClipPath.cpp',
+ '../src/svg/SkSVGClipPath.h',
+ '../src/svg/SkSVGDefs.cpp',
+ '../src/svg/SkSVGDefs.h',
+ '../src/svg/SkSVGElements.cpp',
+ '../src/svg/SkSVGElements.h',
+ '../src/svg/SkSVGEllipse.cpp',
+ '../src/svg/SkSVGEllipse.h',
+ '../src/svg/SkSVGFeColorMatrix.cpp',
+ '../src/svg/SkSVGFeColorMatrix.h',
+ '../src/svg/SkSVGFilter.cpp',
+ '../src/svg/SkSVGFilter.h',
+ '../src/svg/SkSVGG.cpp',
+ '../src/svg/SkSVGG.h',
+ '../src/svg/SkSVGGradient.cpp',
+ '../src/svg/SkSVGGradient.h',
+ '../src/svg/SkSVGGroup.cpp',
+ '../src/svg/SkSVGGroup.h',
+ '../src/svg/SkSVGImage.cpp',
+ '../src/svg/SkSVGImage.h',
+ '../src/svg/SkSVGLine.cpp',
+ '../src/svg/SkSVGLine.h',
+ '../src/svg/SkSVGLinearGradient.cpp',
+ '../src/svg/SkSVGLinearGradient.h',
+ '../src/svg/SkSVGMask.cpp',
+ '../src/svg/SkSVGMask.h',
+ '../src/svg/SkSVGMetadata.cpp',
+ '../src/svg/SkSVGMetadata.h',
+ '../src/svg/SkSVGPaintState.cpp',
+ '../src/svg/SkSVGParser.cpp',
+ '../src/svg/SkSVGPath.cpp',
+ '../src/svg/SkSVGPath.h',
+ '../src/svg/SkSVGPolygon.cpp',
+ '../src/svg/SkSVGPolygon.h',
+ '../src/svg/SkSVGPolyline.cpp',
+ '../src/svg/SkSVGPolyline.h',
+ '../src/svg/SkSVGRadialGradient.cpp',
+ '../src/svg/SkSVGRadialGradient.h',
+ '../src/svg/SkSVGRect.cpp',
+ '../src/svg/SkSVGRect.h',
+ '../src/svg/SkSVGStop.cpp',
+ '../src/svg/SkSVGStop.h',
+ '../src/svg/SkSVGSVG.cpp',
+ '../src/svg/SkSVGSVG.h',
+ '../src/svg/SkSVGSymbol.cpp',
+ '../src/svg/SkSVGSymbol.h',
+ '../src/svg/SkSVGText.cpp',
+ '../src/svg/SkSVGText.h',
+ '../src/svg/SkSVGUse.cpp',
+ ],
+ 'sources!' : [
+ '../src/svg/SkSVG.cpp', # doesn't compile, maybe this is test code?
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../include/svg',
+ ],
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/tests.gyp b/gyp/tests.gyp
new file mode 100644
index 0000000..27a34a0
--- /dev/null
+++ b/gyp/tests.gyp
@@ -0,0 +1,95 @@
+# GYP file to build unit tests.
+{
+ 'includes': [
+ 'apptype_console.gypi',
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'tests',
+ 'type': 'executable',
+ 'include_dirs' : [
+ '../src/core',
+ '../src/gpu',
+ ],
+ 'sources': [
+ '../tests/AAClipTest.cpp',
+ '../tests/BitmapCopyTest.cpp',
+ '../tests/BitmapGetColorTest.cpp',
+ '../tests/BitSetTest.cpp',
+ '../tests/BlitRowTest.cpp',
+ '../tests/BlurTest.cpp',
+ '../tests/CanvasTest.cpp',
+ '../tests/ClampRangeTest.cpp',
+ '../tests/ClipCubicTest.cpp',
+ '../tests/ClipStackTest.cpp',
+ '../tests/ClipperTest.cpp',
+ '../tests/ColorFilterTest.cpp',
+ '../tests/ColorTest.cpp',
+ '../tests/DataRefTest.cpp',
+ '../tests/DequeTest.cpp',
+ '../tests/DrawBitmapRectTest.cpp',
+ '../tests/EmptyPathTest.cpp',
+ '../tests/FillPathTest.cpp',
+ '../tests/FlateTest.cpp',
+ '../tests/GeometryTest.cpp',
+ '../tests/GLInterfaceValidation.cpp',
+ '../tests/GLProgramsTest.cpp',
+ '../tests/InfRectTest.cpp',
+ '../tests/MathTest.cpp',
+ '../tests/MatrixTest.cpp',
+ '../tests/Matrix44Test.cpp',
+ '../tests/MemsetTest.cpp',
+ '../tests/MetaDataTest.cpp',
+ '../tests/PackBitsTest.cpp',
+ '../tests/PaintTest.cpp',
+ '../tests/ParsePathTest.cpp',
+ '../tests/PathCoverageTest.cpp',
+ '../tests/PathMeasureTest.cpp',
+ '../tests/PathTest.cpp',
+ '../tests/PDFPrimitivesTest.cpp',
+ '../tests/PointTest.cpp',
+ '../tests/QuickRejectTest.cpp',
+ '../tests/Reader32Test.cpp',
+ '../tests/ReadPixelsTest.cpp',
+ '../tests/RefDictTest.cpp',
+ '../tests/RegionTest.cpp',
+ '../tests/ScalarTest.cpp',
+ '../tests/ShaderOpacityTest.cpp',
+ '../tests/Sk64Test.cpp',
+ '../tests/skia_test.cpp',
+ '../tests/SortTest.cpp',
+ '../tests/SrcOverTest.cpp',
+ '../tests/StreamTest.cpp',
+ '../tests/StringTest.cpp',
+ '../tests/Test.cpp',
+ '../tests/Test.h',
+ '../tests/TestSize.cpp',
+ '../tests/ToUnicode.cpp',
+ '../tests/UnicodeTest.cpp',
+ '../tests/UtilsTest.cpp',
+ '../tests/WArrayTest.cpp',
+ '../tests/WritePixelsTest.cpp',
+ '../tests/Writer32Test.cpp',
+ '../tests/XfermodeTest.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'effects.gyp:effects',
+ 'experimental.gyp:experimental',
+ 'gpu.gyp:gr',
+ 'gpu.gyp:skgr',
+ 'images.gyp:images',
+ 'ports.gyp:ports',
+ 'pdf.gyp:pdf',
+ 'utils.gyp:utils',
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/tools.gyp b/gyp/tools.gyp
new file mode 100644
index 0000000..1e419cd
--- /dev/null
+++ b/gyp/tools.gyp
@@ -0,0 +1,73 @@
+# GYP file to build various tools.
+#
+# To build on Linux:
+# ./gyp_skia tools.gyp && make tools
+#
+# Building on other platforms not tested yet.
+#
+{
+ 'includes': [
+ 'apptype_console.gypi',
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ # Build all executable targets defined below.
+ 'target_name': 'tools',
+ 'type': 'none',
+ 'dependencies': [
+ 'skdiff',
+ 'skhello',
+ 'skimage',
+ ],
+ },
+ {
+ 'target_name': 'skdiff',
+ 'type': 'executable',
+ 'sources': [
+ '../src/effects/SkEffects_none.cpp',
+ '../tools/skdiff_main.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'images.gyp:images',
+ 'ports.gyp:ports',
+ 'utils.gyp:utils',
+ ],
+ },
+ {
+ 'target_name': 'skhello',
+ 'type': 'executable',
+ 'sources': [
+ '../src/effects/SkEffects_none.cpp',
+ '../tools/skhello.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'images.gyp:images',
+ 'ports.gyp:ports',
+ 'utils.gyp:utils',
+ ],
+ },
+ {
+ 'target_name': 'skimage',
+ 'type': 'executable',
+ 'sources': [
+ '../src/effects/SkEffects_none.cpp',
+ '../tools/skimage_main.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'images.gyp:images',
+ 'ports.gyp:ports',
+ 'utils.gyp:utils',
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/utils.gyp b/gyp/utils.gyp
new file mode 100644
index 0000000..b4b2be3
--- /dev/null
+++ b/gyp/utils.gyp
@@ -0,0 +1,161 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'utils',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../include/utils',
+ '../include/utils/mac',
+ '../include/utils/unix',
+ '../include/utils/win',
+ '../include/views',
+ '../include/effects',
+ '../include/xml',
+ ],
+ 'sources': [
+ '../include/utils/SkBoundaryPatch.h',
+ '../include/utils/SkCamera.h',
+ '../include/utils/SkCubicInterval.h',
+ '../include/utils/SkCullPoints.h',
+ '../include/utils/SkDumpCanvas.h',
+ '../include/utils/SkInterpolator.h',
+ '../include/utils/SkLayer.h',
+ '../include/utils/SkMatrix44.h',
+ '../include/utils/SkMeshUtils.h',
+ '../include/utils/SkNinePatch.h',
+ '../include/utils/SkNWayCanvas.h',
+ '../include/utils/SkParse.h',
+ '../include/utils/SkParsePaint.h',
+ '../include/utils/SkParsePath.h',
+ '../include/utils/SkProxyCanvas.h',
+ '../include/utils/SkSfntUtils.h',
+ '../include/utils/SkTextBox.h',
+ '../include/utils/SkUnitMappers.h',
+ '../include/utils/SkWGL.h',
+
+ '../src/utils/SkBoundaryPatch.cpp',
+ '../src/utils/SkCamera.cpp',
+ '../src/utils/SkColorMatrix.cpp',
+ '../src/utils/SkCubicInterval.cpp',
+ '../src/utils/SkCullPoints.cpp',
+ '../src/utils/SkDumpCanvas.cpp',
+ '../src/utils/SkInterpolator.cpp',
+ '../src/utils/SkLayer.cpp',
+ '../src/utils/SkMatrix44.cpp',
+ '../src/utils/SkMeshUtils.cpp',
+ '../src/utils/SkNinePatch.cpp',
+ '../src/utils/SkNWayCanvas.cpp',
+ '../src/utils/SkOSFile.cpp',
+ '../src/utils/SkParse.cpp',
+ '../src/utils/SkParseColor.cpp',
+ '../src/utils/SkParsePath.cpp',
+ '../src/utils/SkProxyCanvas.cpp',
+ '../src/utils/SkSfntUtils.cpp',
+ '../src/utils/SkUnitMappers.cpp',
+
+ #mac
+ '../include/utils/mac/SkCGUtils.h',
+ '../src/utils/mac/SkCreateCGImageRef.cpp',
+
+ #sdl
+ '../src/utils/SDL/SkOSWindow_SDL.cpp',
+
+ #*nix
+ '../src/utils/unix/keysym2ucs.c',
+ '../src/utils/unix/SkOSWindow_Unix.cpp',
+
+ #windows
+ '../include/utils/win/SkAutoCoInitialize.h',
+ '../include/utils/win/SkHRESULT.h',
+ '../include/utils/win/SkIStream.h',
+ '../include/utils/win/SkTScopedComPtr.h',
+ '../src/utils/win/SkAutoCoInitialize.cpp',
+ '../src/utils/win/skia_win.cpp',
+ '../src/utils/win/SkHRESULT.cpp',
+ '../src/utils/win/SkIStream.cpp',
+ '../src/utils/win/SkOSWindow_win.cpp',
+ '../src/utils/win/SkWGL_win.cpp',
+ ],
+ 'sources!': [
+ '../src/utils/SDL/SkOSWindow_SDL.cpp',
+ ],
+ 'conditions': [
+ [ 'skia_os == "mac"', {
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/AGL.framework',
+ ],
+ },
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../include/utils/mac',
+ ],
+ },
+ },{ #else if 'skia_os != "mac"'
+ 'include_dirs!': [
+ '../include/utils/mac',
+ ],
+ 'sources!': [
+ '../include/utils/mac/SkCGUtils.h',
+ '../src/utils/mac/SkCreateCGImageRef.cpp',
+ '../src/utils/mac/skia_mac.mm',
+ '../src/utils/mac/SkOSWindow_Mac.mm',
+ ],
+ }],
+ [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
+ 'link_settings': {
+ 'libraries': [
+ '-lGL',
+ '-lGLU',
+ ],
+ },
+ },{ #else if 'skia_os not in ["linux", "freebsd", "openbsd", "solaris"]'
+ 'include_dirs!': [
+ '../include/utils/unix',
+ ],
+ 'sources!': [
+ '../src/utils/unix/keysym2ucs.c',
+ '../src/utils/unix/SkOSWindow_Unix.cpp',
+ ],
+ }],
+ [ 'skia_os == "win"', {
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../include/utils/win',
+ ],
+ },
+ },{ #else if 'skia_os != "win"'
+ 'include_dirs!': [
+ '../include/utils/win',
+ ],
+ 'sources/': [ ['exclude', '_win.(h|cpp)$'],],
+ 'sources!': [
+ '../include/utils/win/SkAutoCoInitialize.h',
+ '../include/utils/win/SkHRESULT.h',
+ '../include/utils/win/SkIStream.h',
+ '../include/utils/win/SkTScopedComPtr.h',
+ '../src/utils/win/SkAutoCoInitialize.cpp',
+ '../src/utils/win/SkHRESULT.cpp',
+ '../src/utils/win/SkIStream.cpp',
+ ],
+ }],
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../include/utils',
+ ],
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/views.gyp b/gyp/views.gyp
new file mode 100644
index 0000000..e91b28e
--- /dev/null
+++ b/gyp/views.gyp
@@ -0,0 +1,118 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'views',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../include/views',
+ '../include/xml',
+ '../include/utils',
+ '../include/images',
+ '../include/animator',
+ '../include/effects',
+ ],
+ 'sources': [
+ '../include/views/SkApplication.h',
+ '../include/views/SkBGViewArtist.h',
+ '../include/views/SkBorderView.h',
+ '../include/views/SkEvent.h',
+ '../include/views/SkEventSink.h',
+ '../include/views/SkImageView.h',
+ '../include/views/SkKey.h',
+ '../include/views/SkOSMenu.h',
+ '../include/views/SkOSWindow_Mac.h',
+ '../include/views/SkOSWindow_SDL.h',
+ '../include/views/SkOSWindow_Unix.h',
+ '../include/views/SkOSWindow_Win.h',
+ #'../include/views/SkOSWindow_wxwidgets.h',
+ '../include/views/SkProgressBarView.h',
+ '../include/views/SkScrollBarView.h',
+ '../include/views/SkStackViewLayout.h',
+ '../include/views/SkSystemEventTypes.h',
+ '../include/views/SkTouchGesture.h',
+ '../include/views/SkView.h',
+ '../include/views/SkViewInflate.h',
+ '../include/views/SkWidget.h',
+ '../include/views/SkWidgetViews.h',
+ '../include/views/SkWindow.h',
+
+ '../src/views/SkBGViewArtist.cpp',
+ '../src/views/SkBorderView.cpp',
+ '../src/views/SkEvent.cpp',
+ '../src/views/SkEventSink.cpp',
+ '../src/views/SkImageView.cpp',
+ '../src/views/SkListView.cpp',
+ '../src/views/SkListWidget.cpp',
+ '../src/views/SkOSMenu.cpp',
+ '../src/views/SkParsePaint.cpp',
+ '../src/views/SkProgressBarView.cpp',
+ '../src/views/SkProgressView.cpp',
+ '../src/views/SkScrollBarView.cpp',
+ '../src/views/SkStackViewLayout.cpp',
+ '../src/views/SkStaticTextView.cpp',
+ '../src/views/SkTagList.cpp',
+ '../src/views/SkTagList.h',
+ '../src/views/SkTextBox.cpp',
+ '../src/views/SkTouchGesture.cpp',
+ '../src/views/SkView.cpp',
+ '../src/views/SkViewInflate.cpp',
+ '../src/views/SkViewPriv.cpp',
+ '../src/views/SkViewPriv.h',
+ '../src/views/SkWidget.cpp',
+ '../src/views/SkWidgets.cpp',
+ '../src/views/SkWidgetViews.cpp',
+ '../src/views/SkWindow.cpp',
+ ],
+ 'sources!' : [
+ '../src/views/SkListView.cpp', #depends on missing SkListSource implementation
+ '../src/views/SkListWidget.cpp', #depends on missing SkListSource implementation
+ ],
+ 'conditions': [
+ [ 'skia_os == "mac"', {
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
+ '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
+ ],
+ },
+ }],
+ [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
+ 'sources': [
+ '../unix_test_app/main.cpp',
+ ],
+ }],
+ [ 'skia_os == "android"', {
+ # Android does not support animator so we need to remove all files
+ # that have references to it.
+ 'include_dirs!': [
+ '../include/animator',
+ ],
+ 'sources!': [
+ '../src/views/SkBorderView.cpp',
+ '../src/views/SkImageView.cpp',
+ '../src/views/SkProgressBarView.cpp',
+ '../src/views/SkScrollBarView.cpp',
+ '../src/views/SkStaticTextView.cpp',
+ '../src/views/SkWidgetViews.cpp',
+ ],
+ }],
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../include/views',
+ ],
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/xml.gyp b/gyp/xml.gyp
new file mode 100644
index 0000000..7da8666
--- /dev/null
+++ b/gyp/xml.gyp
@@ -0,0 +1,58 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'xml',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ '../include/xml',
+ '../include/utils',
+ ],
+ 'sources': [
+ '../include/xml/SkBML_WXMLParser.h',
+ '../include/xml/SkBML_XMLParser.h',
+ '../include/xml/SkDOM.h',
+ '../include/xml/SkJS.h',
+ '../include/xml/SkXMLParser.h',
+ '../include/xml/SkXMLWriter.h',
+
+ '../src/xml/SkBML_Verbs.h',
+ '../src/xml/SkBML_XMLParser.cpp',
+ '../src/xml/SkDOM.cpp',
+ '../src/xml/SkJS.cpp',
+ '../src/xml/SkJSDisplayable.cpp',
+ '../src/xml/SkXMLParser.cpp',
+ '../src/xml/SkXMLPullParser.cpp',
+ '../src/xml/SkXMLWriter.cpp',
+ ],
+ 'sources!': [
+ '../src/xml/SkXMLPullParser.cpp', #if 0 around class decl in header
+ ],
+ 'conditions': [
+ [ 'skia_os in ["win", "mac", "linux", "freebsd", "openbsd", "solaris", "android"]', {
+ 'sources!': [
+ # no jsapi.h by default on system
+ '../include/xml/SkJS.h',
+ '../src/xml/SkJS.cpp',
+ '../src/xml/SkJSDisplayable.cpp',
+ ],
+ }],
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../include/xml',
+ ],
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/xps.gyp b/gyp/xps.gyp
new file mode 100644
index 0000000..ff68d6f
--- /dev/null
+++ b/gyp/xps.gyp
@@ -0,0 +1,67 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'xps',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'core.gyp:core',
+ 'images.gyp:images',
+ 'utils.gyp:utils',
+ 'pdf.gyp:pdf', # needed to get SkBitSet
+ ],
+ 'include_dirs': [
+ '../include/device/xps',
+ '../include/utils/win',
+ '../src/core', # needed to get SkGlyphCache.h
+ ],
+ 'sources': [
+ '../include/device/xps/SkConstexprMath.h',
+ '../include/device/xps/SkXPSDevice.h',
+
+ '../src/device/xps/SkXPSDevice.cpp',
+ ],
+ 'conditions': [
+ [ 'skia_os == "win"', {
+ 'link_settings': {
+ 'libraries': [
+ 'T2Embed.lib',
+ 'FontSub.lib',
+ ],
+ },
+ },{ #else if 'skia_os != "win"'
+ 'include_dirs!': [
+ '../include/utils/win',
+ ],
+ 'sources!': [
+ '../include/device/xps/SkXPSDevice.h',
+
+ '../src/device/xps/SkXPSDevice.cpp',
+ ],
+ }],
+ ],
+ # This section makes all targets that depend on this target
+ # #define SK_SUPPORT_XPS and have access to the xps header files.
+ 'direct_dependent_settings': {
+ 'conditions': [
+ [ 'skia_os == "win"', {
+ 'defines': [
+ 'SK_SUPPORT_XPS',
+ ],
+ }],
+ ],
+ 'include_dirs': [
+ '../include/device/xps',
+ ],
+ },
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/zlib.gyp b/gyp/zlib.gyp
new file mode 100644
index 0000000..5ed9d14
--- /dev/null
+++ b/gyp/zlib.gyp
@@ -0,0 +1,40 @@
+{
+ 'includes': [
+ 'common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'zlib',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../include/config',
+ '../include/core',
+ ],
+ 'sources': [
+ '../include/core/SkFlate.h',
+
+ '../src/core/SkFlate.cpp',
+ ],
+ 'conditions': [
+ [ 'skia_os == "mac"', {
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/usr/lib/libz.dylib',
+ ],
+ },
+ 'defines': [ 'SK_ZLIB_INCLUDE=<zlib.h>', ],
+ }],
+ [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "android"]', {
+ 'link_settings': { 'libraries': [ '-lz', ], },
+ 'defines': [ 'SK_ZLIB_INCLUDE=<zlib.h>', ],
+ }],
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2: