• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2013 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# This is the set of recommended gyp variable settings for Chrome for Android development.
6#
7# These can be used by copying this file to $CHROME_SRC/chrome/supplement.gypi.
8#
9# Even better, create chrome/supplement.gypi containing the following:
10#   {
11#     'includes': [ '../build/android/developer_recommended_flags.gypi' ]
12#   }
13# and you'll get new settings automatically.
14# When using this method, you can override individual settings by setting them unconditionally (with
15# no %) in chrome/supplement.gypi.
16# I.e. to disable optimize_jni_generation but use everything else:
17#   {
18#     'variables': {
19#       'optimize_jni_generation': 0,
20#     },
21#     'includes': [ '../build/android/developer_recommended_flags.gypi' ]
22#   }
23
24{
25  'variables': {
26    # When set to 1, only write jni generated files if they've changed. This can prevent unnecessary
27    # compiling/linking of native libraries when editing java files.
28    'optimize_jni_generation%': 1,
29
30    # Set component to 'shared_library' to enable the component build. This builds native code as
31    # many small shared libraries instead of one monolithic library. This slightly reduces the time
32    # required for incremental builds.
33    'component%': 'shared_library',
34
35    # When gyp_managed_install is set to 1, building an APK will install that APK on the connected
36    # device(/emulator). To install on multiple devices (or onto a new device), build the APK once
37    # with each device attached. This greatly reduces the time required for incremental builds.
38    #
39    # This comes with some caveats:
40    #   Only works with a single device connected (it will print a warning if
41    #     zero or multiple devices are attached).
42    #   Some actions are always run (i.e. ninja will never say "no work to do").
43    'gyp_managed_install%': 1,
44
45    # With gyp_managed_install, we do not necessarily need a standalone APK.
46    # When create_standalone_apk is set to 1, we will build a standalone APK
47    # anyway. For even faster builds, you can set create_standalone_apk to 0.
48    'create_standalone_apk%': 1,
49
50    # Set clang to 1 to use the clang compiler. Clang has much (much, much) better warning/error
51    # messages than gcc.
52    # TODO(cjhopman): Enable this when http://crbug.com/156420 is addressed. Until then, users can
53    # set clang to 1, but Android stack traces will sometimes be incomplete.
54    #'clang%': 1,
55
56    # Set fastbuild to 1 to build with less debugging information. This can greatly decrease linking
57    # time. The downside is that stack traces will be missing useful information (like line
58    # numbers).
59    #'fastbuild%': 1,
60  },
61}
62