3

我使用以下 wscript_build 片段来构建一个带有其 gir 文件的 vala 库:

lib = bld.shlib (
  features = 'c cshlib',
  target = 'sample',
  name = 'libsample',
  vnum = '0.0.0',
  vapi_dirs = '../vapi',
  uselib = 'GTK',
  cflags = ['-include', 'config.h'],
  gir = 'Sample-1.0',
  packages = 'gtk+-3.0',
  packages_private = 'config',
  source = bld.path.ant_glob (incl='**/*.vala'))

但是现在我想知道如何使用 waf 从这个 gir 文件构建一个类型库?

4

1 回答 1

3

debian 包 gobject-introspection 中可用的工具 g-ir-compiler 将 gir 文件转换为 typelib(另请参阅此问题

可以在 wscript_build 中使用以下任务定义来使用此工具在 waf 中构建类型库并将其安装到它所属的 /usr/lib/girepository-1.0 中。

lib_typelib = bld.new_task_gen(
  name = 'libsample_typelib',
  after = 'libsample',
  source = 'Sample-1.0.gir',
  target = 'Sample-1.0.typelib',
  install_path = '${LIBDIR}/girepository-1.0',
  rule='g-ir-compiler ${SRC} -o ${TGT}')

有关完整示例,请参见此处

于 2011-10-19T13:32:11.000 回答