summaryrefslogtreecommitdiffstats
path: root/widget/android/bindings/moz.build
blob: f3f4d138ff1fceeec7efd198a9480e1c50237c4c (plain)
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",
]