Thread overview | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
September 27, 2004 [Annouce] dmake 0.21 | ||||
---|---|---|---|---|
| ||||
If everything is working and the sourcefiles aligned in some import tree, then: dmake mainsource or dmake mainsource [optional external libraries] [optional dmd options] should make/build your application, analyzing import statements recursively and optimizing the compiles/link done by calling dmd by using one large response file or the long linux command line. More information: <http://www.wikiservice.at/wiki4d/wiki.cgi?Dmake> -- Helmut Leitner leitner@hls.via.at Graz, Austria www.hls-software.com |
September 27, 2004 Re: [Annouce] dmake 0.21 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Helmut Leitner | Helmut Leitner wrote:
> If everything is working and the sourcefiles aligned in some import tree,
> then:
>
> dmake mainsource or
> dmake mainsource [optional external libraries] [optional dmd options]
>
> should make/build your application, analyzing import statements recursively
> and optimizing the compiles/link done by calling dmd by using one large
> response file or the long linux command line.
>
> More information:
> <http://www.wikiservice.at/wiki4d/wiki.cgi?Dmake>
>
Very nice!
How does this compare to digc?
|
September 27, 2004 Re: [Annouce] dmake 0.21 | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Reimer | >>
>
> Very nice!
>
> How does this compare to digc?
Apologies... I should probably have just reviewed some past newsgroup posts for the answer to this one.
|
September 27, 2004 Re: [Annouce] dmake 0.21 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Helmut Leitner | On Mon, 27 Sep 2004 23:51:11 +0200, Helmut Leitner wrote: > If everything is working and the sourcefiles aligned in some import tree, then: > > dmake mainsource or > dmake mainsource [optional external libraries] [optional dmd options] > > should make/build your application, analyzing import statements recursively and optimizing the compiles/link done by calling dmd by using one large response file or the long linux command line. > > More information: > <http://www.wikiservice.at/wiki4d/wiki.cgi?Dmake> Just a couple of points... ** Not everyone has DMD or DM installed in C:\. These locations really shouldn't be hardcoded. ** I altered your source to point to the location of where I've installed D ( r"C:\dparnell\dmd" ). Then ran dmake and it reports "Error: std\c\stdio.d: path not found" -- Derek Melbourne, Australia 9/28/2004 8:42:11 AM |
September 27, 2004 Re: [Annouce] dmake 0.21 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Helmut Leitner | Helmut Leitner wrote:
> If everything is working and the sourcefiles aligned in some import tree,
> then:
>
> dmake mainsource or
> dmake mainsource [optional external libraries] [optional dmd options]
>
> should make/build your application, analyzing import statements recursively
> and optimizing the compiles/link done by calling dmd by using one large
> response file or the long linux command line.
>
> More information:
> <http://www.wikiservice.at/wiki4d/wiki.cgi?Dmake>
>
This is great Helmut. Love it.
Two problems thing though:
First: it should know how to resolve phobos library files prior to searching elsewhere. There should be no need to recompile std\stdio.d because it's already included in phobos.lib. And if for some reason it wasn't, only then should it attempt to find and use the source code.
C:\>dmake main -O -release
Error: std\stdio.d: path not found
Second: why is the location of the DMD and DMC install directories hard coded?
Andrew
|
September 28, 2004 Re: [Annouce] dmake 0.21 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Derek Parnell | Derek Parnell wrote: > > On Mon, 27 Sep 2004 23:51:11 +0200, Helmut Leitner wrote: > > > If everything is working and the sourcefiles aligned in some import tree, then: > > > > dmake mainsource or > > dmake mainsource [optional external libraries] [optional dmd options] > > > > should make/build your application, analyzing import statements recursively and optimizing the compiles/link done by calling dmd by using one large response file or the long linux command line. > > > > More information: > > <http://www.wikiservice.at/wiki4d/wiki.cgi?Dmake> > > Just a couple of points... > > ** Not everyone has DMD or DM installed in C:\. These locations really shouldn't be hardcoded. > > ** I altered your source to point to the location of where I've installed D ( r"C:\dparnell\dmd" ). Then ran dmake and it reports > > "Error: std\c\stdio.d: path not found" Run verbose -v and look at the import roots listing. I think the Phobos root must be missing. dmake doesn't yet interpret relative %@P% from the configfile, it needs absolute paths there. -- Helmut Leitner leitner@hls.via.at Graz, Austria www.hls-software.com |
September 28, 2004 Re: [Annouce] dmake 0.21 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tyro | Tyro wrote: > > Helmut Leitner wrote: > > If everything is working and the sourcefiles aligned in some import tree, then: > > > > dmake mainsource or > > dmake mainsource [optional external libraries] [optional dmd options] > > > > should make/build your application, analyzing import statements recursively and optimizing the compiles/link done by calling dmd by using one large response file or the long linux command line. > > > > More information: > > <http://www.wikiservice.at/wiki4d/wiki.cgi?Dmake> > > > > This is great Helmut. Love it. > > Two problems thing though: > > First: it should know how to resolve phobos library files prior to searching elsewhere. There should be no need to recompile std\stdio.d because it's already included in phobos.lib. And if for some reason it wasn't, only then should it attempt to find and use the source code. > > C:\>dmake main -O -release > Error: std\stdio.d: path not found use -v and check the import roots listing. The root for phobos will be missing. Check that the dm configfile is in the standard location. (Windows only) Check that the DFLAGS option doesn't contain relative dmd.exe path reference (%@P%) > Second: why is the location of the DMD and DMC install directories hard coded? (Windows only) I think there where recommendations to put them there. Part of it is inherited from digc (env_LIB). Suppose I'll have to change that (sorry for the inconvenience). -- Helmut Leitner leitner@hls.via.at Graz, Austria www.hls-software.com |
September 28, 2004 Re: [Annouce] dmake 0.21 | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Reimer | John Reimer wrote: > > Helmut Leitner wrote: > > If everything is working and the sourcefiles aligned in some import tree, then: > > > > dmake mainsource or > > dmake mainsource [optional external libraries] [optional dmd options] > > > > should make/build your application, analyzing import statements recursively and optimizing the compiles/link done by calling dmd by using one large response file or the long linux command line. > > > > More information: > > <http://www.wikiservice.at/wiki4d/wiki.cgi?Dmake> > > > > Very nice! > > How does this compare to digc? First, dmake uses substancial parts from digc - Thank you, Burton Radons! If the features of dmake become popular, I'm sure Burton will join its features into digc, and I'll be happy to support that. Currently dmake is a stripped down spike that follows a quite different philosophy. The answer in short: - digc is a reliable product - dmake is late alpha / early beta - digc is built to make library building and using easy - dmake is built to forget about library building and using - digc is built to support proprietary and professional libary products - dmake is built for easy code reuse across the traditional borders of libraries and projects and for easy change of these structures -- Helmut Leitner leitner@hls.via.at Graz, Austria www.hls-software.com |
September 28, 2004 Re: [Annouce] dmake 0.21 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Helmut Leitner | On Tue, 28 Sep 2004 07:40:25 +0200, Helmut Leitner wrote: > Derek Parnell wrote: >> >> On Mon, 27 Sep 2004 23:51:11 +0200, Helmut Leitner wrote: >> >>> If everything is working and the sourcefiles aligned in some import tree, then: >>> >>> dmake mainsource or >>> dmake mainsource [optional external libraries] [optional dmd options] >>> >>> should make/build your application, analyzing import statements recursively and optimizing the compiles/link done by calling dmd by using one large response file or the long linux command line. >>> >>> More information: >>> <http://www.wikiservice.at/wiki4d/wiki.cgi?Dmake> >> >> Just a couple of points... >> >> ** Not everyone has DMD or DM installed in C:\. These locations really shouldn't be hardcoded. >> >> ** I altered your source to point to the location of where I've installed D ( r"C:\dparnell\dmd" ). Then ran dmake and it reports >> >> "Error: std\c\stdio.d: path not found" > > Run verbose -v and look at the import roots listing. I think the Phobos root must be missing. > > dmake doesn't yet interpret relative %@P% from the configfile, it needs absolute paths there. Ahhh... I see now. It extracts the 'root' data from the configfile. I've made some changes to dmake.d to parse the configfile better. It now takes quotes and environment symbols into consideration. Plus I've changed it to scan for dmd.exe based on the current PATH variable so it doesn't have to use the recommended location. Plus a couple of other 'enhancements'. Do you want my changes? I can place it on my website or would you prefer email or something else? -- Derek Melbourne, Australia 28/09/2004 5:55:43 PM |
September 28, 2004 Re: [Annouce] dmake 0.21 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Derek Parnell | Derek Parnell wrote: > > On Tue, 28 Sep 2004 07:40:25 +0200, Helmut Leitner wrote: > > > Derek Parnell wrote: > >> > >> On Mon, 27 Sep 2004 23:51:11 +0200, Helmut Leitner wrote: > >> > >>> If everything is working and the sourcefiles aligned in some import tree, then: > >>> > >>> dmake mainsource or > >>> dmake mainsource [optional external libraries] [optional dmd options] > >>> > >>> should make/build your application, analyzing import statements recursively and optimizing the compiles/link done by calling dmd by using one large response file or the long linux command line. > >>> > >>> More information: > >>> <http://www.wikiservice.at/wiki4d/wiki.cgi?Dmake> > >> > >> Just a couple of points... > >> > >> ** Not everyone has DMD or DM installed in C:\. These locations really shouldn't be hardcoded. > >> > >> ** I altered your source to point to the location of where I've installed D ( r"C:\dparnell\dmd" ). Then ran dmake and it reports > >> > >> "Error: std\c\stdio.d: path not found" > > > > Run verbose -v and look at the import roots listing. > > I think the Phobos root must be missing. > > > > dmake doesn't yet interpret relative %@P% from the configfile, it needs absolute paths there. > > Ahhh... I see now. It extracts the 'root' data from the configfile. > > I've made some changes to dmake.d to parse the configfile better. It now takes quotes and environment symbols into consideration. Plus I've changed it to scan for dmd.exe based on the current PATH variable so it doesn't have to use the recommended location. Plus a couple of other 'enhancements'. Do you want my changes? I can place it on my website or would you prefer email or something else? Please, send me an e-mail to the address I've given on the Wiki page. If I don't see problems (I for example don't access dmd.exe from the PATH) I would publish it as v.22 and add your name to the program header. Please describe the other enhancements, to make it easier for me to test and document them. Maybe on: <http://www.wikiservice.at/wiki4d/wiki.cgi?Dmake/PreparingVs022> -- Helmut Leitner leitner@hls.via.at Graz, Austria www.hls-software.com |
Copyright © 1999-2021 by the D Language Foundation