Re: Common makefile (gasp) stuff

2015-01-15 Thread H. S. Teoh via Digitalmars-d
On Thu, Jan 15, 2015 at 04:08:14PM +, Dicebot via Digitalmars-d wrote: Important thing here is that starting with git 1.8.2 it is possible to set submodule to track head of remote branch instead of fixed commit hash - which fixes the maintenance issue and is exactly the thing needed for

Re: Common makefile (gasp) stuff

2015-01-15 Thread Andrei Alexandrescu via Digitalmars-d
On 1/15/15 10:27 AM, H. S. Teoh via Digitalmars-d wrote: On Thu, Jan 15, 2015 at 04:08:14PM +, Dicebot via Digitalmars-d wrote: Important thing here is that starting with git 1.8.2 it is possible to set submodule to track head of remote branch instead of fixed commit hash - which fixes the

Re: Common makefile (gasp) stuff

2015-01-15 Thread Dicebot via Digitalmars-d
Important thing here is that starting with git 1.8.2 it is possible to set submodule to track head of remote branch instead of fixed commit hash - which fixes the maintenance issue and is exactly the thing needed for meta-dlang repo.

Re: Common makefile (gasp) stuff

2015-01-15 Thread Dicebot via Digitalmars-d
On Thursday, 15 January 2015 at 07:33:38 UTC, Jacob Carlborg wrote: On 2015-01-14 21:54, Andrei Alexandrescu wrote: I hear you but The Internet says submodules are a kind of a bummer. Most issues I have read about is because they don't know how submodules work. It's the same thing with most

Re: Common makefile (gasp) stuff

2015-01-15 Thread Rikki Cattermole via Digitalmars-d
On 15/01/2015 8:35 p.m., Jacob Carlborg wrote: On 2015-01-15 02:48, Rikki Cattermole wrote: Dub can run external processes but its best to leave it up to the end dev to run the c/assembly generation. When they want it regenerated. I think its best we commit most of the binary outputs. Mostly

Re: Common makefile (gasp) stuff

2015-01-15 Thread Jacob Carlborg via Digitalmars-d
On 2015-01-15 09:30, Rikki Cattermole wrote: Imagine your wanting to get some new flash feature (doesn't require compiler change) by just adding druntime/phobos as a dependency via dub. You don't really want to recompile the assembly/c stuff that almost definitely hasn't changed. Why not?

Re: Common makefile (gasp) stuff

2015-01-15 Thread Rikki Cattermole via Digitalmars-d
On 16/01/2015 1:19 a.m., Jacob Carlborg wrote: On 2015-01-15 09:30, Rikki Cattermole wrote: Imagine your wanting to get some new flash feature (doesn't require compiler change) by just adding druntime/phobos as a dependency via dub. You don't really want to recompile the assembly/c stuff that

Re: Common makefile (gasp) stuff

2015-01-15 Thread Jacob Carlborg via Digitalmars-d
On 2015-01-15 19:45, Andrei Alexandrescu wrote: I'd be okay with reorganizing our repos as a module with the submodules dmd, druntime, phobos, and tools. For that we'd need a champion who is willing to try it, experiment with it (e.g. in a separate repo), demonstrate its advantages and discuss

Re: Common makefile (gasp) stuff

2015-01-15 Thread Jacob Carlborg via Digitalmars-d
On 2015-01-15 17:08, Dicebot wrote: Important thing here is that starting with git 1.8.2 it is possible to set submodule to track head of remote branch instead of fixed commit hash - which fixes the maintenance issue and is exactly the thing needed for meta-dlang repo. Yeah, but in practice I

Re: Common makefile (gasp) stuff

2015-01-14 Thread Andrei Alexandrescu via Digitalmars-d
On 1/14/15 3:29 AM, Daniel Murphy wrote: Andrei Alexandrescu wrote in message news:m95i3q$1t6$1...@digitalmars.com... I don't mind using include files, I mind adding more dependencies between projects. Why? Druntime depends on dmd. Phobos depends on dmd and druntime. Dlang.org and tools

Re: Common makefile (gasp) stuff

2015-01-14 Thread Andrei Alexandrescu via Digitalmars-d
On 1/14/15 9:36 AM, H. S. Teoh via Digitalmars-d wrote: What stops us from adding said scripts to the dlang.org repo? Or tools, for that matter, which is probably more appropriate. Not everything needs to be shoehorned into the makefiles. As I explained in my previous message it's a sensible

Re: Common makefile (gasp) stuff

2015-01-14 Thread Andrei Alexandrescu via Digitalmars-d
On 1/14/15 8:50 AM, Mathias LANG wrote: IMO helpers (such as git helpers) are not part of the build process, so they should not be part of the build files. Few people care about make rebase. I'm not saying we should delete them (they obviously are useful to you), but moving them to tools might

Re: Common makefile (gasp) stuff

2015-01-14 Thread Andrei Alexandrescu via Digitalmars-d
On 1/14/15 9:36 AM, H. S. Teoh via Digitalmars-d wrote: Because it imposes a specific external directory structure which the casual user has no idea about. I think that's a given already and has been for a long time. -- Andrei

Re: Common makefile (gasp) stuff

2015-01-14 Thread Andrei Alexandrescu via Digitalmars-d
On 1/14/15 9:36 AM, H. S. Teoh via Digitalmars-d wrote: What stops us from adding said scripts to the dlang.org repo? Or tools, for that matter, which is probably more appropriate. Oh, I just figured that would make everything dependent on dlang.org. That would be a new dependency :o). --

Re: Common makefile (gasp) stuff

2015-01-14 Thread Andrei Alexandrescu via Digitalmars-d
On 1/14/15 9:36 AM, H. S. Teoh via Digitalmars-d wrote: I'm astonished this has to be spelled out in, of all places, a D forum. Surely, of all people, we D people must be all too familiar with exactly why things like #include ../../../mylib/mymod/myheader.h are evil? I think that would be

Re: Common makefile (gasp) stuff

2015-01-14 Thread Andrei Alexandrescu via Digitalmars-d
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

Re: Common makefile (gasp) stuff

2015-01-14 Thread H. S. Teoh via Digitalmars-d
On Wed, Jan 14, 2015 at 11:50:39AM -0800, Andrei Alexandrescu via Digitalmars-d wrote: 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

Re: Common makefile (gasp) stuff

2015-01-14 Thread Andrei Alexandrescu via Digitalmars-d
On 1/14/15 12:18 PM, H. S. Teoh via Digitalmars-d wrote: If you set up a super-repo, it would look something like this: dlang/ # root git repo dmd/# git submodule referencing the dmd repo druntime/ # git submodule

Re: Common makefile (gasp) stuff

2015-01-14 Thread Rikki Cattermole via Digitalmars-d
On Wednesday, 14 January 2015 at 20:07:12 UTC, Andrei Alexandrescu wrote: On 1/14/15 8:50 AM, Mathias LANG wrote: IMO helpers (such as git helpers) are not part of the build process, so they should not be part of the build files. Few people care about make rebase. I'm not saying we should

Re: Common makefile (gasp) stuff

2015-01-14 Thread Andrei Alexandrescu via Digitalmars-d
On 1/14/15 3:14 PM, Rikki Cattermole wrote: So a dub file for phobos is needed? And maybe druntime too? I'll see what I can do. That would be very interesting, thanks. Prolly druntime is easiest - one less dependency. Please share all discoveries you make with the core team here. -- Andrei

Re: Common makefile (gasp) stuff

2015-01-14 Thread Mathias LANG via Digitalmars-d
On Wednesday, 14 January 2015 at 23:58:45 UTC, Rikki Cattermole wrote: On 15/01/2015 12:24 p.m., Andrei Alexandrescu wrote: On 1/14/15 3:14 PM, Rikki Cattermole wrote: So a dub file for phobos is needed? And maybe druntime too? I'll see what I can do. That would be very interesting,

Re: Common makefile (gasp) stuff

2015-01-14 Thread Rikki Cattermole via Digitalmars-d
On 15/01/2015 1:15 p.m., Mathias LANG wrote: On Wednesday, 14 January 2015 at 23:58:45 UTC, Rikki Cattermole wrote: On 15/01/2015 12:24 p.m., Andrei Alexandrescu wrote: On 1/14/15 3:14 PM, Rikki Cattermole wrote: So a dub file for phobos is needed? And maybe druntime too? I'll see what I can

Re: Common makefile (gasp) stuff

2015-01-14 Thread Rikki Cattermole via Digitalmars-d
On 15/01/2015 12:24 p.m., Andrei Alexandrescu wrote: On 1/14/15 3:14 PM, Rikki Cattermole wrote: So a dub file for phobos is needed? And maybe druntime too? I'll see what I can do. That would be very interesting, thanks. Prolly druntime is easiest - one less dependency. Please share all

Re: Common makefile (gasp) stuff

2015-01-14 Thread Rikki Cattermole via Digitalmars-d
On 15/01/2015 2:58 p.m., Mathias LANG wrote: On Thursday, 15 January 2015 at 01:48:29 UTC, Rikki Cattermole wrote: Druntime and phobos now can be built and even more importantly you can have druntime as a dependency to phobos. In fact it is. Phobos supports being built as a dynamic library

Re: Common makefile (gasp) stuff

2015-01-14 Thread Mathias LANG via Digitalmars-d
On Thursday, 15 January 2015 at 01:48:29 UTC, Rikki Cattermole wrote: Druntime and phobos now can be built and even more importantly you can have druntime as a dependency to phobos. In fact it is. Phobos supports being built as a dynamic library (there is a configuration for for it). So if you

Re: Common makefile (gasp) stuff

2015-01-14 Thread Jacob Carlborg via Digitalmars-d
On 2015-01-14 00:20, Andrei Alexandrescu wrote: Hey folks, Over the time a number of stuff has become quite duplicated across our makefiles for dmd, druntime, and phobos. These include fetching OS and model but (newer) general-purpose macros for e.g. rebasing repos, see

Re: Common makefile (gasp) stuff

2015-01-14 Thread Jacob Carlborg via Digitalmars-d
On 2015-01-15 02:48, Rikki Cattermole wrote: Dub can run external processes but its best to leave it up to the end dev to run the c/assembly generation. When they want it regenerated. I think its best we commit most of the binary outputs. Mostly c/assembly generation. Not the D stuff. Why

Re: Common makefile (gasp) stuff

2015-01-14 Thread Jacob Carlborg via Digitalmars-d
On 2015-01-14 21:54, Andrei Alexandrescu wrote: I hear you but The Internet says submodules are a kind of a bummer. Most issues I have read about is because they don't know how submodules work. It's the same thing with most tools, if you don't know how to use it the experience is going to

Re: Common makefile (gasp) stuff

2015-01-14 Thread Jacob Carlborg via Digitalmars-d
On 2015-01-14 20:50, Andrei Alexandrescu wrote: 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:

Re: Common makefile (gasp) stuff

2015-01-14 Thread Rikki Cattermole via Digitalmars-d
On 15/01/2015 12:24 p.m., Andrei Alexandrescu wrote: On 1/14/15 3:14 PM, Rikki Cattermole wrote: So a dub file for phobos is needed? And maybe druntime too? I'll see what I can do. That would be very interesting, thanks. Prolly druntime is easiest - one less dependency. Please share all

Re: Common makefile (gasp) stuff

2015-01-14 Thread H. S. Teoh via Digitalmars-d
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

Re: Common makefile (gasp) stuff

2015-01-14 Thread H. S. Teoh via Digitalmars-d
On Wed, Jan 14, 2015 at 02:58:02AM -0800, Andrei Alexandrescu via Digitalmars-d wrote: On 1/14/15 2:09 AM, Daniel Murphy wrote: [...] Do enough people need to that it warrants being in the makefile instead of a local shell script? Does everyone do it the same way? Yes. Currently I'm the

Re: Common makefile (gasp) stuff

2015-01-14 Thread Mathias LANG via Digitalmars-d
On Tuesday, 13 January 2015 at 23:20:13 UTC, Andrei Alexandrescu wrote: Hey folks, Over the time a number of stuff has become quite duplicated across our makefiles for dmd, druntime, and phobos. These include fetching OS and model but (newer) general-purpose macros for e.g. rebasing repos,

Re: Common makefile (gasp) stuff

2015-01-14 Thread Mike via Digitalmars-d
On Wednesday, 14 January 2015 at 04:29:57 UTC, Paul O'Neil wrote: I put off some documentation updates a few months ago because it wasn't worth the investment yet to figure out how to build the website. The wiki pages appeared to be about building the compiler, which I didn't realize I

Re: Common makefile (gasp) stuff

2015-01-14 Thread Daniel Murphy via Digitalmars-d
Andrei Alexandrescu wrote in message news:m94vfk$2gdh$1...@digitalmars.com... Hmmm... I wonder why the distinction. OS detection is required to build successfully, a rebase shortcut is not. The problem is basic code duplication with its known liabilities. I'm looking at stuff like this:

Re: Common makefile (gasp) stuff

2015-01-14 Thread Mike via Digitalmars-d
On Wednesday, 14 January 2015 at 07:55:31 UTC, Mike wrote: Would it be better to wikify it, somehow, in GitHub pages? I think wiki is the wrong term here. I mean, is there a way to leverage Markdown (or some other markup language) with GitHub's source code management features to make it

Re: Common makefile (gasp) stuff

2015-01-14 Thread Russel Winder via Digitalmars-d
On Tue, 2015-01-13 at 15:20 -0800, Andrei Alexandrescu via Digitalmars-d wrote: Hey folks, Over the time a number of stuff has become quite duplicated across our makefiles for dmd, druntime, and phobos. Are these three separate things with separate builds, or are they three components of

Re: Common makefile (gasp) stuff

2015-01-14 Thread Rikki Cattermole via Digitalmars-d
One thought because of somethings being said, dmd-fe is being converted to D. Which means to compile dmd you need a D compiler already. We could make all the build scripts, D instead. It would mean one less external to D ecosystem dependency. But it could easily be a nightmare.

Re: Common makefile (gasp) stuff

2015-01-14 Thread Daniel Murphy via Digitalmars-d
Andrei Alexandrescu wrote in message news:m95ds3$2vm4$1...@digitalmars.com... I agree that make sucks etc. but duplication sucks more (and would suck regardless of what tool we use). Here we do have a simple method (include files) that is suitable for addressing that. I'd assume we'd use

Re: Common makefile (gasp) stuff

2015-01-14 Thread Andrei Alexandrescu via Digitalmars-d
On 1/14/15 2:09 AM, Daniel Murphy wrote: Andrei Alexandrescu wrote in message news:m95ds3$2vm4$1...@digitalmars.com... I agree that make sucks etc. but duplication sucks more (and would suck regardless of what tool we use). Here we do have a simple method (include files) that is suitable for

Re: Common makefile (gasp) stuff

2015-01-14 Thread Andrei Alexandrescu via Digitalmars-d
On 1/14/15 12:29 AM, Daniel Murphy wrote: The problem here is really that make sucks, right? And makefiles suck. Maybe we should start seriously looking at replacing them with D scripts. I agree that make sucks etc. but duplication sucks more (and would suck regardless of what tool we use).

Re: Common makefile (gasp) stuff

2015-01-14 Thread Daniel Murphy via Digitalmars-d
Andrei Alexandrescu wrote in message news:m95i3q$1t6$1...@digitalmars.com... I don't mind using include files, I mind adding more dependencies between projects. Why? Druntime depends on dmd. Phobos depends on dmd and druntime. Dlang.org and tools depend on dmd, druntime, and phobos. It's

Re: Common makefile (gasp) stuff

2015-01-13 Thread Walter Bright via Digitalmars-d
On 1/13/2015 3:20 PM, Andrei Alexandrescu wrote: Over the time a number of stuff has become quite duplicated across our makefiles for dmd, druntime, and phobos. These include fetching OS and model but (newer) general-purpose macros for e.g. rebasing repos, see

Re: Common makefile (gasp) stuff

2015-01-13 Thread Daniel Murphy via Digitalmars-d
Andrei Alexandrescu wrote in message news:m9497d$1pv2$1...@digitalmars.com... Over the time a number of stuff has become quite duplicated across our makefiles for dmd, druntime, and phobos. These include fetching OS and model but (newer) general-purpose macros for e.g. rebasing repos, see

Re: Common makefile (gasp) stuff

2015-01-13 Thread Paul O'Neil via Digitalmars-d
On 01/13/2015 09:35 PM, Andrei Alexandrescu wrote: snip 1) These interdependencies are currently expressed by hard-coded filesystem paths, which presumes a specific directory layout for checking out dmd, dlang.org, phobos, druntime. This means the build will break if somebody doesn't know the

Re: Common makefile (gasp) stuff

2015-01-13 Thread Andrei Alexandrescu via Digitalmars-d
On 1/13/15 7:44 PM, Daniel Murphy wrote: Andrei Alexandrescu wrote in message news:m9497d$1pv2$1...@digitalmars.com... Over the time a number of stuff has become quite duplicated across our makefiles for dmd, druntime, and phobos. These include fetching OS and model but (newer)

Re: Common makefile (gasp) stuff

2015-01-13 Thread Andrei Alexandrescu via Digitalmars-d
On 1/13/15 8:29 PM, Paul O'Neil wrote: On 01/13/2015 09:35 PM, Andrei Alexandrescu wrote: snip 1) These interdependencies are currently expressed by hard-coded filesystem paths, which presumes a specific directory layout for checking out dmd, dlang.org, phobos, druntime. This means the build

Re: Common makefile (gasp) stuff

2015-01-13 Thread Andrei Alexandrescu via Digitalmars-d
On 1/13/15 8:49 PM, Walter Bright wrote: It's a few lines of duplication, as opposed to adding another point of failure to the build process, i.e. common.mak isn't found or the wrong one is found, etc. I'd have difficulty agreeing with this. If dmd is found then whatever is there is found.

Re: Common makefile (gasp) stuff

2015-01-13 Thread Andrei Alexandrescu via Digitalmars-d
On 1/13/15 3:55 PM, H. S. Teoh via Digitalmars-d wrote: On Tue, Jan 13, 2015 at 03:20:12PM -0800, Andrei Alexandrescu via Digitalmars-d wrote: Hey folks, Over the time a number of stuff has become quite duplicated across our makefiles for dmd, druntime, and phobos. These include fetching OS

Common makefile (gasp) stuff

2015-01-13 Thread Andrei Alexandrescu via Digitalmars-d
Hey folks, Over the time a number of stuff has become quite duplicated across our makefiles for dmd, druntime, and phobos. These include fetching OS and model but (newer) general-purpose macros for e.g. rebasing repos, see

Re: Common makefile (gasp) stuff

2015-01-13 Thread ketmar via Digitalmars-d
On Tue, 13 Jan 2015 15:20:12 -0800 Andrei Alexandrescu via Digitalmars-d digitalmars-d@puremagic.com wrote: Hey folks, Over the time a number of stuff has become quite duplicated across our makefiles for dmd, druntime, and phobos. These include fetching OS and model but (newer)

Re: Common makefile (gasp) stuff

2015-01-13 Thread H. S. Teoh via Digitalmars-d
On Tue, Jan 13, 2015 at 03:20:12PM -0800, Andrei Alexandrescu via Digitalmars-d wrote: Hey folks, Over the time a number of stuff has become quite duplicated across our makefiles for dmd, druntime, and phobos. These include fetching OS and model but (newer) general-purpose macros for