OLD | NEW |
---|---|
(Empty) | |
1 # Declare a jni target | |
cjhopman
2014/04/15 00:45:27
It would be really neat if this help could be surf
| |
2 # | |
3 # This target generates the native jni bindings for a set of .java files. | |
brettw
2014/04/15 20:50:26
Con't forget copyright for this file.
cjhopman
2014/04/17 17:57:03
Done.
| |
4 # | |
5 # See base/android/jni_generator/jni_generator.py for more info about the | |
6 # format of generating JNI bindings. | |
7 # | |
8 # Variables | |
9 # sources: list of .java files to generate jni for | |
10 # jni_package: subdirectory path for generated bindings | |
11 # | |
12 # Example | |
13 # generate_jni("foo_jni") { | |
14 # sources = [ | |
15 # "android/java/src/org/chromium/foo/Foo.java", | |
16 # "android/java/src/org/chromium/foo/FooUtil.java", | |
17 # ] | |
18 # jni_package = "foo" | |
19 # } | |
20 template("generate_jni") { | |
21 assert(defined(invoker.sources)) | |
22 assert(defined(invoker.jni_package)) | |
23 jni_package = invoker.jni_package | |
24 root_gen_dir = invoker.root_gen_dir | |
25 base_output_dir = "${root_gen_dir}/${target_name}/${jni_package}" | |
26 jni_output_dir = "${base_output_dir}/jni" | |
27 | |
28 jni_generator_includes = rebase_path("//base/android/jni_generator/jni_generat or_helper.h") | |
brettw
2014/04/15 20:50:26
I'd put rebase_path on the next line to avoid the
cjhopman
2014/04/17 17:57:03
Done.
| |
29 | |
30 config("jni_includes_${target_name}") { | |
31 include_dirs = [ base_output_dir ] | |
32 } | |
33 | |
34 action_foreach(target_name) { | |
35 script = "//base/android/jni_generator/jni_generator.py" | |
36 direct_dependent_configs = [ ":jni_includes_${target_name}" ] | |
37 sources = invoker.sources | |
38 outputs = [ | |
39 "${jni_output_dir}/{{source_name_part}}_jni.h" | |
40 ] | |
41 | |
42 args = [ | |
43 "--input_file={{source}}", | |
44 "--optimize_generation=1", | |
45 "--ptr_type=long", | |
46 "--output_dir", rebase_path(jni_output_dir), | |
47 "--includes=${jni_generator_includes}", | |
48 ] | |
49 if (defined(invoker.jni_generator_jarjar_file)) { | |
50 args += [ | |
51 "--jarjar", rebase_path(jni_generator_jarjar_file) | |
52 ] | |
53 } | |
54 | |
55 hard_dep = true | |
56 } | |
57 } | |
OLD | NEW |