Chromium Code Reviews| 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 |