Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: drop tool_hugehelp.c.cvs, tidy up macros, drop buildconf.bat #16081

Closed
wants to merge 24 commits into from

Conversation

vszakats
Copy link
Member

@vszakats vszakats commented Jan 24, 2025

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 how
8a3740b implemented 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 to 96843f4 src: omit hugehelp and ca-embed from libcurltool #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.


  • try detecting the presence of tool_hugehelp.c withing Makefile.vc
    and set USE_MANUAL when detected. This would allow dropping the
    stub generator logic, and then the whole buildconf.bat script with it,
    which does nothing else, except cp Makefile.dist Makefile, to allow
    launching winbuild via GNU Make.
  • split off podman commit to separate PR pending.
  • split off dropping buildconf.bat to separate PR pending.
  • drop UNITTESTS guards for hugehelp and ca-embed.
    Follow-up to 96843f4 src: omit hugehelp and ca-embed from libcurltool #16068

@vszakats vszakats marked this pull request as draft January 24, 2025 13:32
@github-actions github-actions bot added cmdline tool CI Continuous Integration labels Jan 24, 2025
@vszakats vszakats force-pushed the hugehelp-opt branch 4 times, most recently from aaefb69 to 8943e14 Compare January 24, 2025 21:28
@github-actions github-actions bot added the tests label Jan 24, 2025
@vszakats vszakats marked this pull request as ready for review January 25, 2025 00:33
@vszakats vszakats marked this pull request as draft January 25, 2025 00:36
fix hugehelp generation in cases when the .cvs file was missing.
in reality this happened only if someone created a GIT-INFO.md
file inside an official source tarball and used buildconf.bat.

Follow-up to 9a0cf56 curl#13997
It's no longer required to be present unconditionally.
Stop setting the `USE_MANUAL` macro instead.
It's unlikely this ever worked to actually include a manual.
Unless manually building it with Perl. In that case this
macro needs to be set manually via `CPPFLAGS`.
To avoid causing compiler warnings when included in the build
but without `-DUSE_MANUAL`.
@vszakats vszakats marked this pull request as ready for review January 25, 2025 20:52
@vszakats vszakats marked this pull request as draft January 25, 2025 21:08
This drops `make vc` and `make vc-x64` to launch winbuild builds via
GNU Make.

You can do this instead:

make vc:

% cd winbuild
% nmake /f Makefile.vc MACHINE=x86

make vc-x64:

$ cd winbuild
% nmake /f Makefile.vc MACHINE=x64
@vszakats vszakats added cmake Windows Windows-specific CI Continuous Integration and removed CI Continuous Integration labels Jan 25, 2025
@vszakats vszakats marked this pull request as ready for review January 25, 2025 21:46
@vszakats vszakats changed the title build: drop tool_hugehelp.c.cvs, tidy up feature macros build: drop tool_hugehelp.c.cvs, tidy up macros, drop buildconf.bat Jan 25, 2025
@vszakats vszakats closed this in 0035ff4 Jan 26, 2025
@vszakats vszakats deleted the hugehelp-opt branch January 26, 2025 13:24
vszakats added a commit that referenced this pull request Jan 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

2 participants