aboutsummaryrefslogtreecommitdiffhomepage
path: root/gyp
diff options
context:
space:
mode:
authorGravatar djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-06-03 12:10:19 +0000
committerGravatar djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-06-03 12:10:19 +0000
commit52f0297aafc1e267fda6e612f168a9fe5bc62784 (patch)
treed25187b0663a80e6dce4a1e69831dff9727805c7 /gyp
parent2dd76d7668d8175ea1ab8f7ad27a1bfd5b917a84 (diff)
Prepare skia for shared library build on android
This reapplies revision 9378 after the buildbot has been updated. R=borenet@google.com, djsollen@google.com Review URL: https://codereview.chromium.org/15855006 git-svn-id: http://skia.googlecode.com/svn/trunk@9395 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gyp')
-rw-r--r--gyp/FileReaderApp.gyp3
-rw-r--r--gyp/SampleApp.gyp4
-rw-r--r--gyp/SimpleCocoaApp.gyp2
-rw-r--r--gyp/SimpleiOSApp.gyp4
-rw-r--r--gyp/bench.gyp6
-rw-r--r--gyp/common.gypi9
-rw-r--r--gyp/common_conditions.gypi11
-rw-r--r--gyp/common_variables.gypi2
-rw-r--r--gyp/core.gyp8
-rw-r--r--gyp/debugger.gyp7
-rw-r--r--gyp/effects.gyp7
-rw-r--r--gyp/flags.gyp3
-rw-r--r--gyp/gm.gyp7
-rw-r--r--gyp/most.gyp2
-rw-r--r--gyp/nacl.gyp2
-rw-r--r--gyp/pathops_unittest.gyp5
-rw-r--r--gyp/pdf.gyp2
-rw-r--r--gyp/pixman_test.gyp4
-rw-r--r--gyp/ports.gyp9
-rw-r--r--gyp/sfnt.gyp5
-rw-r--r--gyp/shapeops_demo.gyp4
-rw-r--r--gyp/shapeops_edge.gyp4
-rw-r--r--gyp/shapeops_tool.gyp10
-rw-r--r--gyp/skia_lib.gyp (renamed from gyp/skia_base_libs.gyp)24
-rw-r--r--gyp/tests.gyp6
-rw-r--r--gyp/tools.gyp47
-rw-r--r--gyp/xps.gyp3
27 files changed, 91 insertions, 109 deletions
diff --git a/gyp/FileReaderApp.gyp b/gyp/FileReaderApp.gyp
index bcd0f0dc38..f590ffebb3 100644
--- a/gyp/FileReaderApp.gyp
+++ b/gyp/FileReaderApp.gyp
@@ -18,8 +18,7 @@
'../src/utils/mac/SkOSWindow_Mac.cpp',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
+ 'skia_lib.gyp:skia_lib',
'views.gyp:views',
'xml.gyp:xml',
],
diff --git a/gyp/SampleApp.gyp b/gyp/SampleApp.gyp
index 5531605512..59d2f84d32 100644
--- a/gyp/SampleApp.gyp
+++ b/gyp/SampleApp.gyp
@@ -142,9 +142,7 @@
'../samplecode/SampleFontCache.cpp',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
'views.gyp:views',
'animator.gyp:animator',
'xml.gyp:xml',
diff --git a/gyp/SimpleCocoaApp.gyp b/gyp/SimpleCocoaApp.gyp
index 3e17ad5b98..6d7b925807 100644
--- a/gyp/SimpleCocoaApp.gyp
+++ b/gyp/SimpleCocoaApp.gyp
@@ -25,7 +25,7 @@
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
+ 'skia_lib.gyp:skia_lib',
'views.gyp:views',
'xml.gyp:xml',
],
diff --git a/gyp/SimpleiOSApp.gyp b/gyp/SimpleiOSApp.gyp
index 3678e7cd1a..cb00f81537 100644
--- a/gyp/SimpleiOSApp.gyp
+++ b/gyp/SimpleiOSApp.gyp
@@ -28,9 +28,7 @@
'../experimental/SimpleiOSApp/SimpleiOSApp-Info.plist',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
'views.gyp:views',
'xml.gyp:xml',
],
diff --git a/gyp/bench.gyp b/gyp/bench.gyp
index be768f04ae..49e6c2c103 100644
--- a/gyp/bench.gyp
+++ b/gyp/bench.gyp
@@ -17,9 +17,7 @@
'bench.gypi'
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
'bench_timer',
],
'conditions': [
@@ -50,7 +48,7 @@
'../src/gpu',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
+ 'skia_lib.gyp:skia_lib',
],
'conditions': [
[ 'skia_os not in ["mac", "ios"]', {
diff --git a/gyp/common.gypi b/gyp/common.gypi
index d3e1498efc..2be8bb8142 100644
--- a/gyp/common.gypi
+++ b/gyp/common.gypi
@@ -39,6 +39,15 @@
}],
],
},
+ # Validate the 'skia_os' setting against 'skia_shared_lib', because shared
+ # library build is only supported on Android.
+ 'variables': {
+ 'conditions': [
+ [ 'skia_os != "android" and skia_shared_lib', {
+ 'error': '<!(Skia shared lib build only currently supported on Android.)',
+ }],
+ ],
+ },
'includes': [
'common_conditions.gypi',
],
diff --git a/gyp/common_conditions.gypi b/gyp/common_conditions.gypi
index fda122212c..64e7c13594 100644
--- a/gyp/common_conditions.gypi
+++ b/gyp/common_conditions.gypi
@@ -326,6 +326,17 @@
[ 'skia_profile_enabled == 1', {
'cflags': ['-g', '-fno-omit-frame-pointer', '-marm', '-mapcs'],
}],
+ [ 'skia_shared_lib', {
+ 'cflags': [
+ '-fPIC',
+ ],
+ 'defines': [
+ 'GR_DLL=1',
+ 'GR_IMPLEMENTATION=1',
+ 'SKIA_DLL',
+ 'SKIA_IMPLEMENTATION=1',
+ ],
+ }],
[ 'skia_arch_type == "arm" and arm_thumb == 1', {
'cflags': [
'-mthumb',
diff --git a/gyp/common_variables.gypi b/gyp/common_variables.gypi
index 4f9f5422c4..ac937bd5c5 100644
--- a/gyp/common_variables.gypi
+++ b/gyp/common_variables.gypi
@@ -90,6 +90,7 @@
'skia_osx_sdkroot%': '',
'skia_profile_enabled%': 0,
'skia_win_debuggers_path%': '',
+ 'skia_shared_lib%': 0,
},
'conditions': [
@@ -121,6 +122,7 @@
'skia_gpu%': '<(skia_gpu)',
'skia_osx_sdkroot%': '<(skia_osx_sdkroot)',
'skia_profile_enabled%': '<(skia_profile_enabled)',
+ 'skia_shared_lib%': '<(skia_shared_lib)',
'skia_static_initializers%': '<(skia_static_initializers)',
'ios_sdk_version%': '6.0',
'skia_win_debuggers_path%': '<(skia_win_debuggers_path)',
diff --git a/gyp/core.gyp b/gyp/core.gyp
index 9e0792b773..d018cbea23 100644
--- a/gyp/core.gyp
+++ b/gyp/core.gyp
@@ -76,6 +76,11 @@
'config/win',
],
}],
+ [ 'skia_os == "android"', {
+ 'sources': [
+ '../src/core/SkPaintOptionsAndroid.cpp',
+ ],
+ }],
[ 'skia_os == "android" and skia_arch_type == "arm" and armv7 == 1', {
# The code in SkUtilsArm.cpp can be used on an ARM-based Linux system, not only Android.
'sources': [
@@ -120,9 +125,6 @@
}],
],
},
- 'dependencies': [
- 'opts.gyp:opts'
- ],
},
],
}
diff --git a/gyp/debugger.gyp b/gyp/debugger.gyp
index b935fb056d..9ea300d9b2 100644
--- a/gyp/debugger.gyp
+++ b/gyp/debugger.gyp
@@ -94,17 +94,12 @@
'../debugger/SkObjectParser.cpp',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'images.gyp:images',
- 'effects.gyp:effects',
+ 'skia_lib.gyp:skia_lib',
'bench.gyp:bench_timer',
'tools.gyp:picture_renderer',
],
'conditions': [
[ 'skia_os == "nacl"', {
- 'dependencies': [
- 'utils.gyp:utils', # For SkBase64.h
- ],
'include_dirs': [
'../src/utils',
],
diff --git a/gyp/effects.gyp b/gyp/effects.gyp
index e110c9f069..91458eb96f 100644
--- a/gyp/effects.gyp
+++ b/gyp/effects.gyp
@@ -9,7 +9,10 @@
'effects.gypi',
],
'include_dirs': [
+ '../include/config',
+ '../include/core',
'../include/effects',
+ '../include/utils',
'../src/core',
],
'direct_dependent_settings': {
@@ -17,15 +20,13 @@
'../include/effects',
],
},
- 'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- ],
'sources': [
'effects.gypi', # Makes the gypi appear in IDEs (but does not modify the build).
],
'conditions': [
['skia_gpu == 1', {
'include_dirs': [
+ '../include/gpu',
'../src/gpu',
],
}],
diff --git a/gyp/flags.gyp b/gyp/flags.gyp
index aa83ea9e01..e80b0a32b9 100644
--- a/gyp/flags.gyp
+++ b/gyp/flags.gyp
@@ -10,8 +10,7 @@
'../tools/flags/SkCommandLineFlags.cpp',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'core.gyp:core',
+ 'skia_lib.gyp:skia_lib',
],
'direct_dependent_settings': {
'include_dirs': [
diff --git a/gyp/gm.gyp b/gyp/gm.gyp
index fa413c37dc..a8b15339d6 100644
--- a/gyp/gm.gyp
+++ b/gyp/gm.gyp
@@ -16,7 +16,7 @@
'../gm/gm_expectations.cpp',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
+ 'skia_lib.gyp:skia_lib',
'core.gyp:core',
'images.gyp:images',
'jsoncpp.gyp:jsoncpp',
@@ -57,14 +57,11 @@
'../src/pipe/utils/SamplePipeControllers.cpp',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
+ 'skia_lib.gyp:skia_lib',
'flags.gyp:flags',
'gm.gyp:gm_expectations',
- 'images.gyp:images',
'jsoncpp.gyp:jsoncpp',
'pdf.gyp:pdf',
- 'utils.gyp:utils',
],
'conditions': [
['skia_os == "mac"', {
diff --git a/gyp/most.gyp b/gyp/most.gyp
index d32987f049..1ad25efe39 100644
--- a/gyp/most.gyp
+++ b/gyp/most.gyp
@@ -10,7 +10,7 @@
'type': 'none',
'dependencies': [
# The minimal set of static libraries for basic Skia functionality.
- 'skia_base_libs.gyp:skia_base_libs',
+ 'skia_lib.gyp:skia_lib',
'bench.gyp:bench',
'gm.gyp:gm',
diff --git a/gyp/nacl.gyp b/gyp/nacl.gyp
index 484570be17..3dd4c8ee35 100644
--- a/gyp/nacl.gyp
+++ b/gyp/nacl.gyp
@@ -5,7 +5,7 @@
'target_name': 'nacl_interface',
'type': 'static_library',
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
+ 'skia_lib.gyp:skia_lib',
],
'include_dirs': [
# For SkThreadUtils.h
diff --git a/gyp/pathops_unittest.gyp b/gyp/pathops_unittest.gyp
index a3ae936d92..c7c32ef2c9 100644
--- a/gyp/pathops_unittest.gyp
+++ b/gyp/pathops_unittest.gyp
@@ -27,11 +27,8 @@
'../tests/Test.h',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
+ 'skia_lib.gyp:skia_lib',
'flags.gyp:flags',
- 'images.gyp:images',
- 'utils.gyp:utils',
],
'conditions': [
[ 'skia_gpu == 1', {
diff --git a/gyp/pdf.gyp b/gyp/pdf.gyp
index 0e759142ca..31b48dbe28 100644
--- a/gyp/pdf.gyp
+++ b/gyp/pdf.gyp
@@ -6,7 +6,7 @@
'type': 'static_library',
'standalone_static_library': 1,
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
+ 'skia_lib.gyp:skia_lib',
'zlib.gyp:zlib',
],
'include_dirs': [
diff --git a/gyp/pixman_test.gyp b/gyp/pixman_test.gyp
index 64c5a9c568..a571dd79ef 100644
--- a/gyp/pixman_test.gyp
+++ b/gyp/pixman_test.gyp
@@ -118,10 +118,8 @@
'../../../pixman/pixman/pixman.h',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
+ 'skia_lib.gyp:skia_lib',
'experimental.gyp:experimental',
- 'images.gyp:images',
'pdf.gyp:pdf',
'views.gyp:views',
'xml.gyp:xml',
diff --git a/gyp/ports.gyp b/gyp/ports.gyp
index fc9bb9ba4c..3422b8e30a 100644
--- a/gyp/ports.gyp
+++ b/gyp/ports.gyp
@@ -6,18 +6,17 @@
'product_name': 'skia_ports',
'type': 'static_library',
'standalone_static_library': 1,
- 'dependencies': [
- 'core.gyp:core',
- 'sfnt.gyp:sfnt',
- 'utils.gyp:utils',
- ],
'include_dirs': [
+ '../include/config',
+ '../include/core',
'../include/effects',
'../include/images',
'../include/ports',
+ '../include/utils',
'../include/xml',
'../src/core',
'../src/lazy',
+ '../src/sfnt',
'../src/utils',
],
'sources': [
diff --git a/gyp/sfnt.gyp b/gyp/sfnt.gyp
index 438f33e8e6..cc21b222bc 100644
--- a/gyp/sfnt.gyp
+++ b/gyp/sfnt.gyp
@@ -5,10 +5,9 @@
'product_name': 'skia_sfnt',
'type': 'static_library',
'standalone_static_library': 1,
- 'dependencies': [
- 'core.gyp:core',
- ],
'include_dirs': [
+ '../include/config',
+ '../include/core',
'../src/sfnt',
],
'sources': [
diff --git a/gyp/shapeops_demo.gyp b/gyp/shapeops_demo.gyp
index 4537c01b73..83836ee730 100644
--- a/gyp/shapeops_demo.gyp
+++ b/gyp/shapeops_demo.gyp
@@ -69,9 +69,7 @@
'../experimental/Intersection/TriangleUtilities.h',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
'views.gyp:views',
'xml.gyp:xml',
],
diff --git a/gyp/shapeops_edge.gyp b/gyp/shapeops_edge.gyp
index 8c67cf7991..e4e7d72dff 100644
--- a/gyp/shapeops_edge.gyp
+++ b/gyp/shapeops_edge.gyp
@@ -115,9 +115,7 @@
'../experimental/Intersection/thingsToDo.txt',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
],
'conditions': [
[ 'skia_gpu == 1', {
diff --git a/gyp/shapeops_tool.gyp b/gyp/shapeops_tool.gyp
index 3b1408a5ff..35caccb5ae 100644
--- a/gyp/shapeops_tool.gyp
+++ b/gyp/shapeops_tool.gyp
@@ -15,23 +15,15 @@
'../experimental/Intersection/AddTestOutput/main.cpp',
],
'dependencies': [
- 'core.gyp:core',
- 'effects.gyp:effects',
+ 'skia_lib.gyp:skia_lib',
'experimental.gyp:experimental',
- 'images.gyp:images',
- 'ports.gyp:ports',
'pdf.gyp:pdf',
- 'utils.gyp:utils',
],
'conditions': [
[ 'skia_gpu == 1', {
'include_dirs': [
'../src/gpu',
],
- 'dependencies': [
- 'gpu.gyp:gr',
- 'gpu.gyp:skgr',
- ],
}],
],
},
diff --git a/gyp/skia_base_libs.gyp b/gyp/skia_lib.gyp
index 83cc7c7529..f85c5ad127 100644
--- a/gyp/skia_base_libs.gyp
+++ b/gyp/skia_lib.gyp
@@ -1,10 +1,14 @@
# The minimal set of static libraries for basic Skia functionality.
+
{
'variables': {
'component_libs': [
'core.gyp:core',
+ 'effects.gyp:effects',
+ 'images.gyp:images',
'opts.gyp:opts',
'ports.gyp:ports',
+ 'sfnt.gyp:sfnt',
'utils.gyp:utils',
],
'conditions': [
@@ -33,8 +37,24 @@
},
'targets': [
{
- 'target_name': 'skia_base_libs',
- 'type': 'none',
+ 'target_name': 'skia_lib',
+ 'conditions': [
+ [ 'skia_shared_lib', {
+ 'conditions': [
+ [ 'skia_os == "android"', {
+ # The name skia will confuse the linker on android into using the system's libskia.so
+ # instead of the one packaged with the apk. We simply choose a different name to fix
+ # this.
+ 'product_name': 'skia_android',
+ }, {
+ 'product_name': 'skia',
+ }],
+ ],
+ 'type': 'shared_library',
+ }, {
+ 'type': 'none',
+ }],
+ ],
'dependencies': [
'<@(component_libs)',
],
diff --git a/gyp/tests.gyp b/gyp/tests.gyp
index 10a4ba45e7..557fea5a28 100644
--- a/gyp/tests.gyp
+++ b/gyp/tests.gyp
@@ -128,15 +128,11 @@
'../src/pipe/utils/SamplePipeControllers.cpp',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
+ 'skia_lib.gyp:skia_lib',
'flags.gyp:flags',
'experimental.gyp:experimental',
- 'images.gyp:images',
'pdf.gyp:pdf',
'tools.gyp:picture_utils',
- 'utils.gyp:utils',
- 'sfnt.gyp:sfnt',
],
'conditions': [
[ 'skia_gpu == 1', {
diff --git a/gyp/tools.gyp b/gyp/tools.gyp
index ede028a0d7..25aa1dbf06 100644
--- a/gyp/tools.gyp
+++ b/gyp/tools.gyp
@@ -37,9 +37,7 @@
'../tools/skdiff_utils.h',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
],
},
{
@@ -55,9 +53,7 @@
'../tools/skdiff_utils.h',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
],
},
{
@@ -67,10 +63,8 @@
'../tools/skhello.cpp',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
+ 'skia_lib.gyp:skia_lib',
'flags.gyp:flags',
- 'images.gyp:images',
],
},
{
@@ -84,11 +78,9 @@
'../src/utils/',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
+ 'skia_lib.gyp:skia_lib',
'flags.gyp:flags',
'gm.gyp:gm_expectations',
- 'images.gyp:images',
'jsoncpp.gyp:jsoncpp',
'utils.gyp:utils',
],
@@ -102,7 +94,7 @@
'../src/utils/SkLua.cpp',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
+ 'skia_lib.gyp:skia_lib',
'effects.gyp:effects',
'utils.gyp:utils',
'images.gyp:images',
@@ -123,10 +115,9 @@
'../src/pipe/utils/',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
+ 'skia_lib.gyp:skia_lib',
'tools.gyp:picture_renderer',
'tools.gyp:picture_utils',
- 'ports.gyp:ports',
'flags.gyp:flags',
],
},
@@ -146,12 +137,10 @@
'../src/lazy/',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
+ 'skia_lib.gyp:skia_lib',
'tools.gyp:picture_utils',
'tools.gyp:picture_renderer',
'bench.gyp:bench_timer',
- 'ports.gyp:ports',
'flags.gyp:flags',
],
},
@@ -174,9 +163,7 @@
'../src/utils/',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
'tools.gyp:picture_utils',
'flags.gyp:flags',
],
@@ -189,9 +176,6 @@
},
],
],
- 'export_dependent_settings': [
- 'images.gyp:images',
- ],
},
{
'target_name': 'render_pdfs',
@@ -206,11 +190,8 @@
'../src/utils/',
],
'dependencies': [
- 'core.gyp:core',
- 'effects.gyp:effects',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
'pdf.gyp:pdf',
- 'ports.gyp:ports',
'tools.gyp:picture_utils',
],
'conditions': [
@@ -257,7 +238,7 @@
'../tools/picture_utils.h',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
+ 'skia_lib.gyp:skia_lib',
],
'direct_dependent_settings': {
'include_dirs': [
@@ -272,9 +253,7 @@
'../tools/pinspect.cpp',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
],
},
{
@@ -296,9 +275,7 @@
'../debugger/SkObjectParser.cpp',
],
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'effects.gyp:effects',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
'tools.gyp:picture_utils',
],
},
diff --git a/gyp/xps.gyp b/gyp/xps.gyp
index 376874205c..29d5e075a9 100644
--- a/gyp/xps.gyp
+++ b/gyp/xps.gyp
@@ -6,8 +6,7 @@
'type': 'static_library',
'standalone_static_library': 1,
'dependencies': [
- 'skia_base_libs.gyp:skia_base_libs',
- 'images.gyp:images',
+ 'skia_lib.gyp:skia_lib',
'sfnt.gyp:sfnt',
],
'include_dirs': [