When dependency hell freezes over: Managing C/C++ project dependencies
Try to complete the following sentence: Python has Pip, Ruby has Gem, Dart has Pub, C++ ... Unfortunately, there is no possibility to continue the sentence with the word has": There is no standard solution for resolving and keeping track of dependencies and version compatibilities for C/C++ projects. While the demand is high, the requirements for such a tool are complex. This presentation will summarize those requirements and blow some dust from Ryppl. A production-ready solution will be presented. The following topics will be covered: - Different dependency levels. - Decentralized package meta information. - Using boolean satisfiability to resolve dependencies. - Supporting both pre-built binaries and compiling from source. - Not bound to a particular version control or build system. - Retrieving packages from different channels. - Integration of system packages (deb, rpm, msi). - Cross compiling."
Speaker: Daniel Pfeifer