digitalmars.D - [Annouce] dmake 0.21
- Helmut Leitner <helmut.leitner wikiservice.at> Sep 27 2004
- John Reimer <brk_6502 NOSP_AM.yahoo.com> Sep 27 2004
- John Reimer <brk_6502 NOSP_AM.yahoo.com> Sep 27 2004
- Helmut Leitner <helmut.leitner wikiservice.at> Sep 27 2004
- Derek Parnell <derek psych.ward> Sep 27 2004
- Helmut Leitner <helmut.leitner wikiservice.at> Sep 27 2004
- Derek Parnell <derek psych.ward> Sep 28 2004
- Helmut Leitner <leitner hls.via.at> Sep 28 2004
- Tyro <ridimz_at yahoo.dot.com> Sep 27 2004
- Helmut Leitner <helmut.leitner wikiservice.at> Sep 27 2004
- novice <novice_member pathlink.com> Sep 28 2004
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
Sep 27 2004
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?
Sep 27 2004
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.
Sep 27 2004
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
Sep 27 2004
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
Sep 27 2004
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
Sep 27 2004
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
Sep 28 2004
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
Sep 28 2004
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
Sep 27 2004
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
Sep 27 2004
I suggest changes for sc.ini searching in Windows environment: 1 - sc.ini and dmd.exe searched near dmake.exe 2 - dmd.exe searched by PATH env.variable, then sc.ini near dmd.exe Because may peoples in Windows put usefull folders to PATH variable. For example i have D:\D\dmd\bin in PATH, and i type "dmd.exe" to run dmd, not "D:\D\dmd\bin\dmd.exe". Now it would be nice place dmake.exe near dmd.exe and type "dmake mysrc.d" Thanks
Sep 28 2004









John Reimer <brk_6502 NOSP_AM.yahoo.com> 