GIT-BUILD-OPTIONS: wire up NO_GITWEB option
Building our "gitweb" interface is optional in our Makefile and in Meson and not wired up at all with CMake, but disabling it causes a couple of tests in the t950* range that pull in "t/lib-gitweb.sh". This is because the test library knows to execute gitweb-tests based on whether or not Perl is available, but we may have Perl available and still end up not building gitweb e.g. with `make test NO_GITWEB=YesPlease`. Fix this issue by wiring up a new "NO_GITWEB" build option so that we can skip these tests in case gitweb is not built. Note that this new build option requires us to move the configuration of GIT-BUILD-OPTIONS to a later point in our Meson build instructions. But as that file is only consumed by our tests at runtime this change does not cause any issues. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
cfa1f2ae96
commit
cbcc2f7911
|
@ -24,6 +24,7 @@ LOCALEDIR=@LOCALEDIR@
|
|||
NO_CURL=@NO_CURL@
|
||||
NO_EXPAT=@NO_EXPAT@
|
||||
NO_GETTEXT=@NO_GETTEXT@
|
||||
NO_GITWEB=@NO_GITWEB@
|
||||
NO_ICONV=@NO_ICONV@
|
||||
NO_PERL=@NO_PERL@
|
||||
NO_PERL_CPAN_FALLBACKS=@NO_PERL_CPAN_FALLBACKS@
|
||||
|
|
1
Makefile
1
Makefile
|
@ -3171,6 +3171,7 @@ GIT-BUILD-OPTIONS: FORCE
|
|||
-e "s|@NO_CURL@|\'$(NO_CURL)\'|" \
|
||||
-e "s|@NO_EXPAT@|\'$(NO_EXPAT)\'|" \
|
||||
-e "s|@NO_GETTEXT@|\'$(NO_GETTEXT)\'|" \
|
||||
-e "s|@NO_GITWEB@|\'$(NO_GITWEB)\'|" \
|
||||
-e "s|@NO_ICONV@|\'$(NO_ICONV)\'|" \
|
||||
-e "s|@NO_PERL@|\'$(NO_PERL)\'|" \
|
||||
-e "s|@NO_PERL_CPAN_FALLBACKS@|\'$(NO_PERL_CPAN_FALLBACKS_SQ)\'|" \
|
||||
|
|
|
@ -1184,6 +1184,7 @@ string(REPLACE "@LOCALEDIR@" "'${LOCALEDIR}'" git_build_options "${git_build_opt
|
|||
string(REPLACE "@NO_CURL@" "${NO_CURL}" git_build_options "${git_build_options}")
|
||||
string(REPLACE "@NO_EXPAT@" "${NO_EXPAT}" git_build_options "${git_build_options}")
|
||||
string(REPLACE "@NO_GETTEXT@" "${NO_GETTEXT}" git_build_options "${git_build_options}")
|
||||
string(REPLACE "@NO_GITWEB@" "1" git_build_options "${git_build_options}")
|
||||
string(REPLACE "@NO_ICONV@" "${NO_ICONV}" git_build_options "${git_build_options}")
|
||||
string(REPLACE "@NO_PERL@" "${NO_PERL}" git_build_options "${git_build_options}")
|
||||
string(REPLACE "@NO_PERL_CPAN_FALLBACKS@" "" git_build_options "${git_build_options}")
|
||||
|
|
59
meson.build
59
meson.build
|
@ -1456,34 +1456,6 @@ else
|
|||
build_options_config.set('RUNTIME_PREFIX', 'false')
|
||||
endif
|
||||
|
||||
foreach key, value : {
|
||||
'DIFF': diff.full_path(),
|
||||
'GIT_TEST_CMP': diff.full_path() + ' -u',
|
||||
'GIT_TEST_GITPERLLIB': meson.project_build_root() / 'perl',
|
||||
'GIT_TEST_MERGE_TOOLS_DIR': meson.project_source_root() / 'mergetools',
|
||||
'GIT_TEST_POPATH': meson.project_source_root() / 'po',
|
||||
'GIT_TEST_TEMPLATE_DIR': meson.project_build_root() / 'templates',
|
||||
'GIT_TEST_TEXTDOMAINDIR': meson.project_build_root() / 'po',
|
||||
'PAGER_ENV': get_option('pager_environment'),
|
||||
'PERL_PATH': perl.found() ? perl.full_path() : '',
|
||||
'PYTHON_PATH': python.found () ? python.full_path() : '',
|
||||
'SHELL_PATH': shell.full_path(),
|
||||
'TAR': tar.full_path(),
|
||||
'TEST_OUTPUT_DIRECTORY': test_output_directory,
|
||||
'TEST_SHELL_PATH': shell.full_path(),
|
||||
}
|
||||
if value != '' and cygpath.found()
|
||||
value = run_command(cygpath, value, check: true).stdout().strip()
|
||||
endif
|
||||
build_options_config.set_quoted(key, value)
|
||||
endforeach
|
||||
|
||||
configure_file(
|
||||
input: 'GIT-BUILD-OPTIONS.in',
|
||||
output: 'GIT-BUILD-OPTIONS',
|
||||
configuration: build_options_config,
|
||||
)
|
||||
|
||||
git_version_file = custom_target(
|
||||
command: [
|
||||
shell,
|
||||
|
@ -1893,6 +1865,9 @@ subdir('contrib')
|
|||
gitweb_option = get_option('gitweb').disable_auto_if(not perl.found())
|
||||
if gitweb_option.enabled()
|
||||
subdir('gitweb')
|
||||
build_options_config.set('NO_GITWEB', '')
|
||||
else
|
||||
build_options_config.set('NO_GITWEB', '1')
|
||||
endif
|
||||
|
||||
subdir('templates')
|
||||
|
@ -1909,6 +1884,34 @@ if get_option('docs') != []
|
|||
subdir('Documentation')
|
||||
endif
|
||||
|
||||
foreach key, value : {
|
||||
'DIFF': diff.full_path(),
|
||||
'GIT_TEST_CMP': diff.full_path() + ' -u',
|
||||
'GIT_TEST_GITPERLLIB': meson.project_build_root() / 'perl',
|
||||
'GIT_TEST_MERGE_TOOLS_DIR': meson.project_source_root() / 'mergetools',
|
||||
'GIT_TEST_POPATH': meson.project_source_root() / 'po',
|
||||
'GIT_TEST_TEMPLATE_DIR': meson.project_build_root() / 'templates',
|
||||
'GIT_TEST_TEXTDOMAINDIR': meson.project_build_root() / 'po',
|
||||
'PAGER_ENV': get_option('pager_environment'),
|
||||
'PERL_PATH': perl.found() ? perl.full_path() : '',
|
||||
'PYTHON_PATH': python.found () ? python.full_path() : '',
|
||||
'SHELL_PATH': shell.full_path(),
|
||||
'TAR': tar.full_path(),
|
||||
'TEST_OUTPUT_DIRECTORY': test_output_directory,
|
||||
'TEST_SHELL_PATH': shell.full_path(),
|
||||
}
|
||||
if value != '' and cygpath.found()
|
||||
value = run_command(cygpath, value, check: true).stdout().strip()
|
||||
endif
|
||||
build_options_config.set_quoted(key, value)
|
||||
endforeach
|
||||
|
||||
configure_file(
|
||||
input: 'GIT-BUILD-OPTIONS.in',
|
||||
output: 'GIT-BUILD-OPTIONS',
|
||||
configuration: build_options_config,
|
||||
)
|
||||
|
||||
summary({
|
||||
'curl': curl.found(),
|
||||
'expat': expat.found(),
|
||||
|
|
|
@ -105,6 +105,11 @@ if ! test_have_prereq PERL; then
|
|||
test_done
|
||||
fi
|
||||
|
||||
if ! test_have_prereq GITWEB; then
|
||||
skip_all='skipping gitweb tests, gitweb not available'
|
||||
test_done
|
||||
fi
|
||||
|
||||
perl -MEncode -e '$e="";decode_utf8($e, Encode::FB_CROAK)' >/dev/null 2>&1 || {
|
||||
skip_all='skipping gitweb tests, perl version is too old'
|
||||
test_done
|
||||
|
|
|
@ -1687,6 +1687,7 @@ esac
|
|||
|
||||
( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
|
||||
test -z "$NO_CURL" && test_set_prereq LIBCURL
|
||||
test -z "$NO_GITWEB" && test_set_prereq GITWEB
|
||||
test -z "$NO_ICONV" && test_set_prereq ICONV
|
||||
test -z "$NO_PERL" && test_set_prereq PERL
|
||||
test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
|
||||
|
|
Loading…
Reference in New Issue