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  'conditions': [
6    ['component == "shared_library"', {
7      'targets': [
8        {
9          # These libraries from the Android ndk are required to be packaged with
10          # any APK that is built with them. build/java_apk.gypi expects any
11          # libraries that should be packaged with the apk to be in
12          # <(SHARED_LIB_DIR)
13          'target_name': 'copy_system_libraries',
14          'type': 'none',
15          'copies': [
16            {
17              'destination': '<(SHARED_LIB_DIR)/',
18              'files': [
19                '<(android_stlport_libs_dir)/libstlport_shared.so',
20              ],
21            },
22          ],
23        },
24      ],
25    }],
26  ],
27  'targets': [
28    {
29      'target_name': 'get_build_device_configurations',
30      'type': 'none',
31      'actions': [
32        {
33          'action_name': 'get configurations',
34          'inputs': [
35            'gyp/util/build_device.py',
36            'gyp/get_device_configuration.py',
37          ],
38          'outputs': [
39            '<(build_device_config_path)',
40            '<(build_device_config_path).fake',
41          ],
42          'action': [
43            'python', 'gyp/get_device_configuration.py',
44            '--output=<(build_device_config_path)',
45          ],
46        }
47      ],
48    },
49    {
50      # Target for creating common output build directories. Creating output
51      # dirs beforehand ensures that build scripts can assume these folders to
52      # exist and there are no race conditions resulting from build scripts
53      # trying to create these directories.
54      # The build/java.gypi target depends on this target.
55      'target_name': 'build_output_dirs',
56      'type': 'none',
57      'actions': [
58        {
59          'action_name': 'create_java_output_dirs',
60          'variables' : {
61            'output_dirs' : [
62              '<(PRODUCT_DIR)/apks',
63              '<(PRODUCT_DIR)/lib.java',
64              '<(PRODUCT_DIR)/test.lib.java',
65            ]
66          },
67          'inputs' : [],
68          # By not specifying any outputs, we ensure that this command isn't
69          # re-run when the output directories are touched (i.e. apks are
70          # written to them).
71          'outputs': [''],
72          'action': [
73            'mkdir',
74            '-p',
75            '<@(output_dirs)',
76          ],
77        },
78      ],
79    }, # build_output_dirs
80  ]
81}
82
83