-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
src: omit hugehelp and ca-embed from libcurltool #16068
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
``` [100%] Linking C executable units.app/units cd /Users/runner/work/curl/curl/bld/tests/unit && /opt/homebrew/bin/cmake -E cmake_link_script CMakeFiles/units.dir/link.txt --verbose=1 Undefined symbols for architecture arm64: "_hugehelp", referenced from: _operate in libcurltool.a[2](unity_0_c.c.o) "_showhelp", referenced from: _tool_help in libcurltool.a[2](unity_0_c.c.o) _tool_help in libcurltool.a[2](unity_0_c.c.o) ld: symbol(s) not found for architecture arm64 ``` https://github.com/curl/curl/actions/runs/12874833803/job/35895032436
To make curltool not rely on generated sources: `tool_hugehelp.c` and `tool_ca_embed.c` Xcode generator doesn't support having two targets depending on the same custom commands. Follow-up to 12a6de2 curl#16043
5 tasks
This comment was marked as resolved.
This comment was marked as resolved.
…hfiles_gen Necessary for tool_hugehelp.h getting into the distro package. distrocheck: ``` tool_help.c:34:10: fatal error: tool_hugehelp.h: No such file or directory 34 | #include "tool_hugehelp.h" | ^~~~~~~~~~~~~~~~~ ``` https://github.com/curl/curl/actions/runs/12896165897/job/35958584509?pr=16068#step:5:3036
4 tasks
vszakats
added a commit
that referenced
this pull request
Jan 26, 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 #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
vszakats
pushed a commit
that referenced
this pull request
Feb 6, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CMake builds using the Xcode generator broke with an error saying it
doesn't support multiple targets depending on the same custom commands.
These custom commands are generating
tool_hugehelp.c
andtool_c_embed.c
for the curl tool and libcurltool.unit1394
andunit1604
tests use libcurltool to test tool-specificfunctions. They don't need hugehelp and ca-embed. It's thus safe to
disable and exclude them when compiling the sources for libcurltool.
Use the
UNITTESTS
macro to detect a libcurltool build within C.After this patch these sources are solely used for building the curl
tool. Making the build compatible with the CMake Xcode generator.
Apply the change to autotools too to keep build systems synchronized.
Follow-up to 12a6de2 #16043
Clean fix for:
https://github.com/curl/curl/actions/runs/12840127495/job/35808354148?pr=16043#step:5:1797