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>

Ramsay Jones committed Apr 17, 2025 at 00:18 UTC 214e2c6856b43fb8b053766fe47af12dfe4356e3
2 files changed +13 -2
meson.build
+12 -1
@@ -694,7 +694,6 @@ endif
694 libgit_c_args = [
695 '-DBINDIR="' + get_option('bindir') + '"',
696 '-DDEFAULT_GIT_TEMPLATE_DIR="' + get_option('datadir') / 'git-core/templates' + '"',
697 - '-DDEFAULT_HELP_FORMAT="' + get_option('default_help_format') + '"',
697 '-DETC_GITATTRIBUTES="' + get_option('gitattributes') + '"',
698 '-DETC_GITCONFIG="' + get_option('gitconfig') + '"',
699 '-DFALLBACK_RUNTIME_PREFIX="' + get_option('prefix') + '"',
@@ -717,6 +716,18 @@ if pager_opt != '' and pager_opt != 'less'
716 libgit_c_args += '-DDEFAULT_PAGER="' + pager_opt + '"'
717 endif
718
719 +help_format_opt = get_option('default_help_format')
720 +if help_format_opt == 'platform'
721 + if host_machine.system() == 'windows'
722 + help_format_opt = 'html'
723 + else
724 + help_format_opt = 'man'
725 + endif
726 +endif
727 +if help_format_opt != 'man'
728 + libgit_c_args += '-DDEFAULT_HELP_FORMAT="' + help_format_opt + '"'
729 +endif
730 +
731 libgit_include_directories = [ '.' ]
732 libgit_dependencies = [ ]
733
meson_options.txt
+1 -1
@@ -95,7 +95,7 @@ option('highlight_bin', type: 'string', value: 'highlight')
95 # Documentation.
96 option('docs', type: 'array', choices: ['man', 'html'], value: [],
97 description: 'Which documenattion formats to build and install.')
98 -option('default_help_format', type: 'combo', choices: ['man', 'html'], value: 'man',
98 +option('default_help_format', type: 'combo', choices: ['man', 'html', 'platform'], value: 'platform',
99 description: 'Default format used when executing git-help(1).')
100 option('docs_backend', type: 'combo', choices: ['asciidoc', 'asciidoctor', 'auto'], value: 'auto',
101 description: 'Which backend to use to generate documentation.')