OLD | NEW |
| 1 # Copyright 2015 Google Inc. |
| 2 # |
| 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. |
| 5 |
| 6 # This GYP file stores the dependencies necessary to build Skia on the Android |
| 7 # platform. The OS doesn't provide many stable libraries as part of the |
| 8 # distribution so we have to build a few of them ourselves. |
1 # | 9 # |
2 { | 10 { |
| 11 'variables': { |
| 12 'conditions': [ |
| 13 [ 'skia_arch_type == "arm" and arm_version != 7', { |
| 14 'android_arch%': "armeabi", |
| 15 }], |
| 16 [ 'skia_arch_type == "arm" and arm_version == 7', { |
| 17 'android_arch%': "armeabi-v7a", |
| 18 }], |
| 19 [ 'skia_arch_type == "arm64"', { |
| 20 'android_arch%': "arm64-v8a", |
| 21 }], |
| 22 [ 'skia_arch_type == "x86"', { |
| 23 'android_arch%': "x86", |
| 24 }], |
| 25 [ 'skia_arch_type == "x86_64"', { |
| 26 'android_arch%': "x86_64", |
| 27 }], |
| 28 [ 'skia_arch_type == "mips" and skia_arch_width == 32', { |
| 29 'android_arch%': "mips", |
| 30 }], |
| 31 [ 'skia_arch_type == "mips" and skia_arch_width == 64', { |
| 32 'android_arch%': "mips64", |
| 33 }], |
| 34 ], |
| 35 }, |
3 'targets': [ | 36 'targets': [ |
4 { | 37 { |
5 'target_name': 'CopySampleAppDeps', | 38 'target_name': 'CopySampleAppDeps', |
6 'type': 'none', | 39 'type': 'none', |
7 'dependencies': [ | 40 'dependencies': [ |
8 'skia_lib.gyp:skia_lib', | 41 'skia_lib.gyp:skia_lib', |
9 'SampleApp.gyp:SampleApp', | 42 'SampleApp.gyp:SampleApp', |
10 ], | 43 ], |
11 'variables': { | |
12 'conditions': [ | |
13 [ 'skia_arch_type == "arm" and arm_version != 7', { | |
14 'android_arch%': "armeabi", | |
15 }], | |
16 [ 'skia_arch_type == "arm" and arm_version == 7', { | |
17 'android_arch%': "armeabi-v7a", | |
18 }], | |
19 [ 'skia_arch_type == "arm64"', { | |
20 'android_arch%': "arm64-v8a", | |
21 }], | |
22 [ 'skia_arch_type == "x86"', { | |
23 'android_arch%': "x86", | |
24 }], | |
25 [ 'skia_arch_type == "x86_64"', { | |
26 'android_arch%': "x86_64", | |
27 }], | |
28 [ 'skia_arch_type == "mips" and skia_arch_width == 32', { | |
29 'android_arch%': "mips", | |
30 }], | |
31 [ 'skia_arch_type == "mips" and skia_arch_width == 64', { | |
32 'android_arch%': "mips64", | |
33 }], | |
34 ], | |
35 }, | |
36 'copies': [ | 44 'copies': [ |
37 # Copy all shared libraries into the Android app's libs folder. Note | 45 # Copy all shared libraries into the Android app's libs folder. Note |
38 # that this copy requires us to build SkiaAndroidApp after those | 46 # that this copy requires us to build SkiaAndroidApp after those |
39 # libraries, so that they exist by the time it occurs. If there are no | 47 # libraries, so that they exist by the time it occurs. If there are no |
40 # libraries to copy, this will cause an error in Make, but the app will | 48 # libraries to copy, this will cause an error in Make, but the app will |
41 # still build. | 49 # still build. |
42 { | 50 { |
43 'destination': '<(PRODUCT_DIR)/android/libs/<(android_arch)', | 51 'destination': '<(PRODUCT_DIR)/android/SampleApp/libs/<(android_arch)'
, |
44 'conditions': [ | 52 'conditions': [ |
45 [ 'skia_shared_lib', { | 53 [ 'skia_shared_lib', { |
46 'files': [ | 54 'files': [ |
47 '<(SHARED_LIB_DIR)/libSampleApp.so', | 55 '<(SHARED_LIB_DIR)/libSampleApp.so', |
48 '<(SHARED_LIB_DIR)/libskia_android.so', | 56 '<(SHARED_LIB_DIR)/libskia_android.so', |
49 ]}, { | 57 ]}, { |
50 'files': [ | 58 'files': [ |
51 '<(SHARED_LIB_DIR)/libSampleApp.so', | 59 '<(SHARED_LIB_DIR)/libSampleApp.so', |
52 ]} | 60 ]} |
53 ], | 61 ], |
54 ], | 62 ], |
55 }, | 63 }, |
56 ], | 64 ], |
57 }, | 65 }, |
58 { | 66 { |
59 'target_name': 'SampleApp_APK', | 67 'target_name': 'SampleApp_APK', |
60 'type': 'none', | 68 'type': 'none', |
61 'dependencies': [ | 69 'dependencies': [ |
62 'CopySampleAppDeps', | 70 'CopySampleAppDeps', |
63 ], | 71 ], |
64 'variables': { | 72 'variables': { |
65 'ANDROID_SDK_ROOT': '<!(echo $ANDROID_SDK_ROOT)', | 73 'ANDROID_SDK_ROOT': '<!(echo $ANDROID_SDK_ROOT)', |
66 # the ninja generator treats PRODUCT_DIR as a relative path to the | 74 # the ninja generator treats PRODUCT_DIR as a relative path to the |
67 # gyp directory but android ant build wants a path relative to the | 75 # gyp directory but android ant build wants a path relative to the |
68 # build.xml file so we do that adjustment here. | 76 # build.xml file so we do that adjustment here. |
69 'ANDROID_OUT': '../../<(PRODUCT_DIR)/android' | 77 'ANDROID_OUT': '../../<(PRODUCT_DIR)/android/SampleApp' |
70 }, | 78 }, |
71 'actions': [ | 79 'actions': [ |
72 { | 80 { |
73 'action_name': 'SkiaAndroid_apk', | 81 'action_name': 'SkiaAndroid_apk', |
74 'inputs': [ | 82 'inputs': [ |
75 '<(android_base)/app/AndroidManifest.xml', | 83 '<(android_base)/app/AndroidManifest.xml', |
76 '<(android_base)/app/build.xml', | 84 '<(android_base)/app/build.xml', |
77 '<(android_base)/app/project.properties', | 85 '<(android_base)/app/project.properties', |
78 '<(android_base)/app/jni/com_skia_SkiaSampleRenderer.h', | 86 '<(android_base)/app/jni/com_skia_SkiaSampleRenderer.h', |
79 '<(android_base)/app/jni/com_skia_SkiaSampleRenderer.cpp', | 87 '<(android_base)/app/jni/com_skia_SkiaSampleRenderer.cpp', |
80 '<(android_base)/app/src/com/skia/SkiaSampleActivity.java', | 88 '<(android_base)/app/src/com/skia/SkiaSampleActivity.java', |
81 '<(android_base)/app/src/com/skia/SkiaSampleRenderer.java', | 89 '<(android_base)/app/src/com/skia/SkiaSampleRenderer.java', |
82 '<(android_base)/app/src/com/skia/SkiaSampleView.java', | 90 '<(android_base)/app/src/com/skia/SkiaSampleView.java', |
83 ], | 91 ], |
84 'outputs': [ | 92 'outputs': [ |
85 '<(PRODUCT_DIR)/../android/bin/SkiaAndroid.apk', | 93 '<(PRODUCT_DIR)/../android/SampleApp/bin/SkiaAndroid.apk', |
86 ], | 94 ], |
87 'action': [ | 95 'action': [ |
88 'ant', | 96 'ant', |
89 '-quiet', | 97 '-quiet', |
90 '-f', | 98 '-f', |
91 '<(android_base)/app/build.xml', | 99 '<(android_base)/app/build.xml', |
92 '-Dout.dir=<(ANDROID_OUT)/bin', | 100 '-Dout.dir=<(ANDROID_OUT)/bin', |
93 '-Dgen.absolute.dir=<(ANDROID_OUT)/gen', | 101 '-Dgen.absolute.dir=<(ANDROID_OUT)/gen', |
94 '-Dnative.libs.absolute.dir=<(ANDROID_OUT)/libs', | 102 '-Dnative.libs.absolute.dir=<(ANDROID_OUT)/libs', |
95 '-Dout.final.file=<(ANDROID_OUT)/bin/SkiaAndroid.apk', | 103 '-Dout.final.file=<(ANDROID_OUT)/bin/SkiaAndroid.apk', |
96 '-Dsdk.dir=<(ANDROID_SDK_ROOT)', | 104 '-Dsdk.dir=<(ANDROID_SDK_ROOT)', |
97 'debug', | 105 'debug', |
98 ], | 106 ], |
99 }, | 107 }, |
100 ], | 108 ], |
101 }, | 109 }, |
| 110 { |
| 111 'target_name': 'CopyVisualBenchDeps', |
| 112 'type': 'none', |
| 113 'dependencies': [ |
| 114 'skia_lib.gyp:skia_lib', |
| 115 'visualbench.gyp:visualbench', |
| 116 ], |
| 117 |
| 118 'copies': [ |
| 119 # Copy all shared libraries into the Android app's libs folder. Note |
| 120 # that this copy requires us to build SkiaAndroidApp after those |
| 121 # libraries, so that they exist by the time it occurs. If there are no |
| 122 # libraries to copy, this will cause an error in Make, but the app will |
| 123 # still build. |
| 124 { |
| 125 'destination': '<(PRODUCT_DIR)/android/VisualBench/libs/<(android_arch
)', |
| 126 'conditions': [ |
| 127 [ 'skia_shared_lib', { |
| 128 'files': [ |
| 129 '<(SHARED_LIB_DIR)/libskia_android.so', |
| 130 '<(SHARED_LIB_DIR)/libvisualbench.so', |
| 131 ]}, { |
| 132 'files': [ |
| 133 '<(SHARED_LIB_DIR)/libvisualbench.so', |
| 134 ]} |
| 135 ], |
| 136 ], |
| 137 }, |
| 138 ], |
| 139 }, |
| 140 { |
| 141 'target_name': 'VisualBench_APK', |
| 142 'type': 'none', |
| 143 'dependencies': [ |
| 144 'CopyVisualBenchDeps', |
| 145 ], |
| 146 'variables': { |
| 147 'ANDROID_SDK_ROOT': '<!(echo $ANDROID_SDK_ROOT)', |
| 148 # the ninja generator treats PRODUCT_DIR as a relative path to the |
| 149 # gyp directory but android ant build wants a path relative to the |
| 150 # build.xml file so we do that adjustment here. |
| 151 'ANDROID_OUT': '../../<(PRODUCT_DIR)/android/VisualBench/' |
| 152 }, |
| 153 'actions': [ |
| 154 { |
| 155 'action_name': 'SkiaVisualBench_apk', |
| 156 'inputs': [ |
| 157 '<(android_base)/visualbench/AndroidManifest.xml', |
| 158 '<(android_base)/visualbench/build.xml', |
| 159 '<(android_base)/visualbench/project.properties', |
| 160 '<(android_base)/visualbench/src/com/skia/VisualBenchActivity.java', |
| 161 ], |
| 162 'outputs': [ |
| 163 '<(PRODUCT_DIR)/../android/VisualBench/bin/VisualBench.apk', |
| 164 ], |
| 165 'action': [ |
| 166 'ant', |
| 167 '-quiet', |
| 168 '-f', |
| 169 '<(android_base)/visualbench/build.xml', |
| 170 '-Dout.dir=<(ANDROID_OUT)/bin', |
| 171 '-Dgen.absolute.dir=<(ANDROID_OUT)/gen', |
| 172 '-Dnative.libs.absolute.dir=<(ANDROID_OUT)/libs', |
| 173 '-Dout.final.file=<(ANDROID_OUT)/bin/VisualBench.apk', |
| 174 '-Dsdk.dir=<(ANDROID_SDK_ROOT)', |
| 175 'debug', |
| 176 ], |
| 177 }, |
| 178 ], |
| 179 }, |
102 ], | 180 ], |
103 } | 181 } |
OLD | NEW |