Rework the way `tool_hugehelp.c` is included in builds. After this patch, with `./configure` and CMake `tool_hugehelp.c` is only compiled when building with manuals enabled. With manuals disabled this source file is not used anymore. The method is similar to how8a3740bc8eimplemented `tool_ca_embed.c`. `./configure` always generates it as before, otherwise the build fails. - winbuild: rework to not need `buildconf.bat`, but automatically use `tool_hugehelp.c` if present (e.g. when building from an official source tarball) and enable `USE_MANUAL` accordingly. - `buildconf.bat`: after dropping `tool_hugehelp.c` generation, the only logic left was `cp Makefile.dist Makefile`. This allowed to launch winbuild builds via GNU Make in a Git repo. Drop this option together with the batch file. - build `libcurltool` without `USE_MANUAL` macro to exclude the manual and the dependence on the generator commands. Drop relying on `UNITTESTS` for this purpose. Follow-up to96843f4ef7#16068 - `src/mkhelp.pl`: include `tool_hugehelp.h` before using `USE_MANUAL` to have it set in `config-*.h` builds with source tarballs created with manual but without zlib. Closes #16081
58 lines
1.1 KiB
Bash
Executable File
58 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (C) Viktor Szakats
|
|
#
|
|
# SPDX-License-Identifier: curl
|
|
|
|
# Compare git repo files with tarball files and report a mismatch
|
|
# after excluding exceptions.
|
|
|
|
set -eu
|
|
|
|
gitonly=".git*
|
|
^.*
|
|
^appveyor.*
|
|
^buildconf
|
|
^GIT-INFO.md
|
|
^README.md
|
|
^renovate.json
|
|
^REUSE.toml
|
|
^SECURITY.md
|
|
^LICENSES/*
|
|
^docs/examples/adddocsref.pl
|
|
^docs/THANKS-filter
|
|
^projects/Windows/*
|
|
^scripts/ciconfig.pl
|
|
^scripts/cijobs.pl
|
|
^scripts/contributors.sh
|
|
^scripts/contrithanks.sh
|
|
^scripts/delta
|
|
^scripts/installcheck.sh
|
|
^scripts/release-notes.pl
|
|
^scripts/singleuse.pl
|
|
^tests/CI.md"
|
|
|
|
tarfiles="$(mktemp)"
|
|
gitfiles="$(mktemp)"
|
|
|
|
tar -tf "$1" \
|
|
| sed -E 's|^[^/]+/||g' \
|
|
| grep -v -E '(/|^)$' \
|
|
| sort > "${tarfiles}"
|
|
|
|
git -C "${2:-.}" ls-files \
|
|
| grep -v -E "($(printf '%s' "${gitonly}" | tr $'\n' '|' | sed -e 's|\.|\\.|g' -e 's|\*|.+|g'))$" \
|
|
| sort > "${gitfiles}"
|
|
|
|
dif="$(diff -u "${tarfiles}" "${gitfiles}" | tail -n +3 || true)"
|
|
|
|
rm -rf "${tarfiles:?}" "${gitfiles:?}"
|
|
|
|
echo 'Only in tarball:'
|
|
echo "${dif}" | grep '^-' || true
|
|
echo
|
|
|
|
echo 'Missing from tarball:'
|
|
if echo "${dif}" | grep '^+'; then
|
|
exit 1
|
|
fi
|