|
|
|
# Java Module
|
|
|
|
|
|
|
|
*(added in 0.60.0)*
|
|
|
|
|
|
|
|
## Functions
|
|
|
|
|
|
|
|
### `generate_native_header()`
|
|
|
|
|
|
|
|
*(deprecated in 0.62.0, use `generate_native_headers()`)*
|
|
|
|
*(removed in 1.0.0)*
|
|
|
|
|
|
|
|
This function will generate a header file for use in Java native module
|
|
|
|
development by reading the supplied Java file for `native` method declarations.
|
|
|
|
|
|
|
|
Keyword arguments:
|
|
|
|
|
|
|
|
- `package`: The [package](https://en.wikipedia.org/wiki/Java_package) of the
|
|
|
|
file. If left empty, Meson will assume that there is no package.
|
|
|
|
|
|
|
|
### `generate_native_headers()`
|
|
|
|
|
|
|
|
*(added in 0.62.0)*
|
|
|
|
*(deprecated in 1.0.0, use `native_headers()`)*
|
|
|
|
|
|
|
|
This function will generate native header files for use in Java native module
|
|
|
|
development by reading the supplied Java files for `native` method declarations.
|
|
|
|
|
|
|
|
Keyword arguments:
|
|
|
|
|
|
|
|
- `classes`: The list of class names relative to the `package`, if it exists,
|
|
|
|
which contain `native` method declarations. Use `.` separated class names.
|
|
|
|
|
|
|
|
- `package`: The [package](https://en.wikipedia.org/wiki/Java_package) of the
|
|
|
|
file. If left empty, Meson will assume that there is no package.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
```java
|
|
|
|
// Outer.java
|
|
|
|
|
|
|
|
package com.mesonbuild;
|
|
|
|
|
|
|
|
public class Outer {
|
|
|
|
private static native void outer();
|
|
|
|
|
|
|
|
public static class Inner {
|
|
|
|
private static native void inner();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
With the above file, an invocation would look like the following:
|
|
|
|
|
|
|
|
```meson
|
|
|
|
java = import('java')
|
|
|
|
|
|
|
|
native_headers = java.generate_native_headers(
|
|
|
|
'Outer.java',
|
|
|
|
package: 'com.mesonbuild',
|
|
|
|
classes: ['Outer', 'Outer.Inner']
|
|
|
|
)
|
|
|
|
```
|
|
|
|
|
|
|
|
### `native_headers()`
|
|
|
|
|
|
|
|
*(added in 1.0.0)*
|
|
|
|
|
|
|
|
This function will generate native header files for use in Java native module
|
|
|
|
development by reading the supplied Java files for `native` method declarations.
|
|
|
|
|
|
|
|
Keyword arguments:
|
|
|
|
|
|
|
|
- `classes`: The list of class names relative to the `package`, if it exists,
|
|
|
|
which contain `native` method declarations. Use `.` separated class names.
|
|
|
|
|
|
|
|
- `package`: The [package](https://en.wikipedia.org/wiki/Java_package) of the
|
|
|
|
file. If left empty, Meson will assume that there is no package.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
```java
|
|
|
|
// Outer.java
|
|
|
|
|
|
|
|
package com.mesonbuild;
|
|
|
|
|
|
|
|
public class Outer {
|
|
|
|
private static native void outer();
|
|
|
|
|
|
|
|
public static class Inner {
|
|
|
|
private static native void inner();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
With the above file, an invocation would look like the following:
|
|
|
|
|
|
|
|
```meson
|
|
|
|
java = import('java')
|
|
|
|
|
|
|
|
native_headers = java.generate_native_headers(
|
|
|
|
'Outer.java',
|
|
|
|
package: 'com.mesonbuild',
|
|
|
|
classes: ['Outer', 'Outer.Inner']
|
|
|
|
)
|
|
|
|
```
|