Add support for meson build system
[tinc] / doc / meson.build
diff --git a/doc/meson.build b/doc/meson.build
new file mode 100644 (file)
index 0000000..fefb1b8
--- /dev/null
@@ -0,0 +1,62 @@
+man_pages = [
+  'tinc-gui.8.in',
+  'tinc.8.in',
+  'tinc.conf.5.in',
+  'tincd.8.in',
+]
+
+info_pages = [
+  'tinc.texi',
+]
+
+info_includes = [
+  'tincinclude.texi.in',
+]
+
+man_conf = configuration_data()
+man_conf.set_quoted('PACKAGE', meson.project_name())
+man_conf.set_quoted('VERSION', meson.project_version())
+man_conf.set_quoted('localstatedir', dir_local_state)
+man_conf.set_quoted('runstatedir', dir_run_state)
+man_conf.set_quoted('sysconfdir', dir_sysconf)
+
+foreach man_src : man_pages
+  man = configure_file(
+    input: man_src,
+    output: '@BASENAME@',
+    configuration: man_conf,
+  )
+  install_man(man)
+endforeach
+
+prog_makeinfo = find_program('makeinfo', required: opt_docs)
+if not prog_makeinfo.found()
+  subdir_done()
+endif
+
+foreach inc : info_includes
+  configure_file(
+    input: inc,
+    output: '@BASENAME@',
+    configuration: man_conf,
+  )
+endforeach
+
+info_cmd = [
+  prog_makeinfo,
+  '-P', '@BUILD_ROOT@/doc',
+  '@INPUT@',
+  '--output', '@OUTPUT@',
+]
+
+foreach page : info_pages
+  custom_target(
+    'info-page-' + page,
+    input: page,
+    output: '@BASENAME@.info',
+    command: info_cmd,
+    install: true,
+    install_dir: dir_info,
+  )
+endforeach
+