meson.build: set default help format to html on windows

The build variable DEFAULT_HELP_FORMAT has an appropriate default
('man') set in the code, so there is no need to pass the -Define on
the compiler command-line, unless the build requires a non-standard
value.

In addition, on windows the make build overrides the default help
format to 'html', rather than 'man', in the 'config.mak.uname' file.

In order to suppress the -Define on the C compiler command-line, only
add the -Define to the 'libgit_c_args' variable when the requested
value is not the standard 'man'. In order to override the default value
on windows, add a 'platform' value to the 'default_help_format' combo
option and set it as the default choice. When this option is set to
'platform', use the 'host_machine.system()' method call to determine the
appropriate default value for the host system.

Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
Ramsay Jones 2025-04-17 00:18:25 +01:00 committed by Junio C Hamano
parent 65e3757c24
commit 214e2c6856
2 changed files with 13 additions and 2 deletions

View File

@ -694,7 +694,6 @@ endif
libgit_c_args = [
'-DBINDIR="' + get_option('bindir') + '"',
'-DDEFAULT_GIT_TEMPLATE_DIR="' + get_option('datadir') / 'git-core/templates' + '"',
'-DDEFAULT_HELP_FORMAT="' + get_option('default_help_format') + '"',
'-DETC_GITATTRIBUTES="' + get_option('gitattributes') + '"',
'-DETC_GITCONFIG="' + get_option('gitconfig') + '"',
'-DFALLBACK_RUNTIME_PREFIX="' + get_option('prefix') + '"',
@ -717,6 +716,18 @@ if pager_opt != '' and pager_opt != 'less'
libgit_c_args += '-DDEFAULT_PAGER="' + pager_opt + '"'
endif

help_format_opt = get_option('default_help_format')
if help_format_opt == 'platform'
if host_machine.system() == 'windows'
help_format_opt = 'html'
else
help_format_opt = 'man'
endif
endif
if help_format_opt != 'man'
libgit_c_args += '-DDEFAULT_HELP_FORMAT="' + help_format_opt + '"'
endif

libgit_include_directories = [ '.' ]
libgit_dependencies = [ ]


View File

@ -95,7 +95,7 @@ option('highlight_bin', type: 'string', value: 'highlight')
# Documentation.
option('docs', type: 'array', choices: ['man', 'html'], value: [],
description: 'Which documenattion formats to build and install.')
option('default_help_format', type: 'combo', choices: ['man', 'html'], value: 'man',
option('default_help_format', type: 'combo', choices: ['man', 'html', 'platform'], value: 'platform',
description: 'Default format used when executing git-help(1).')
option('docs_backend', type: 'combo', choices: ['asciidoc', 'asciidoctor', 'auto'], value: 'auto',
description: 'Which backend to use to generate documentation.')