mirror of
https://github.com/git/git.git
synced 2026-01-10 10:13:33 +00:00
With57ec9254eb(docs: introduce document to announce breaking changes, 2024-06-14), we have introduced a new document that tracks upcoming breaking changes in the Git project. In2454970930(BreakingChanges: early adopter option, 2024-10-11) we have amended the document a bit to mention that any introduced breaking changes must be accompanied by logic that allows us to enable the breaking change at compile-time. While we already have two breaking changes lined up, neither of them has such a switch because they predate those instructions. Introduce the proposed `WITH_BREAKING_CHANGES` preprocessor macro and wire it up with both our Makefiles and Meson. This does not yet wire up the build flag for existing deprecations. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
84 lines
4.8 KiB
Meson
84 lines
4.8 KiB
Meson
# Configuration for how Git behaves at runtime.
|
|
option('default_pager', type: 'string', value: 'less',
|
|
description: 'Fall-back pager.')
|
|
option('default_editor', type: 'string', value: 'vi',
|
|
description: 'Fall-back editor.')
|
|
option('gitconfig', type: 'string', value: '/etc/gitconfig',
|
|
description: 'Path to the global git configuration file.')
|
|
option('gitattributes', type: 'string', value: '/etc/gitattributes',
|
|
description: 'Path to the global git attributes file.')
|
|
option('pager_environment', type: 'string', value: 'LESS=FRX LV=-c',
|
|
description: 'Environment used when spawning the pager')
|
|
option('perl_cpan_fallback', type: 'boolean', value: true,
|
|
description: 'Install bundled copies of CPAN modules that serve as a fallback in case the modules are not available on the system.')
|
|
option('runtime_prefix', type: 'boolean', value: false,
|
|
description: 'Resolve ancillary tooling and support files relative to the location of the runtime binary instead of hard-coding them into the binary.')
|
|
option('sane_tool_path', type: 'string', value: '',
|
|
description: 'A colon-separated list of paths to prepend to PATH if your tools in /usr/bin are broken.')
|
|
|
|
# Features supported by Git.
|
|
option('curl', type: 'feature', value: 'enabled',
|
|
description: 'Build helpers used to access remotes with the HTTP transport.')
|
|
option('expat', type: 'feature', value: 'enabled',
|
|
description: 'Build helpers used to push to remotes with the HTTP transport.')
|
|
option('gettext', type: 'feature', value: 'auto',
|
|
description: 'Build translation files.')
|
|
option('iconv', type: 'feature', value: 'auto',
|
|
description: 'Support reencoding strings with different encodings.')
|
|
option('pcre2', type: 'feature', value: 'enabled',
|
|
description: 'Support Perl-compatible regular expressions in e.g. git-grep(1).')
|
|
option('perl', type: 'feature', value: 'auto',
|
|
description: 'Build tools written in Perl.')
|
|
option('python', type: 'feature', value: 'auto',
|
|
description: 'Build tools written in Python.')
|
|
option('regex', type: 'feature', value: 'auto',
|
|
description: 'Use the system-provided regex library instead of the bundled one.')
|
|
|
|
# Backends.
|
|
option('https_backend', type: 'combo', value: 'auto', choices: ['auto', 'openssl', 'CommonCrypto', 'none'],
|
|
description: 'The HTTPS backend to use when connecting to remotes.')
|
|
option('sha1_backend', type: 'combo', choices: ['openssl', 'block', 'sha1dc', 'common-crypto'], value: 'sha1dc',
|
|
description: 'The backend used for hashing objects with the SHA1 object format')
|
|
option('sha256_backend', type: 'combo', choices: ['openssl', 'nettle', 'gcrypt', 'block'], value: 'block',
|
|
description: 'The backend used for hashing objects with the SHA256 object format')
|
|
|
|
# Build tweaks.
|
|
option('breaking_changes', type: 'boolean', value: false,
|
|
description: 'Enable upcoming breaking changes.')
|
|
option('macos_use_homebrew_gettext', type: 'boolean', value: true,
|
|
description: 'Use gettext from Homebrew instead of the slightly-broken system-provided one.')
|
|
|
|
# gitweb configuration.
|
|
option('gitweb_config', type: 'string', value: 'gitweb_config.perl')
|
|
option('gitweb_config_system', type: 'string', value: '/etc/gitweb.conf')
|
|
option('gitweb_config_common', type: 'string', value: '/etc/gitweb-common.conf')
|
|
option('gitweb_home_link_str', type: 'string', value: 'projects')
|
|
option('gitweb_sitename', type: 'string', value: '')
|
|
option('gitweb_projectroot', type: 'string', value: '/pub/git')
|
|
option('gitweb_project_maxdepth', type: 'string', value: '2007')
|
|
option('gitweb_export_ok', type: 'string', value: '')
|
|
option('gitweb_strict_export', type: 'string', value: '')
|
|
option('gitweb_base_url', type: 'string', value: '')
|
|
option('gitweb_list', type: 'string', value: '')
|
|
option('gitweb_hometext', type: 'string', value: 'indextext.html')
|
|
option('gitweb_css', type: 'string', value: 'static/gitweb.css')
|
|
option('gitweb_logo', type: 'string', value: 'static/git-logo.png')
|
|
option('gitweb_favicon', type: 'string', value: 'static/git-favicon.png')
|
|
option('gitweb_js', type: 'string', value: 'static/gitweb.js')
|
|
option('gitweb_site_html_head_string', type: 'string', value: '')
|
|
option('gitweb_site_header', type: 'string', value: '')
|
|
option('gitweb_site_footer', type: 'string', value: '')
|
|
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',
|
|
description: 'Default format used when executing git-help(1).')
|
|
|
|
# Testing.
|
|
option('tests', type: 'boolean', value: true,
|
|
description: 'Enable building tests. This requires Perl, but is separate from the "perl" option such that you can build tests without Perl features enabled.')
|
|
option('test_output_directory', type: 'string',
|
|
description: 'Path to the directory used to store test outputs')
|