build system

Gor Gyolchanyan gor.f.gyolchanyan at gmail.com
Wed Oct 26 11:43:41 PDT 2011


I agree.

On Wed, Oct 26, 2011 at 10:35 PM, Jacob Carlborg <doob at me.com> wrote:
> On 2011-10-26 15:39, Martin Nowak wrote:
>>
>> On Wed, 26 Oct 2011 12:26:56 +0200, Gor Gyolchanyan
>> <gor.f.gyolchanyan at gmail.com> wrote:
>>
>>> I had a few thoughts about integrating build awareness into DMD.
>>> It would be really cool to add a flag to DMD to make it compile and
>>> link in all import-referenced modules.
>>> Also, it would be awesome to store basic build information in modules
>>> themselves in the form of special comments (much like documentation
>>> comments), where one could specify external build dependencies, output
>>> type, etc.
>>> There would be no need for makefiles and extra build systems. You'd
>>> just feed an arbitrary module to the compiler and the compiler would
>>> build the target, to which that module belongs (bu parsing build
>>> comments and package hierarchies).
>>> Wouldn't this be a good thing to have?
>>
>> Some work in this direction has been done.
>> This proposal works by communicating url paths sources to an external
>> tool which is a flexible and good proposal.
>> It allows things as 'http://path/to/repo' for simple source file from
>> web fetching as well as 'pkg://experimental' for more sophisticated
>> package
>> manager interaction.
>> http://www.prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP11
>>
>> I've written a prototype implementation some weeks ago.
>>
>> This still needs a way to communicated modules to build or link.
>> For now I've simply added a pragma(build, <package>) which builds
>> every import from this package (globally, it's a prototype).
>>
>> Al together it can be used like this.
>> https://github.com/dawgfoto/graphics/blob/master/src/graphics/_.d
>>
>> There are some issues though that would benefit from good ideas.
>> Especially a better solution for import path and build declarations
>> would be great.
>>
>> DIP14 was not so well received.
>> http://www.prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP14.
>>
>> martin
>
> BTW, I don't think a build tool and a package manager should be mixed
> together in one tool. Instead they should be very well integrated with each
> other.
>
> --
> /Jacob Carlborg
>


More information about the Digitalmars-d mailing list