Skip to content
This repository has been archived by the owner on Aug 11, 2021. It is now read-only.

Time to retire CompileAndLinkAgainst? #664

Open
markfinal opened this issue Oct 13, 2019 · 1 comment
Open

Time to retire CompileAndLinkAgainst? #664

markfinal opened this issue Oct 13, 2019 · 1 comment
Labels
Backlog For reconsideration at a later date question

Comments

@markfinal
Copy link
Owner

With the move towards an SDK structure, individual Modules that build libraries now don't export patches that set things up for compilation. Only link.

An illustration of this is the Zlib library (first to convert). Some old code still tried to use the lib, rather than the SDK, which on Windows failed, but on macOS and Linux worked, because the headers were found from the system, but the built library was linked against. In the long term, this is going to cause a lot of headaches with linker errors of mismatching headers to libs.

So, either retire CompileAndLinkAgainst, or require it to be more precise.

E.g. add some interfaces that Modules must implement in order to be 'compilagainst-able', i.e. must provide a patch for compilation.

@markfinal markfinal added question Backlog For reconsideration at a later date labels Oct 13, 2019
markfinal added a commit that referenced this issue Oct 13, 2019
…equires that Module to implement the C.IExportableCModule interface.
@markfinal
Copy link
Owner Author

I'm wondering whether this is actually a Core option.
Modules, by default, only have private patches. And you have to opt-in, with an interface, to identify Modules that have a patch for use in the dependency chain.

markfinal added a commit that referenced this issue Nov 17, 2019
…equires that Module to implement the C.IExportableCModule interface.
markfinal added a commit that referenced this issue Dec 19, 2019
…equires that Module to implement the C.IExportableCModule interface.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Backlog For reconsideration at a later date question
Projects
None yet
Development

No branches or pull requests

1 participant