From: Patrick Steinhardt Date: Wed, 12 Mar 2025 13:17:32 +0000 (+0100) Subject: meson: define WITH_BREAKING_CHANGES when enabling breaking changes X-Git-Tag: v2.50.0-rc0~165^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7208d84305254a882eb93449eee0591875814f1b;p=thirdparty%2Fgit.git meson: define WITH_BREAKING_CHANGES when enabling breaking changes While Meson already supports the `-Dbreaking_changes=true` option, it only wires up the build option that propagates into the tests. The build option is only used for our tests to enable the `WITH_BREAKING_CHANGES` prerequisite though, and does not influence the code that is actually being built. The omission went unnoticed because we only have tests right now that get disabled when breaking changes are enabled, but not the other way round. In other words, we don't have any tests that verify that breaking changes behave as expected. Fix the build issue by setting the `WITH_BREAKING_CHANGES` preprocessor macro when breaking changes are enabled. Note that the `libgit_c_args` array is defined after the current spot where we handle the option, so to not have multiple sites where we handle it we instead move it after the array has been defined. Based-on-patch-by: Phillip Wood Signed-off-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- diff --git a/meson.build b/meson.build index efe2871c9d..4ddc44f510 100644 --- a/meson.build +++ b/meson.build @@ -672,12 +672,6 @@ build_options_config.set_quoted('GIT_TEST_UTF8_LOCALE', get_option('test_utf8_lo build_options_config.set_quoted('LOCALEDIR', fs.as_posix(get_option('prefix') / get_option('localedir'))) build_options_config.set('GITWEBDIR', fs.as_posix(get_option('prefix') / get_option('datadir') / 'gitweb')) -if get_option('breaking_changes') - build_options_config.set('WITH_BREAKING_CHANGES', 'YesPlease') -else - build_options_config.set('WITH_BREAKING_CHANGES', '') -endif - if get_option('sane_tool_path').length() != 0 sane_tool_path = (host_machine.system() == 'windows' ? ';' : ':').join(get_option('sane_tool_path')) build_options_config.set_quoted('BROKEN_PATH_FIX', 's|^\# @BROKEN_PATH_FIX@$|git_broken_path_fix "' + sane_tool_path + '"|') @@ -739,6 +733,13 @@ if get_option('warning_level') in ['2','3', 'everything'] and compiler.get_argum endforeach endif +if get_option('breaking_changes') + build_options_config.set('WITH_BREAKING_CHANGES', 'YesPlease') + libgit_c_args += '-DWITH_BREAKING_CHANGES' +else + build_options_config.set('WITH_BREAKING_CHANGES', '') +endif + if get_option('b_sanitize').contains('address') build_options_config.set('SANITIZE_ADDRESS', 'YesCompiledWithIt') else