Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / chrome_android.gypi
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 {
5   'variables': {
6     'chromium_code': 1,
7     'package_name': 'chrome_shell_apk',
8   },
9   'includes': [
10     'chrome_android_paks.gypi', # Included for the list of pak resources.
11   ],
12   'targets': [
13     {
14       'target_name': 'libchromeshell',
15       'type': 'shared_library',
16       'dependencies': [
17         '../base/base.gyp:base',
18         'chrome_android_core',
19         'chrome.gyp:browser_ui',
20         '../content/content.gyp:content_app_browser',
21       ],
22       'sources': [
23         # This file must always be included in the shared_library step to ensure
24         # JNI_OnLoad is exported.
25         'app/android/chrome_jni_onload.cc',
26         'android/shell/chrome_main_delegate_chrome_shell_android.cc',
27         'android/shell/chrome_main_delegate_chrome_shell_android.h',
28         "android/shell/chrome_shell_google_location_settings_helper.cc",
29         "android/shell/chrome_shell_google_location_settings_helper.h",
30       ],
31       'include_dirs': [
32         '../skia/config',
33       ],
34       'conditions': [
35         [ 'order_profiling!=0', {
36           'conditions': [
37             [ 'OS=="android"', {
38               'dependencies': [ '../tools/cygprofile/cygprofile.gyp:cygprofile', ],
39             }],
40           ],
41         }],
42         [ 'use_allocator!="none"', {
43           'dependencies': [
44             '../base/allocator/allocator.gyp:allocator', ],
45         }],
46         ['OS=="android"', {
47           'ldflags': [
48             # Some android targets still depend on --gc-sections to link.
49             # TODO: remove --gc-sections for Debug builds (crbug.com/159847).
50             '-Wl,--gc-sections',
51           ],
52         }],
53       ],
54     },
55     {
56       'target_name': 'chrome_shell_apk',
57       'type': 'none',
58       'dependencies': [
59         'chrome_java',
60         'chrome_shell_paks',
61         'libchromeshell',
62         '../media/media.gyp:media_java',
63       ],
64       'variables': {
65         'apk_name': 'ChromeShell',
66         'manifest_package_name': 'org.chromium.chrome.shell',
67         'java_in_dir': 'android/shell/java',
68         'resource_dir': 'android/shell/res',
69         'asset_location': '<(PRODUCT_DIR)/../assets/<(package_name)',
70         'native_lib_target': 'libchromeshell',
71         'native_lib_version_name': '<(version_full)',
72         'additional_input_paths': [
73           '<@(chrome_android_pak_output_resources)',
74         ],
75       },
76       'includes': [ '../build/java_apk.gypi', ],
77     },
78     {
79       # chrome_shell_apk creates a .jar as a side effect. Any java targets
80       # that need that .jar in their classpath should depend on this target,
81       # chrome_shell_apk_java. Dependents of chrome_shell_apk receive its
82       # jar path in the variable 'apk_output_jar_path'.
83       # This target should only be used by targets which instrument
84       # chrome_shell_apk.
85       'target_name': 'chrome_shell_apk_java',
86       'type': 'none',
87       'dependencies': [
88         'chrome_shell_apk',
89       ],
90       'includes': [ '../build/apk_fake_jar.gypi' ],
91     },
92     {
93       'target_name': 'chrome_android_core',
94       'type': 'static_library',
95       'dependencies': [
96         'chrome.gyp:browser',
97         'chrome.gyp:browser_ui',
98         'chrome.gyp:plugin',
99         'chrome.gyp:renderer',
100         'chrome.gyp:utility',
101         '../content/content.gyp:content',
102         '../content/content.gyp:content_app_browser',
103       ],
104       'include_dirs': [
105         '..',
106         '<(android_ndk_include)',
107       ],
108       'sources': [
109         'app/android/chrome_android_initializer.cc',
110         'app/android/chrome_android_initializer.h',
111         'app/android/chrome_main_delegate_android.cc',
112         'app/android/chrome_main_delegate_android.h',
113         'app/chrome_main_delegate.cc',
114         'app/chrome_main_delegate.h',
115       ],
116       'link_settings': {
117         'libraries': [
118           '-landroid',
119           '-ljnigraphics',
120         ],
121       },
122     },
123     {
124       'target_name': 'chrome_shell_paks',
125       'type': 'none',
126       'dependencies': [
127         '<(DEPTH)/chrome/chrome_resources.gyp:packed_resources',
128         '<(DEPTH)/chrome/chrome_resources.gyp:packed_extra_resources',
129       ],
130       'copies': [
131         {
132           'destination': '<(chrome_android_pak_output_folder)',
133           'files': [
134             '<@(chrome_android_pak_input_resources)',
135           ],
136         }
137       ],
138     },
139   ],
140 }