Commit ab72a98
fix(dist,build): make the release tarball self-contained and link gnutls on mingw
The 2.0.0 release workflow is the first to build the `make dist` tarball and
verify it on Linux/macOS/Windows, which surfaced several latent packaging gaps
plus a Windows-only link failure. All fixes below; none change library behavior.
Dist packaging (verify-dist failed at configure/build/check from the tarball):
- Add `doc` to SUBDIRS/DIST_SUBDIRS so doc/Makefile.in ships (config.status
could not find it -> the original CI failure on all three platforms).
- Add the internal headers detail/http_field_validation.hpp, detail/method_utils.hpp
and detail/path_normalize.hpp to src noinst_HEADERS (build-from-tarball missed them).
- Add test/integ/log_capture.hpp to test noinst_HEADERS.
- Ship the cmake module via dist_cmakemodule_DATA (plain _DATA is installed but
not distributed).
- Ship LICENSE, RELEASE_NOTES.md, CONTRIBUTING.md and CODE_OF_CONDUCT.md in EXTRA_DIST.
- Gate the README / release-notes / hooks-doc / doxygen check-local gates on the
presence of specs/ so `make check` from an unpacked tarball runs the test suite
plus the header/example/lint gates but skips the source-only doc gates (README
links into specs/ and docs/architecture/, which stay dev-only and are not shipped).
Windows / mingw link fix:
- Link -lgnutls when HAVE_GNUTLS is set. The library calls gnutls_* directly in
http_request_impl_tls.cpp; Linux/macOS resolve it transitively through
libmicrohttpd, but the mingw microhttpd import lib does not re-export those
symbols, so the DLL link failed with undefined references once MSYS2 started
shipping gnutls and configure enabled it.
Verified: `make distcheck` green end-to-end (all 113 tests pass from the tarball,
install/uninstall clean, archives ready for distribution).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015tAodxYJMEY4VxCX4dk62e1 parent ded4203 commit ab72a98
3 files changed
Lines changed: 26 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
28 | | - | |
| 27 | + | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
| 68 | + | |
| 69 | + | |
69 | 70 | | |
70 | 71 | | |
71 | 72 | | |
| |||
374 | 375 | | |
375 | 376 | | |
376 | 377 | | |
377 | | - | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
378 | 390 | | |
379 | 391 | | |
380 | 392 | | |
| |||
634 | 646 | | |
635 | 647 | | |
636 | 648 | | |
637 | | - | |
| 649 | + | |
638 | 650 | | |
639 | 651 | | |
640 | 652 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
48 | 55 | | |
49 | 56 | | |
50 | 57 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
718 | 718 | | |
719 | 719 | | |
720 | 720 | | |
721 | | - | |
| 721 | + | |
722 | 722 | | |
723 | 723 | | |
724 | 724 | | |
| |||
0 commit comments