Common makefile (gasp) stuff

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Wed Jan 14 11:50:39 PST 2015


On 1/14/15 9:01 AM, H. S. Teoh via Digitalmars-d wrote:
> On Wed, Jan 14, 2015 at 04:27:10PM +0100, Jacob Carlborg via Digitalmars-d wrote:
>> On 2015-01-14 00:20, Andrei Alexandrescu wrote:
> [...]
>>> I think it's time to reduce clutter and duplication by migrating such
>>> common stuff into one common.mak file. Question is, where should that
>>> file sit? One candidate is tools/ but it's not really a tool. Another
>>> candidate is dmd/src/ because that would be the first thing anyone
>>> depends on.
>>
>> Oh God, please no. I really, really hate that the makefiles are are
>> looking in folders outside of the repositories.
>
> +1. Makefiles that reference paths outside the repo are really really
> evil. They only ever work for the specific setup the author has, and
> breaks for everybody else.

Currently there must be a place where druntime finds dmd for building 
purposes. Also phobos needs to find druntime. Also dlang.ord needs to 
find the source of both phobos and druntime.

There's no specific setup of one person as much as a boring:

/some/dir/
   dmd
   druntime
   phobos
   dlang.org
   tools

I have a hard time making it any simpler.

>>> Ideas?
>>
>> If you really want to do something like this I would recommend
>> creating a new repository, acting like a super repository, including
>> the other repositories as submodules. Then you can create a new
>> makefile that builds everything. Although, I still don't want the
>> makefiles in the existing repositories be dependent on the new
>> repository.
> [...]
>
> +1, this is a much better approach than introducing yet more extra-repo
> hard-coded paths into the makefiles. There are too many of those
> already.

Where would that super-repo sit?


Andrei



More information about the Digitalmars-d mailing list