1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
with Files("**"):
BUG_COMPONENT = ("GeckoView", "General")
# List of stems to generate .cpp and .h files for. To add a stem, add it to
# this list and ensure that $(stem)-classes.txt exists in this directory.
generated = [
"AccessibilityEvent",
"AndroidBuild",
"AndroidDragEvent",
"AndroidGraphics",
"AndroidInputType",
"AndroidProcess",
"AndroidRect",
"InetAddress",
"JavaBuiltins",
"JavaExceptions",
"KeyEvent",
"MediaCodec",
"MotionEvent",
"SurfaceTexture",
"ViewConfiguration",
]
SOURCES += ["!%s.cpp" % stem for stem in generated]
EXPORTS += ["!%s.h" % stem for stem in generated]
# The recursive make backend treats the first output specially: it's passed as
# an open FileAvoidWrite to the invoked script. That doesn't work well with
# the Gradle task that generates all of the outputs, so we add a dummy first
# output.
t = tuple(
["sdk_bindings"]
+ ["%s.cpp" % stem for stem in generated]
+ ["%s.h" % stem for stem in generated]
)
GeneratedFile(
*t,
script="/mobile/android/gradle.py",
entry_point="generate_sdk_bindings",
inputs=["%s-classes.txt" % stem for stem in generated]
)
FINAL_LIBRARY = "xul"
LOCAL_INCLUDES += [
"/widget/android",
]
|