OLD | NEW |
1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 # for details. All rights reserved. Use of this source code is governed by a | 2 # for details. All rights reserved. Use of this source code is governed by a |
3 # BSD-style license that can be found in the LICENSE file. | 3 # BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 # Definitions for building standalone Dart binaries to run on Android. | 5 # Definitions for building standalone Dart binaries to run on Android. |
6 # This is mostly excerpted from: | 6 # This is mostly excerpted from: |
7 # http://src.chromium.org/viewvc/chrome/trunk/src/build/common.gypi | 7 # http://src.chromium.org/viewvc/chrome/trunk/src/build/common.gypi |
8 | 8 |
9 { | 9 { |
10 'variables': { | 10 'variables': { |
(...skipping 26 matching lines...) Expand all Loading... |
37 'cflags': [ | 37 'cflags': [ |
38 '-U__linux__', # Don't allow toolchain to claim -D__linux__ | 38 '-U__linux__', # Don't allow toolchain to claim -D__linux__ |
39 '-ffunction-sections', | 39 '-ffunction-sections', |
40 '-funwind-tables', | 40 '-funwind-tables', |
41 '-fstack-protector', | 41 '-fstack-protector', |
42 '-fno-short-enums', | 42 '-fno-short-enums', |
43 '-finline-limit=64', | 43 '-finline-limit=64', |
44 '-Wa,--noexecstack', | 44 '-Wa,--noexecstack', |
45 ], | 45 ], |
46 }], | 46 }], |
47 # Settings for building host targets using the system toolchain. | |
48 ['_toolset=="host"', { | |
49 'cflags': [ '-m32', '-pthread' ], | |
50 }], | |
51 ], | 47 ], |
52 }, | 48 }, |
53 'Dart_Android_Debug': { | 49 'Dart_Android_Debug': { |
54 'abstract': 1, | 50 'abstract': 1, |
55 'defines': [ | 51 'defines': [ |
56 'DEBUG', | 52 'DEBUG', |
57 ], | 53 ], |
58 'conditions': [ | 54 'conditions': [ |
59 ['c_frame_pointers==1', { | 55 ['c_frame_pointers==1', { |
60 'cflags': [ | 56 'cflags': [ |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 '-Wl,--gc-sections', | 136 '-Wl,--gc-sections', |
141 '-Wl,-z,nocopyreloc', | 137 '-Wl,-z,nocopyreloc', |
142 # crtbegin_dynamic.o should be the last item in ldflags. | 138 # crtbegin_dynamic.o should be the last item in ldflags. |
143 '<(android_ndk_lib)/crtbegin_dynamic.o', | 139 '<(android_ndk_lib)/crtbegin_dynamic.o', |
144 ], | 140 ], |
145 'ldflags!': [ | 141 'ldflags!': [ |
146 '-pthread', # Not supported by Android toolchain. | 142 '-pthread', # Not supported by Android toolchain. |
147 ], | 143 ], |
148 }], | 144 }], |
149 ['_toolset=="host"', { | 145 ['_toolset=="host"', { |
| 146 'cflags': [ '-m32', '-pthread' ], |
150 'ldflags': [ '-m32', '-pthread' ], | 147 'ldflags': [ '-m32', '-pthread' ], |
151 }], | 148 }], |
152 ], | 149 ], |
153 }, | 150 }, |
154 'Dart_Android_arm_Base': { | 151 'Dart_Android_arm_Base': { |
155 'abstract': 1, | 152 'abstract': 1, |
156 'variables': { | 153 'variables': { |
157 'android_sysroot': '<(android_ndk_root)/platforms/android-14/arch-arm'
, | 154 'android_sysroot': '<(android_ndk_root)/platforms/android-14/arch-arm'
, |
158 'android_ndk_include': '<(android_sysroot)/usr/include', | 155 'android_ndk_include': '<(android_sysroot)/usr/include', |
159 'android_ndk_lib': '<(android_sysroot)/usr/lib', | 156 'android_ndk_lib': '<(android_sysroot)/usr/lib', |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 '-Wl,--gc-sections', | 192 '-Wl,--gc-sections', |
196 '-Wl,-z,nocopyreloc', | 193 '-Wl,-z,nocopyreloc', |
197 # crtbegin_dynamic.o should be the last item in ldflags. | 194 # crtbegin_dynamic.o should be the last item in ldflags. |
198 '<(android_ndk_lib)/crtbegin_dynamic.o', | 195 '<(android_ndk_lib)/crtbegin_dynamic.o', |
199 ], | 196 ], |
200 'ldflags!': [ | 197 'ldflags!': [ |
201 '-pthread', # Not supported by Android toolchain. | 198 '-pthread', # Not supported by Android toolchain. |
202 ], | 199 ], |
203 }], | 200 }], |
204 ['_toolset=="host"', { | 201 ['_toolset=="host"', { |
| 202 'cflags': [ '-m32', '-pthread' ], |
205 'ldflags': [ '-m32', '-pthread' ], | 203 'ldflags': [ '-m32', '-pthread' ], |
206 }], | 204 }], |
207 ], | 205 ], |
208 }, | 206 }, # Dart_Android_arm_Base |
| 207 'Dart_Android_arm64_Base': { |
| 208 'abstract': 1, |
| 209 'variables': { |
| 210 'android_sysroot': '<(android_ndk_root)/platforms/android-L/arch-arm64
', |
| 211 'android_ndk_include': '<(android_sysroot)/usr/include', |
| 212 'android_ndk_lib': '<(android_sysroot)/usr/lib', |
| 213 }, |
| 214 'target_conditions': [ |
| 215 ['_toolset=="target"', { |
| 216 'cflags': [ |
| 217 '-fPIE', |
| 218 '--sysroot=<(android_sysroot)', |
| 219 '-I<(android_ndk_include)', |
| 220 '-I<(android_ndk_root)/sources/cxx-stl/stlport/stlport', |
| 221 ], |
| 222 'target_conditions': [ |
| 223 ['_type=="executable"', { |
| 224 'ldflags!': ['-Wl,--exclude-libs=ALL,-shared',], |
| 225 }], |
| 226 ['_type=="shared_library"', { |
| 227 'ldflags': ['-Wl,-shared,-Bsymbolic',], |
| 228 }], |
| 229 ], |
| 230 'ldflags': [ |
| 231 'arm64', '>(_type)', 'target', |
| 232 '-nostdlib', |
| 233 '-Wl,--no-undefined', |
| 234 # Don't export symbols from statically linked libraries. |
| 235 '-Wl,--exclude-libs=ALL', |
| 236 '-Wl,-rpath-link=<(android_ndk_lib)', |
| 237 '-L<(android_ndk_lib)', |
| 238 '-L<(android_ndk_root)/sources/cxx-stl/stlport/libs/arm64-v8a', |
| 239 '-z', |
| 240 'muldefs', |
| 241 '-Bdynamic', |
| 242 '-pie', |
| 243 '-Wl,-dynamic-linker,/system/bin/linker64', |
| 244 '-Wl,--gc-sections', |
| 245 '-Wl,-z,nocopyreloc', |
| 246 # crtbegin_dynamic.o should be the last item in ldflags. |
| 247 '<(android_ndk_lib)/crtbegin_dynamic.o', |
| 248 ], |
| 249 'ldflags!': [ |
| 250 '-pthread', # Not supported by Android toolchain. |
| 251 ], |
| 252 }], |
| 253 ['_toolset=="host"', { |
| 254 'ldflags': [ '-pthread' ], |
| 255 }], |
| 256 ], |
| 257 }, # Dart_Android_arm64_Base |
209 }, # configurations | 258 }, # configurations |
210 }, # target_defaults | 259 }, # target_defaults |
211 } | 260 } |
OLD | NEW |