这是2个aidl文件。
src/com/rom1v/example/Service.aidl
:
package com.rom1v.example;
interface Service {
void doSomething();
}
src/another/package/Other.aidl
:
package another.package;
interface Other {
int get();
}
我想用meson编译它们,所以我开始了build.meson
:
project('example', 'java')
aidl = [
'src/com/rom1v/example/Service.aidl',
'src/another/package/Other.aidl',
]
从这些来源,我想生成:
MYBUILDDIR/gen/com/rom1v/example/Service.java
MYBUILDDIR/gen/another/package/Other.java
要手动生成它们,我使用以下命令:
aidl -ogen src/com/rom1v/example/Service.aidl
aidl -ogen src/another/package/Other.aidl
如何使用Meson做同样的事情?
我想generator是我想要的,但我无法弄清楚要使用的output
值(它不接受pathes,only supports @PLAINNAME@
和@BASENAME@
作为替换)。
aidl_compiler = find_program('aidl')
gen = generator(aidl_compiler, output: ???, arguments: ['-ogen', '@INPUT@'])