| {namespace ndk_library} |
| |
| /***/ |
| {template .soyweb} |
| {call buck.page} |
| {param title: 'ndk_library()' /} |
| {param prettify: true /} |
| {param content} |
| |
| {call buck.rule} |
| {param overview} |
| An <code>ndk_library()</code> is used to define a set of C/C++ files, |
| an <code>Android.mk</code> and an <code>Application.mk</code> file that |
| are used by the NDK's <code>ndk-build</code> tool to generate one or more shared |
| objects. |
| {/param} |
| |
| {param args} |
| |
| {call buck.arg} |
| {param name: 'name' /} |
| {param desc} |
| The name of the rule. |
| {/param} |
| {/call} |
| |
| {call buck.arg} |
| {param name: 'deps' /} |
| {param default : '[]' /} |
| {param desc} |
| List of build targets to build before this rule. |
| {/param} |
| {/call} |
| |
| {call buck.arg} |
| {param name: 'flags' /} |
| {param default : '[]' /} |
| {param desc} |
| Array of strings passed verbatim to <code>ndk-build</code>. Normally |
| this is not needed, but in some cases you may want to put something |
| here. For example, this can be used to build the libraries in debug |
| mode (<code>NDK_DEBUG=1</code>) or set the number of jobs spawned by |
| {sp}<code>ndk-build</code> (by default, the same as the number of |
| cores). |
| {/param} |
| {/call} |
| |
| {call buck.arg} |
| {param name: 'is_asset' /} |
| {param default: 'False' /} |
| {param desc} |
| Normally native shared objects end up into a directory in the root of the APK |
| named <code>lib/</code>. If this paratemer is set to <code>True</code>, then |
| these objects are placed in <code>assets/lib/</code>. Placing shared objects in |
| a non-standard location prevents Android from extracting them to the device's |
| internal storage. |
| {/param} |
| {/call} |
| |
| {call buck.visibility_arg /} |
| |
| {/param} // close args |
| |
| {param furtherexp} |
| |
| An <code>android_binary()</code> that includes this library will |
| aggregate all of the native shared objects into a directory in the |
| root of the APK named <code>lib/</code> or <code>assets/lib/</code>. |
| <p> |
| Unlike the default invocation of <code>ndk-build</code>, |
| {sp}<code>buck</code> will put all intermediate files and build output |
| into a subdirectory under <code>buck-out/gen</code>. |
| <p> |
| Also, because <code>ndk-build</code> and <code>Android.mk</code> do not |
| expose the necessary dependency information, <code>buck</code> assumes |
| that all files with the following extensions are part of the build: |
| {sp}<code>c, cpp, cc, cxx, h, hpp, mk</code>. |
| |
| {/param} |
| |
| {/call} // close buck.rule |
| |
| {/param} |
| {/call} |
| {/template} |