Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Track Ninja's dyndeps feature #357

Open
ndmitchell opened this issue Dec 18, 2015 · 5 comments
Open

Track Ninja's dyndeps feature #357

ndmitchell opened this issue Dec 18, 2015 · 5 comments

Comments

@ndmitchell
Copy link
Owner

Ninja 1.7 is adding dyndeps (will be in the Ninja manual once it's done), along with examples of extracting a tarball and compiling Fortran. I should make documentation on the website of how to do that, and also support dyndeps in the Ninja build.

@Mathnerd314
Copy link
Contributor

Ninja documentation link: https://github.com/bradking/ninja/blob/features-for-fortran/doc/manual.asciidoc#dynamic-dependencies

It's not clear if it will actually be in 1.7.

@Mathnerd314
Copy link
Contributor

The tarball example is like the zip file in #421 (comment).

I'm not sure about the Fortran example; it seems like it would fscan all the files on every build, while in fact you only need to fscan the changed files.

@ndmitchell
Copy link
Owner Author

Yep, if it goes in, I'd aim to support it. I find the dyndeps thing a little confusing at first glance - it seems like a weird primitive to have added (I assume its a restricted version of monadic dependencies in some way).

@Mathnerd314
Copy link
Contributor

Dynamic implicit inputs can be replicated by a function that reads the dyndep file and calls need.

Dynamic implicit outputs are more interesting; they're a provide-like operation, with the semantics that modifying a provide-d file will re-run the provider, unless the provider is the thing that modified it.

@Ericson2314
Copy link

ninja-build/ninja#1521 wow it actually landed! The ranks of monadic build systems have grown.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants