libcurl.pc: Merge Libs.private into Libs for static-only builds#5373
Closed
chewi wants to merge 1 commit intocurl:masterfrom
chewi:static-only-pkg-config
Closed
libcurl.pc: Merge Libs.private into Libs for static-only builds#5373chewi wants to merge 1 commit intocurl:masterfrom chewi:static-only-pkg-config
chewi wants to merge 1 commit intocurl:masterfrom
chewi:static-only-pkg-config
Conversation
Contributor
Author
|
Sorry, I've screwed this up. The newline character is mishandled up by Automake. I didn't notice because parallel builds somewhat hid the breakage. I also didn't hit this when I did the same for SDL2 as they don't use Automake. There is |
A project being built entirely statically will call pkg-config with --static, which utilises the Libs.private field. Conversely it will not use --static when not being built entirely statically, even if there is only a static build of libcurl available. This will most likely cause the build to fail due to underlinking unless we merge the Libs fields. Consider that this is what the Meson build system does when it generates pkg-config files. I have also reflected this in the --libs argument of curl-config even though REQUIRE_LIB_DEPS always seems to be "yes" anyway.
Contributor
Author
|
Should be good now. Without |
bagder
approved these changes
May 12, 2020
Member
|
Thanks! |
vszakats
added a commit
to vszakats/libssh2
that referenced
this pull request
Jul 13, 2023
Follow-up to 1209c16 libssh2#1114 Ref: curl/curl@98e5904 Ref: curl/curl#5373 Closes #xxxx
vszakats
added a commit
to vszakats/libssh2
that referenced
this pull request
Jul 14, 2023
Quoting the curl commit message (adapted for libssh2): "A project being built entirely statically will call pkg-config with `--static`, which utilises the `Libs.private` field. Conversely it will not use `--static` when not being built entirely statically, even if there is only a static build of libssh2 available. This will most likely cause the build to fail due to underlinking unless we merge the `Libs` fields. Consider that this is what the Meson build system does when it generates pkg-config files." Follow-up to 1209c16 libssh2#1114 Ref: curl/curl@98e5904 Ref: curl/curl#5373 Closes libssh2#1119
vszakats
added a commit
to vszakats/libssh2
that referenced
this pull request
Jul 15, 2023
Quoting the curl commit message (adapted for libssh2): "A project being built entirely statically will call pkg-config with `--static`, which utilises the `Libs.private` field. Conversely it will not use `--static` when not being built entirely statically, even if there is only a static build of libssh2 available. This will most likely cause the build to fail due to underlinking unless we merge the `Libs` fields. Consider that this is what the Meson build system does when it generates pkg-config files." Follow-up to 1209c16 libssh2#1114 Ref: curl/curl@98e5904 Ref: curl/curl#5373 Closes libssh2#1119
vszakats
added a commit
to vszakats/libssh2
that referenced
this pull request
Jul 15, 2023
Quoting the curl commit message (adapted for libssh2): "A project being built entirely statically will call pkg-config with `--static`, which utilises the `Libs.private` field. Conversely it will not use `--static` when not being built entirely statically, even if there is only a static build of libssh2 available. This will most likely cause the build to fail due to underlinking unless we merge the `Libs` fields. Consider that this is what the Meson build system does when it generates pkg-config files." Follow-up to 1209c16 libssh2#1114 Ref: curl/curl@98e5904 Ref: curl/curl#5373 Closes libssh2#1119
vszakats
added a commit
to libssh2/libssh2
that referenced
this pull request
Jul 18, 2023
Adapted for libssh2 from the curl commit message by James Le Cuirot: "A project built entirely statically will call `pkg-config` with `--static`, which utilises the `Libs.private:` field. Conversely it will not use `--static` when not being built entirely statically, even if there is only a static build of libssh2 available. This will most likely cause the build to fail due to underlinking unless we merge the `Libs:` fields. Consider that this is what the Meson build system does when it generates `pkg-config` files." This patch extends the above to `Requires:`, to mirror `Libs:` with `pkg-config` package names. Follow-up to 1209c16 #1114 Ref: #1114 (comment) Ref: curl/curl@98e5904 Ref: curl/curl#5373 Closes #1119
lampmanyao
pushed a commit
to lampmanyao/libssh2
that referenced
this pull request
Sep 3, 2023
Adapted for libssh2 from the curl commit message by James Le Cuirot: "A project built entirely statically will call `pkg-config` with `--static`, which utilises the `Libs.private:` field. Conversely it will not use `--static` when not being built entirely statically, even if there is only a static build of libssh2 available. This will most likely cause the build to fail due to underlinking unless we merge the `Libs:` fields. Consider that this is what the Meson build system does when it generates `pkg-config` files." This patch extends the above to `Requires:`, to mirror `Libs:` with `pkg-config` package names. Follow-up to 1209c16 libssh2#1114 Ref: libssh2#1114 (comment) Ref: curl/curl@98e5904 Ref: curl/curl#5373 Closes libssh2#1119
agreppin
pushed a commit
to agreppin/libssh2
that referenced
this pull request
Jul 14, 2024
Adapted for libssh2 from the curl commit message by James Le Cuirot: "A project built entirely statically will call `pkg-config` with `--static`, which utilises the `Libs.private:` field. Conversely it will not use `--static` when not being built entirely statically, even if there is only a static build of libssh2 available. This will most likely cause the build to fail due to underlinking unless we merge the `Libs:` fields. Consider that this is what the Meson build system does when it generates `pkg-config` files." This patch extends the above to `Requires:`, to mirror `Libs:` with `pkg-config` package names. Follow-up to 1209c16 libssh2#1114 Ref: libssh2#1114 (comment) Ref: curl/curl@98e5904 Ref: curl/curl#5373 Closes libssh2#1119
This file contains hidden or 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
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.
A project being built entirely statically will call pkg-config with
--static, which utilises theLibs.privatefield. Conversely it will not use--staticwhen not being built entirely statically, even if there is only a static build of libcurl available. This will most likely cause the build to fail due to underlinking unless we merge theLibsfields.Consider that this is what the Meson build system does when it generates pkg-config files.
I have also reflected this in the
--libsargument of curl-config even thoughREQUIRE_LIB_DEPSalways seems to beyesanyway.