digitalmars.D.announce - Build a D project is now easy
- bioinfornatics (11/11) Nov 21 2010 hello community,
- Russel Winder (23/40) Nov 22 2010 Not entirely true. Many people use make even though it is past it's
- Nick Sabalausky (3/6) Nov 22 2010 etc., etc.
- bioinfornatics (9/9) Nov 22 2010 today i have add some fix some for dmake and i have do a test on ddbi l...
- Russel Winder (18/25) Nov 22 2010 nd=20
- Manfred_Nowak (3/4) Nov 22 2010 why. I ask because I just realized, that llvm still uses it.
- Nick Sabalausky (4/7) Nov 22 2010 Make's in the same boat as C++: Highly significant in the past, and stil...
- Leandro Lucarella (15/26) Nov 22 2010 !?
- Nick Sabalausky (10/30) Nov 23 2010 See, that's a big part of the issue I have with make. I've spent an enor...
- Leandro Lucarella (27/62) Nov 23 2010 I agree with a lot of that. I had several attempts at learning it and
- Nick Sabalausky (5/43) Nov 23 2010 I should apologize to bioinfornatics. He did all the work of making a
- bioinfornatics (6/6) Nov 24 2010 thanks nick
- Russel Winder (43/48) Nov 22 2010 For really small systems compiled on a single platform, Make can still
- Nick Sabalausky (2/5) Nov 22 2010 Most likely MSBuild. It's XML-based, and from what I recall, it's basica...
- Leandro Lucarella (19/42) Nov 22 2010 Automake is one of the biggest mistakes *ever*.
- Don (4/8) Nov 23 2010 Gmake != make.
- Leandro Lucarella (12/21) Nov 23 2010 I don't find that problematic at all, just use the standard for simple
- Andrei Alexandrescu (7/22) Nov 23 2010 A further problem with gmake is that there are important differences
- Lutger Blijdestijn (3/49) Nov 23 2010 Wow, GMake is almost a full blown programming language! If you have one ...
- =?UTF-8?B?IkrDqXLDtG1lIE0uIEJlcmdlciI=?= (11/29) Nov 25 2010 g
- Lionello Lunesu (3/16) Nov 23 2010 Did I miss a memo? I never heard of CMake, and suddenly it's the default...
- Russel Winder (22/28) Nov 23 2010 There are defaults and defaults. Perhaps what I should have said was:
- Daniel Gibson (18/32) Nov 23 2010 I think this is a good thing :-)
- Kagamin (3/6) Nov 28 2010 Being a unix tool means it works only on unix?
- Leandro Lucarella (19/27) Nov 28 2010 Call it whatever you want. What I meant is that it doesn't suppose to do
- Kagamin (9/17) Nov 29 2010 Explicit dependency handling is ok, but it doesn't work:
hello community, I have start a project for generate easily a build system for D project. Currently in d world everyone use his own build system for build a new project with a new system is a bit hard for everyone, for debug same thing. My tool generate makefile system for your project in one command: $ dmake --path src --lib src/myProject/ and for user he need ony do: $ make $ make install At this time only works for build a library. This system is usefull for support ldc, gdc and dmd compiler You can found the project here: http://gitorious.org/dmake/dmake Any help are welcome
Nov 21 2010
On Mon, 2010-11-22 at 01:50 +0000, bioinfornatics wrote:hello community, I have start a project for generate easily a build system for D project. Currently in d world everyone use his own build system for build a new project with a new system is a bit hard for everyone, for debug same thing. My tool generate makefile system for your project in one command:Not entirely true. Many people use make even though it is past it's "use by" date. Many people use SCons, many others use Waf, and some use CMake. GIven that your system is a Makefile manager, you problably need to argue why a new system and not add-ins to CMake -- which is now the default makefile manager system.$ dmake --path src --lib src/myProject/ and for user he need ony do: $ make $ make install =20 At this time only works for build a library. This system is usefull for support ldc, gdc and dmd compiler =20 You can found the project here: http://gitorious.org/dmake/dmake =20 Any help are welcomeDo we really need yet another build framework? The answer may be either yes or no, but just because a given programming language hasn't yet been used to write a new build framework doesn't mean it needs to be. NIH-like syndrome has given rise to SBT, Lancet, GoBuild, GoFR, Rake, etc., etc. Is it certain D has to be used to create a new framework for build? --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Nov 22 2010
"Russel Winder" <russel russel.org.uk> wrote in message news:mailman.555.1290424163.21107.digitalmars-d-announce puremagic.com... NIH-like syndrome has given rise to SBT, Lancet, GoBuild, GoFR, Rake,etc., etc. Hey, I like rake :) But that's because I dislike python (SCons) syntax and outright despise make.
Nov 22 2010
today i have add some fix some for dmake and i have do a test on ddbi library. I so some change on ddbi for works with latest tango version: https://github.com/bioinfornatics/ddbi so i do: $ cd ddbi $ dmake -p src -l src/dbi/ $ cd src $ make $ su -m -c 'make install LIBDIR=/usr/lib64' done
Nov 22 2010
On Mon, 2010-11-22 at 08:47 -0500, Nick Sabalausky wrote:."Russel Winder" <russel russel.org.uk> wrote in message=20 news:mailman.555.1290424163.21107.digitalmars-d-announce puremagic.com..=nd=20NIH-like syndrome has given rise to SBT, Lancet, GoBuild, GoFR, Rake,etc., etc. =20 Hey, I like rake :) But that's because I dislike python (SCons) syntax a=outright despise make.I don't think make is to be despised, it was a revolution and a revelation in 1978, but it has come to the end of its useful life. As for Rake, it would have been fine if there had been any support infrastructure for languages other than Ruby. Rant tried to go this route but sadly the project has stalled into demise. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Nov 22 2010
Russel Winder wrote:but it has come to the end of its useful lifewhy. I ask because I just realized, that llvm still uses it. -manfred
Nov 22 2010
"Manfred_Nowak" <svv1999 hotmail.com> wrote in message news:Xns9E38B3AFCD756svv1999hotmailcom 65.204.18.192...Russel Winder wrote:Make's in the same boat as C++: Highly significant in the past, and still used because of intertia, but garbage by modern standards.but it has come to the end of its useful lifewhy. I ask because I just realized, that llvm still uses it.
Nov 22 2010
Nick Sabalausky, el 22 de noviembre a las 12:54 me escribiste:"Manfred_Nowak" <svv1999 hotmail.com> wrote in message news:Xns9E38B3AFCD756svv1999hotmailcom 65.204.18.192...!? Generally people that say that is people that don't understand Make. Make is not a build system, make is a unix tool, it does one thing and it do it well, and that thing is rebuilding something based on dependencies. Usually Make is a tool to use as a building block when you need something more complex. Make is a great tool, just don't ask it to do things it doesn't suppose to do. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- 22% of the time a pizza will arrive faster than an ambulance in Great-BritainRussel Winder wrote:Make's in the same boat as C++: Highly significant in the past, and still used because of intertia, but garbage by modern standards.but it has come to the end of its useful lifewhy. I ask because I just realized, that llvm still uses it.
Nov 22 2010
"Leandro Lucarella" <luca llucax.com.ar> wrote in message news:20101123050406.GJ8411 llucax.com.ar...Nick Sabalausky, el 22 de noviembre a las 12:54 me escribiste:See, that's a big part of the issue I have with make. I've spent an enormus amout of time with it and with various documentation for it (including O'Rielly books), and trying to use it still feels like complete voodoo. I *don't* understand make despite my many attempts. That's the problem. Every non-make-based alternative that I've tried, I've understood just fine."Manfred_Nowak" <svv1999 hotmail.com> wrote in message news:Xns9E38B3AFCD756svv1999hotmailcom 65.204.18.192...!? Generally people that say that is people that don't understand Make.Russel Winder wrote:Make's in the same boat as C++: Highly significant in the past, and still used because of intertia, but garbage by modern standards.but it has come to the end of its useful lifewhy. I ask because I just realized, that llvm still uses it.Make is not a build system, make is a unix tool, it does one thing and it do it well, and that thing is rebuilding something based on dependencies. Usually Make is a tool to use as a building block when you need something more complex. Make is a great tool, just don't ask it to do things it doesn't suppose to do.In other words, it's great as long as you have limited requirements or like to toss a pile of different programs, likely each with their own DSL, at a single damn task (project building)...and if you actually understand it.
Nov 23 2010
Nick Sabalausky, el 23 de noviembre a las 08:54 me escribiste:"Leandro Lucarella" <luca llucax.com.ar> wrote in message news:20101123050406.GJ8411 llucax.com.ar...I agree with a lot of that. I had several attempts at learning it and failed a lot of times. I found Ask Mr. Make (and the GMake ML) very good resources for learning: http://www.cmcrossroads.com/ask-mr-make Is really hard to learn, but when you get it, it makes sense. That doesn't mean it doesn't have quite a few things that can be improved (like detecting file changes using some hash instead of mtime). But still I think is a pretty good tool, very flexible.Nick Sabalausky, el 22 de noviembre a las 12:54 me escribiste:See, that's a big part of the issue I have with make. I've spent an enormus amout of time with it and with various documentation for it (including O'Rielly books), and trying to use it still feels like complete voodoo. I *don't* understand make despite my many attempts. That's the problem. Every non-make-based alternative that I've tried, I've understood just fine."Manfred_Nowak" <svv1999 hotmail.com> wrote in message news:Xns9E38B3AFCD756svv1999hotmailcom 65.204.18.192...!? Generally people that say that is people that don't understand Make.Russel Winder wrote:Make's in the same boat as C++: Highly significant in the past, and still used because of intertia, but garbage by modern standards.but it has come to the end of its useful lifewhy. I ask because I just realized, that llvm still uses it.Yes, or you can use something done by somebody else (like dmake, cmake, etc. :). I think of Make as some kind of C of build systems. You can write C directly but is hard, you can provide a decently easy to use C interface to do complex thing with a high level specification, or you can directly build a tool that spits C to do the work. And I don't think C is obsolete or going away in a near future. My real problem with other build system was, they were not flexible enough, or harder to use/maintain than a good makefile, and I looked hard. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Robar un alfajor es revolucionario, pues rompe con la idea de propiedad, incluso más que si se tratara de dinero. -- publikazion anarkista mdp (hablando de los destrozos de la Cumbre de las Americas en Mar del Plata, 2005)Make is not a build system, make is a unix tool, it does one thing and it do it well, and that thing is rebuilding something based on dependencies. Usually Make is a tool to use as a building block when you need something more complex. Make is a great tool, just don't ask it to do things it doesn't suppose to do.In other words, it's great as long as you have limited requirements or like to toss a pile of different programs, likely each with their own DSL, at a single damn task (project building)...and if you actually understand it.
Nov 23 2010
"Nick Sabalausky" <a a.a> wrote in message news:icgh49$6bl$1 digitalmars.com..."Leandro Lucarella" <luca llucax.com.ar> wrote in message news:20101123050406.GJ8411 llucax.com.ar...I should apologize to bioinfornatics. He did all the work of making a make-based build system tool for D, and then I take the announcement thread and use it to start bitching about make.Nick Sabalausky, el 22 de noviembre a las 12:54 me escribiste:See, that's a big part of the issue I have with make. I've spent an enormus amout of time with it and with various documentation for it (including O'Rielly books), and trying to use it still feels like complete voodoo. I *don't* understand make despite my many attempts. That's the problem. Every non-make-based alternative that I've tried, I've understood just fine."Manfred_Nowak" <svv1999 hotmail.com> wrote in message news:Xns9E38B3AFCD756svv1999hotmailcom 65.204.18.192...!? Generally people that say that is people that don't understand Make.Russel Winder wrote:Make's in the same boat as C++: Highly significant in the past, and still used because of intertia, but garbage by modern standards.but it has come to the end of its useful lifewhy. I ask because I just realized, that llvm still uses it.Make is not a build system, make is a unix tool, it does one thing and it do it well, and that thing is rebuilding something based on dependencies. Usually Make is a tool to use as a building block when you need something more complex. Make is a great tool, just don't ask it to do things it doesn't suppose to do.In other words, it's great as long as you have limited requirements or like to toss a pile of different programs, likely each with their own DSL, at a single damn task (project building)...and if you actually understand it.
Nov 23 2010
thanks nick i have pushed a fix for dmake and in same time for ddbi i think they are a little bug easy to fix when you set a lib do not put at the end '/' character example: dmake -p src -l src/dbi instead dmake -p src -l src/dbi/ To do change all path string and array Path string to Path object if someone could do this i think i can't do this before 1 week
Nov 24 2010
On Mon, 2010-11-22 at 16:41 +0000, Manfred_Nowak wrote:Russel Winder wrote: =20For really small systems compiled on a single platform, Make can still "cut it". But being an external DSL, the separation of relationship specification notation and action notation, and especially the platform specific action notation lead to insurmountable problems. Go is trying to persevere with Make but the cracks show readily. Also Make shows the cracks for large projects, it doesn't really scale. Autotools was a brave attempt to make Make make big projects for Posix-compliant platforms. CMake is a bold attempt to ensure Make handles things in a more platform independent way. Autotools is, I think also reaching the end of its useful life -- it was an immense bit of m4 hackery, and deserves respect, just as Make does. The alternative to all this is to use an internal DSL, i.e. use a programming language directly. SCons and Waf plough this furrow -- to name but the main two in a C, C++, D, LaTeX context. SCons and Waf both suffer some serious issues, but they are the current market leaders for a more modern system. In the JVM-based arena, Make gave way to Ant 10+ years ago then Maven came on the scene leading to Maven vs Ant warfare. With Groovy came Gant which led to Gradle and the Groovy front end to Ant. Also Groovy hit Maven hard leading to Polyglot Maven. However unless you have mixed JVM/native systems, as a D person, you are probably not that interested in these frameworks. The summary is: we should always be on the lookout for the next evolution of build systems. In the JVM arena the question is whether SBT is a step forward or two steps back. In the C, C++, Fortran arena legacy generally rules hence Make and Autotools still have a big install base. The issue that the JVM-based frameworks address head on that the C, C++, Fortran, D, etc. communities seems to studiously ignore is the one of dependency. Not an issue for static compilation, but a huge issue for executables reliant on dynamic linking. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winderbut it has come to the end of its useful life=20 why. I ask because I just realized, that llvm still uses it.
Nov 22 2010
"Russel Winder" <russel russel.org.uk> wrote in message news:mailman.567.1290452956.21107.digitalmars-d-announce puremagic.com...Most likely MSBuild. It's XML-based, and from what I recall, it's basically an official MS-branded version of NAnt.
Nov 22 2010
Russel Winder, el 22 de noviembre a las 19:10 me escribiste:On Mon, 2010-11-22 at 16:41 +0000, Manfred_Nowak wrote:False.Russel Winder wrote:For really small systems compiled on a single platform, Make can still "cut it". But being an external DSL, the separation of relationship specification notation and action notation, and especially the platform specific action notation lead to insurmountable problems. Go is trying to persevere with Make but the cracks show readily. Also Make shows the cracks for large projects, it doesn't really scale.but it has come to the end of its useful lifewhy. I ask because I just realized, that llvm still uses it.Autotools was a brave attempt to make Make make big projects for Posix-compliant platforms. CMake is a bold attempt to ensure MakeAutomake is one of the biggest mistakes *ever*.handles things in a more platform independent way. Autotools is, I think also reaching the end of its useful life -- it was an immense bit of m4 hackery, and deserves respect, just as Make does.There is no point of comparison between Make and Autotools, Autotools is a huge hack. Make is limited in scope, but it does what it's supposed to do extremely well.The alternative to all this is to use an internal DSL, i.e. use a programming language directly. SCons and Waf plough this furrow -- to name but the main two in a C, C++, D, LaTeX context. SCons and Waf both suffer some serious issues, but they are the current market leaders for a more modern system.I tried quite a few build systems for a big project (cmake, waf, aap, scons, omake) and all had their own issues and specially limitations. Eventually I decided to learn Make seriously, wrote a good Makefile and never looked back... Make can be very hard to learn, specially because people tend to use it wrongly and there are very few good examples and tutorials/docs. PS: I'm really talking about GMake :) -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- - Los romanos no tenían paz, loco... Necesitaban un poco de chala...
Nov 22 2010
Leandro Lucarella wrote:Make can be very hard to learn, specially because people tend to use it wrongly and there are very few good examples and tutorials/docs. PS: I'm really talking about GMake :)Gmake != make. incompatible dialects.
Nov 23 2010
Don, el 23 de noviembre a las 09:06 me escribiste:Leandro Lucarella wrote:I know, that's why I clarified.Make can be very hard to learn, specially because people tend to use it wrongly and there are very few good examples and tutorials/docs. PS: I'm really talking about GMake :)Gmake != make.incompatible dialects.I don't find that problematic at all, just use the standard for simple things or GMake for more complex stuff (it has some features that can be a life saver). I don't find using GMake problematic because is available virtually everywhere, is almost a de facto standard. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- <Damian_Des> Me anDa MaL eL CaPSLoCK
Nov 23 2010
On 11/23/10 7:52 AM, Leandro Lucarella wrote:Don, el 23 de noviembre a las 09:06 me escribiste:A further problem with gmake is that there are important differences between even minor releases, and each computer seems to have a different one. I'm well fluent with gmake and I'd agree with Leandro, except the portability argument pretty much invalidates the entire point. AndreiLeandro Lucarella wrote:I know, that's why I clarified.Make can be very hard to learn, specially because people tend to use it wrongly and there are very few good examples and tutorials/docs. PS: I'm really talking about GMake :)Gmake != make.incompatible dialects.I don't find that problematic at all, just use the standard for simple things or GMake for more complex stuff (it has some features that can be a life saver). I don't find using GMake problematic because is available virtually everywhere, is almost a de facto standard.
Nov 23 2010
Leandro Lucarella wrote:Russel Winder, el 22 de noviembre a las 19:10 me escribiste:Wow, GMake is almost a full blown programming language! If you have one of those few good examples handy, would you mind sharing a link?On Mon, 2010-11-22 at 16:41 +0000, Manfred_Nowak wrote:False.Russel Winder wrote:For really small systems compiled on a single platform, Make can still "cut it". But being an external DSL, the separation of relationship specification notation and action notation, and especially the platform specific action notation lead to insurmountable problems. Go is trying to persevere with Make but the cracks show readily. Also Make shows the cracks for large projects, it doesn't really scale.but it has come to the end of its useful lifewhy. I ask because I just realized, that llvm still uses it.Autotools was a brave attempt to make Make make big projects for Posix-compliant platforms. CMake is a bold attempt to ensure MakeAutomake is one of the biggest mistakes *ever*.handles things in a more platform independent way. Autotools is, I think also reaching the end of its useful life -- it was an immense bit of m4 hackery, and deserves respect, just as Make does.There is no point of comparison between Make and Autotools, Autotools is a huge hack. Make is limited in scope, but it does what it's supposed to do extremely well.The alternative to all this is to use an internal DSL, i.e. use a programming language directly. SCons and Waf plough this furrow -- to name but the main two in a C, C++, D, LaTeX context. SCons and Waf both suffer some serious issues, but they are the current market leaders for a more modern system.I tried quite a few build systems for a big project (cmake, waf, aap, scons, omake) and all had their own issues and specially limitations. Eventually I decided to learn Make seriously, wrote a good Makefile and never looked back... Make can be very hard to learn, specially because people tend to use it wrongly and there are very few good examples and tutorials/docs. PS: I'm really talking about GMake :)
Nov 23 2010
Leandro Lucarella wrote:Russel Winder, el 22 de noviembre a las 19:10 me escribiste:On Mon, 2010-11-22 at 16:41 +0000, Manfred_Nowak wrote:Russel Winder wrote:For really small systems compiled on a single platform, Make can still=but it has come to the end of its useful lifewhy. I ask because I just realized, that llvm still uses it.m"cut it". But being an external DSL, the separation of relationship specification notation and action notation, and especially the platfor=gspecific action notation lead to insurmountable problems. Go is tryin=heto persevere with Make but the cracks show readily. Also Make shows t=One very big problem about GMake is that parallel build doesn't work when the project is split in several directories... Jerome --=20 mailto:jeberger free.fr http://jeberger.free.fr Jabber: jeberger jabber.frcracks for large projects, it doesn't really scale.=20 False. =20 ... PS: I'm really talking about GMake :) =20
Nov 25 2010
On 22-11-2010 19:10, Russel Winder wrote:On Mon, 2010-11-22 at 01:50 +0000, bioinfornatics wrote:Did I miss a memo? I never heard of CMake, and suddenly it's the default? L.hello community, I have start a project for generate easily a build system for D project. Currently in d world everyone use his own build system for build a new project with a new system is a bit hard for everyone, for debug same thing. My tool generate makefile system for your project in one command:Not entirely true. Many people use make even though it is past it's "use by" date. Many people use SCons, many others use Waf, and some use CMake. GIven that your system is a Makefile manager, you problably need to argue why a new system and not add-ins to CMake -- which is now the default makefile manager system.
Nov 23 2010
On Tue, 2010-11-23 at 23:43 +0800, Lionello Lunesu wrote:On 22-11-2010 19:10, Russel Winder wrote:[ . . . ]There are defaults and defaults. Perhaps what I should have said was: for those people who wish to continue to use Make as the build tool underneath a modern framework then CMake is the de facto standard tool for managing Make files. Personally I do not like the CMake language, I much prefer Python, Lisp, etc. hence I prefer Waf and SCons. There is no doubt though that many people prefer CMake over SCons, Waf, Autotools , and Make. If anyone involved in any aspect of build has not heard of all of these tools then it is almost certainly in that person's best interest to do a little bit of investigation and learning. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winderGIven that your system is a Makefile manager, you problably need to argue why a new system and not add-ins to CMake -- which is now the default makefile manager system.=20 Did I miss a memo? I never heard of CMake, and suddenly it's the default?
Nov 23 2010
bioinfornatics schrieb:hello community, I have start a project for generate easily a build system for D project. Currently in d world everyone use his own build system for build a new project with a new system is a bit hard for everyone, for debug same thing. My tool generate makefile system for your project in one command: $ dmake --path src --lib src/myProject/ and for user he need ony do: $ make $ make install At this time only works for build a library. This system is usefull for support ldc, gdc and dmd compiler You can found the project here: http://gitorious.org/dmake/dmake Any help are welcomeI think this is a good thing :-) D compilers are available in many linux distributions (debian, ubuntu and archlinux have gdc and ldc, fedora has ldc, don't know about other distributions), but D specific build-tools/systems like rebuild, dsss, xfbuild etc aren't. Make is part of any linux distribution, of course. So now you can use dmake to conveniently create a makefile so anybody who uses one of the aforementioned linux distributions can easily compile your software - he just needs to install [lg]dc and make from the distributions repository. This could really help any open source D application, because 1. they're painless to compile and install for users 2. your application being packaged in a linux distribution is more likely, because the build dependencies (well, at least the compiler and the make tool) already exist in the distribution Now all we need are killer open source applications written in D ;-) Cheers, - Daniel
Nov 23 2010
Leandro Lucarella Wrote:Make is not a build system, make is a unix tool, it does one thing and it do it well, and that thing is rebuilding something based on dependencies.Being a unix tool means it works only on unix? If it rebuilds something, why it's not a build system?
Nov 28 2010
Kagamin, el 28 de noviembre a las 11:34 me escribiste:Leandro Lucarella Wrote:I said it in the sense of the "unix philosophy"[1].Make is not a build system, make is a unix tool, it does one thing and it do it well, and that thing is rebuilding something based on dependencies.Being a unix tool means it works only on unix?If it rebuilds something, why it's not a build system?Call it whatever you want. What I meant is that it doesn't suppose to do everything one could ask for a "build system" nowdays, like automatic dependency handling, automatic installation, configuration, etc. To have all those things, you have to combine it with other tools (again "unix philosophy"). If you expect make to do all that you will be disappointed, but is not Make fault, it wasn't designed for that. Make "just" track dependencies specified by the user and build targets based on that (possible spawning several process to do it concurrently). That's why I say Make is like an C/ASM for "build systems". [1] http://en.wikipedia.org/wiki/Unix_philosophy -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- DESCARRILÓ EL GUSANO LOCO Y QUEDARON CHICOS ATRAPADOS -- Diario La Capital
Nov 28 2010
Leandro Lucarella Wrote:Does it work on windows? And does it work there well?Being a unix tool means it works only on unix?I said it in the sense of the "unix philosophy"[1].Explicit dependency handling is ok, but it doesn't work: dir/a.o: a.c dir move a.o dir/ dir: mkdir dir What to do? Do you call this "works well"?If it rebuilds something, why it's not a build system?Call it whatever you want. What I meant is that it doesn't suppose to do everything one could ask for a "build system" nowdays, like automatic dependency handling, automatic installation, configuration, etc.
Nov 29 2010