Replies: 4 comments
-
Ping @strega-nil lest I forget something, we don't have this feature, right? |
Beta Was this translation helpful? Give feedback.
-
Configuration outside scripts, triplets and portfiles may create problems with binary caching. So I'm not sure if the following should be recommended: AFAIU only the triplet file content itself is part of the ABI tracking. What if you use an include statement to load specialized configuration, at least during development? You would still need to carefully track what is in the build at release time. (But license tracking is an issue which perhaps needs more attention. With a GPL app, my desire is to keep out features which are not compatible with GPL. I think will need some override ports with a 'GPL ' feature'. 'LGPL' might be an alternative feature.) |
Beta Was this translation helpful? Give feedback.
-
It's been a while when I was working with it but I don't think you can include files from the triplet files. Because I wanted these changes for all our platforms I was trying to combine the checks into a single file and include that from the triplet files. Didn't get that to work back then but things might have changed since. |
Beta Was this translation helpful? Give feedback.
-
Nowadays, the license is part of
Of course, then it's up to you to determine which licenses would be safe to statically link. If no license is found, |
Beta Was this translation helpful? Give feedback.
-
I've been working with vcpkg in commercially distributed software. As such I need to watch the license of packages to determine how I can link them with our software. For example ffmpeg is LGPL so it needs to be linked as a shared library to not violate the L-GPL license.
Though I like to use as much as possible thru static libraries to allow compilers to optimize code in the entire program including 3rd party libraries and keep distribution a bit easier. Right now I'm using a custom vcpkg triplet or actuall an overlay of the default triplet names to 'fix' linkage based on port names.
This sort of works, but it requires a complete rebuild of all my dependencies everytime I'm adding a new entry to my manifest that doesn't conform to my default library linkage. This is annoying.
Proposed solution
It would be great if I could override for a port that it needs to be linked different.
Describe alternatives you've considered
Something else that could be interesting is to have information about the license in the CONTROL file of each port. With access to the license string then also in the triplet one could write something like:
But I assume that the CONTROL files are not parsed before reading the triplet config - didn't check that yet.
Beta Was this translation helpful? Give feedback.
All reactions