Как сгенерировать typelib для gir-файла с помощью waf - PullRequest
3 голосов
/ 19 октября 2011

Я использую следующий фрагмент wscript_build для создания библиотеки vala с ее gir-файлом:

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'))

Однако теперь мне интересно, как собрать из этого файла gir typelib с помощью waf?

1 Ответ

3 голосов
/ 19 октября 2011

Инструмент g-ir-compiler, доступный в пакете debian gobject-introspection, преобразует файл gir в библиотеку типов (также см. этот вопрос )

Следующее определение задачи можно использовать в 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}')

Полный образец также см. здесь

...