meson.build 2.57 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
common_conf = configuration_data()
common_conf.set('NM_VERSION', nm_version)
common_conf.set('sysconfdir', nm_sysconfdir)
common_conf.set('nmrundir', nm_pkgrundir)
common_conf.set('NM_CONFIG_DEFAULT_MAIN_AUTH_POLKIT_TEXT', config_default_main_auth_polkit)
common_conf.set('NM_CONFIG_DEFAULT_LOGGING_BACKEND_TEXT', config_logging_backend_default)
common_conf.set('NM_CONFIG_DEFAULT_LOGGING_AUDIT_TEXT', config_default_logging_audit)
common_conf.set('NM_CONFIG_DEFAULT_MAIN_RC_MANAGER', config_dns_rc_manager_default)
common_conf.set('NM_CONFIG_DEFAULT_MAIN_DHCP', config_dhcp_default)

common = 'common.ent'

configure_file(
  input: common + '.in',
  output: common,
  configuration: common_conf
)

xsltproc_options = [
  xsltproc,
  '--output', '@OUTPUT@',
  '--path', meson.current_build_dir(),
  '--xinclude',
  '--nonet',
  '--stringparam', 'man.output.quietly', '1',
  '--stringparam', 'funcsynopsis.style', 'ansi',
  '--stringparam', 'man.th.extra1.suppress', '1',
  '--stringparam', 'man.authors.section.enabled', '0',
  '--stringparam', 'man.copyright.section.enabled', '0',
  '--stringparam', 'man.th.title.max.length', '30'
]

docbook_xls = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'

mans_xmls = []

mans = [
  ['NetworkManager', '8'],
  ['NetworkManager.conf', '5'],
  ['nm-online', '1'],
  ['nmcli-examples', '7'],
  ['nmcli', '1'],
  ['nmtui', '1']
]

if enable_ovs
  mans += [['nm-openvswitch', '7']]
endif

foreach man: mans
  input = man[0] + '.xml'
  content_files += join_paths(meson.current_source_dir(), input)

  output = '@0@.@1@'.format(man[0], man[1])

  custom_target(
    output,
    input: input,
    output: output,
    command: xsltproc_options + [docbook_xls, '@INPUT@'],
    install: true,
    install_dir: join_paths(nm_mandir, 'man' + man[1])
  )
endforeach

if enable_introspection
  mans = [
    ['nm-settings-keyfile', '5', nm_settings_keyfile_docs],
    ['nm-settings', '5', nm_settings_docs]
  ]

  if enable_ifcfg_rh
    mans += [['nm-settings-ifcfg-rh', '5', nm_settings_ifcfg_rh_docs]]
  endif

  foreach man: mans
    output = man[0] + '.xml'

    input = custom_target(
      output,
      input: man[2],
      output: output,
      command: xsltproc_options + [join_paths(meson.current_source_dir(), man[0] + '.xsl'), '@INPUT@']
    )
    content_files += input.full_path()

    output = '@0@.@1@'.format(man[0], man[1])

    custom_target(
      output,
      input: input,
      output: output,
      command: xsltproc_options + [docbook_xls, '@INPUT@'],
      install: true,
      install_dir: join_paths(nm_mandir, 'man' + man[1])
    )
  endforeach
endif