On Fri, 25 Jul 2014 11:35:23 GMT, John Colvin wrote:

On Thu, 24 Jul 2014 17:22:02 +0200, Sönke Ludwig wrote:

Am 24.07.2014 16:03, schrieb John Colvin:

On Wed, 23 Jul 2014 15:39:23 +0200, Sönke Ludwig wrote:

Am 23.07.2014 15:13, schrieb John Colvin:

What is the best way to get a list - for a given configuration - of include directories, library directories, libraries, version flags etc...

I need to get this info to pass to another build system (celeriD)

dub describe (with the appropriate configuration/architecture flags).
The output is in JSON format, so it still needs to be transformed to
whatever celeriD needs. An alternative would be to write a "generator"
similar to the VisualD one, which directly outputs a celeriD compatible
build description.

dub describe doesn't give different information about dependencies when --config is changed. All that appears to change is the "configuration" field for the root package.

That would be a bug, do you have a reproduction case you can share? It's
definitely intended to give information about the exact build
configuration that was given - recursively applied to the dependencies.

% cat dub.json
{
	"name": "dubtest",
	"description": "A minimal D application.",
	"copyright": "Copyright © 2014, john",
	"authors": ["john"],
	"targetType": "executable",
            "configurations":
	[
		{
			"name": "a",
			"dependencies": { "derelict-util": ">=1.0.2" }
		},
		{
			"name": "b"
		}
	]
}
% dub describe --config=a > a.json
% dub describe --config=b > b.json
% diff b.json a.json                   
112c112
< 	"configuration": "b",
---
> 	"configuration": "a",


Any further insight into this? Am I just misunderstanding what dub describe should do?