[Issue 20338] dmd, phobos, and druntime build systems should be updated

2022-12-17 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20338

Iain Buclaw  changed:

   What|Removed |Added

   Priority|P1  |P4

--


[Issue 20338] dmd, phobos, and druntime build systems should be updated

2019-10-30 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20338

--- Comment #2 from alan.w.irwin1...@gmail.com ---
I forgot to mention another issue with your present build and test system is
the dmd test target cannot be built with the GNU make parallel build (-jN)
option.
So my script drops that possibility for dmd and phobos on the assumption that
the phobos build/test system has the same issue.  CMake provides a powerful
environment (for example, dependencies between tests) to solve such parallel
build issues.

Also, to expand on my remarks about different build systems for Posix (where
you currently use a Makefile approach) and Windows (where you currently appear
to have a build system that works for Visual Studio), CMake has different
generators which allow it, for example, to configure Posix Makefiles, a Visual
Studio project, and many other possibilities (such as nmake Makefiles).

However, I don't want to over-advocate CMake so I also want to emphasize this
parallel test issue, and all the other Posix build-system issues I have
mentioned could be addressed at the Makefile level and assuming the same or
similar issues exist for your Visual Studio build could also be addressed for
that build system.  Or maybe [Digger](https://github.com/CyberShadow/Digger)
(which I have not tried) is the answer.  But the fundamental point is all these
current build-system issues I have mentioned need to be addressed whatever
build system you decide to adopt.

--


[Issue 20338] dmd, phobos, and druntime build systems should be updated

2019-10-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20338

alan.w.irwin1...@gmail.com changed:

   What|Removed |Added

Summary|dmd, phobos, and druntime   |dmd, phobos, and druntime
   |build systems should be |build systems should be
   |modernized  |updated

--- Comment #1 from alan.w.irwin1...@gmail.com ---
I have recently cleaned, rebuilt, reinstalled, and tested dmd, phobos, and the
druntime components needed by phobos with success for the Posix case.  However,
I believe the following issues in these interdependent build systems need
attention:

* The local repositories get contaminated with build files.  (This issue can be
addressed by implementing separate build trees for such file to receive such
files.)

* There are obscure interactions between the phobos build and druntime build,
clean, and install targets that violate the principle of least surprise.  For
example, the phobos build indirectly builds druntime, but the phobos clean and
install do not clean and install druntime.

* There appears to be a separate build procedure for Windows and Posix systems.

* The install tree has a hard-coded location which makes it difficult to
package dmd, phobos, and druntime for free software distributions.

All of these issues can be straightforwardly addressed by a "super-build" set
of modern CMake-based build systems for dmd, phobos, and druntime that would
coexist peacefully with your present build systems.  If some
dmd/phobos/druntime developer is keen on such an update I would be happy to
lend my decade+ experience with CMake to help get them started.

--


[Issue 20338] New: dmd, phobos, and druntime build systems should be modernized

2019-10-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20338

  Issue ID: 20338
   Summary: dmd, phobos, and druntime build systems should be
modernized
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dlang.org
  Assignee: nob...@puremagic.com
  Reporter: alan.w.irwin1...@gmail.com

--


Re: What is the current status of D build systems?

2015-07-31 Thread lobo via Digitalmars-d

On Friday, 31 July 2015 at 23:59:07 UTC, Yuxuan Shui wrote:

On Friday, 31 July 2015 at 22:40:25 UTC, Trent Forkert wrote:

On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:

[...]


Oh hey, that's me!


[...]


I've got a handful of work-in-progress changes I've yet to 
push publicly, and even more I've yet to commit. (Yes, I have 
weird work habits.)


[...]


Hi, I just want to let you know I've tried to build my project 
with your cmake fork, and it worked like a charm :)


Good to hear it's still alive. Let's hope the situation about 
shared libraries can improve and you can move on.




[...]


I use CMake on mixed C/D projects and dub for D-only projects. On 
one project I'm using CMake to invoke dub to keep the D libs up 
to date and no another I invoke CMake from dub to build the C 
cruft.


I find both work extremely well and are much better than shell 
scripts or plain Makefile bashing.


bye,
lobo


Re: What is the current status of D build systems?

2015-07-31 Thread Atila Neves via Digitalmars-d

On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:

Hi,

I'm working on a project that mixes both C and D code, and does 
code generation as well.


[...]


I'll get that bug fixed soon. I planned on doing it today but ran 
out of time.


Atila


Re: What is the current status of D build systems?

2015-07-31 Thread Steven Dwy via Digitalmars-d

On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:
I have come across cmake-d and a modified version of cmake 
(https://github.com/trentforkert/cmake). I haven't tested them 
yet, because neither of them is updated recently, and I don't 
know if I should invest time in them.


I'm not sure about cmake-d. I think dcarp stated somewhere that 
he wasn't actively using D any more, or something to that effect.


The fork of CMake is still active. Trentforkert said he is just 
waiting for things to progress in the D ecosystem before 
continuing work. (Mostly related to shared libraries.)


If you're willing to build and use the fork (it's actually really 
easy,) then you can use the CMake generator I wrote for dub a few 
months back. Simply run `dub generate cmake` and it will spit out 
build scripts for your project and all of its dependencies.


Re: What is the current status of D build systems?

2015-07-31 Thread Trent Forkert via Digitalmars-d

On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:
I have come across cmake-d and a modified version of cmake 
(https://github.com/trentforkert/cmake).


Oh hey, that's me!


I haven't tested them yet, because neither of them is
updated recently, and I don't know if I should invest time
in them.


I've got a handful of work-in-progress changes I've yet to push 
publicly, and even more I've yet to commit. (Yes, I have weird 
work habits.)


So I want to know what is the current status of those build 
systems?


I'm still around, and I fix bugs when they get in my way or 
someone else complains.



Are they abandoned


No. Neglected, but not abandoned.


or still actively developed?


If I can find the time (and the files, which hopefully survived a 
recent Linux distro-switch), I'll see about cleaning up and 
publishing the additional changes I have soon, and getting things 
on to a more recent version of CMake.


As Steven Dwy said, I put the project on a bit of a hiatus while 
waiting for shared lib support to be ironed out (specifically, 
the behavior of `export`). Part of my unpublished changes 
includes a change that renders my previous concerns on that front 
solved regardless of what becomes of `export`. I would still like 
to be able to run tests for building shared libraries, and I 
won't even consider upstreaming until I can. Like I said though, 
I'll deal with bug reports if you file them.


 - Trent Forkert


Re: What is the current status of D build systems?

2015-07-31 Thread Manu via Digitalmars-d
On 31 July 2015 at 13:20, Yuxuan Shui via Digitalmars-d
digitalmars-d@puremagic.com wrote:
 On Friday, 31 July 2015 at 02:00:41 UTC, Mike Parker wrote:

 On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:

 are there any other build systems I should look into?


 Premake [1] supports mixing languages in the same build script. It's not a
 build tool itself, but can generate makefiles and IDE projects. Manu [2]
 maintains extensions for D support.

 [1] https://premake.github.io/
 [2] https://github.com/premake/premake-dlang


 It seems premake-dlang is not capable of fetch dub packages, is that
 correct?

In that it doesn't have a special command to fetch dub packages, that
is true. Premake projects are expressed with a scripting language
though (Lua), so it's very easy to execute dub commands to fetch
packages as part of your script if that's what you want to do.

I haven't received any interest in built-in dub integration, but it's
theoretically possible to make a built-in solution for fetching dub
packages as part of the process quite easily.
Using dub as a build system though is off the table though if you mix
languages. It may be useful as a package manager, but generating
standard makefiles for the multi-language build is necessary.


Re: What is the current status of D build systems?

2015-07-31 Thread Yuxuan Shui via Digitalmars-d

On Friday, 31 July 2015 at 22:40:25 UTC, Trent Forkert wrote:

On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:

[...]


Oh hey, that's me!


[...]


I've got a handful of work-in-progress changes I've yet to push 
publicly, and even more I've yet to commit. (Yes, I have weird 
work habits.)


[...]


Hi, I just want to let you know I've tried to build my project 
with your cmake fork, and it worked like a charm :)


Good to hear it's still alive. Let's hope the situation about 
shared libraries can improve and you can move on.




[...]




What is the current status of D build systems?

2015-07-30 Thread Yuxuan Shui via Digitalmars-d

Hi,

I'm working on a project that mixes both C and D code, and does 
code generation as well.


I've been using a shell script to hack this together, since I 
can't figure out how to do this with dub.


Now I'm looking for a proper build system for building this 
project. reggae (https://github.com/atilaneves/reggae) seems to 
be promising, but it has bugs with indirect dependencies and 
failed to build my project. I have come across cmake-d and a 
modified version of cmake 
(https://github.com/trentforkert/cmake). I haven't tested them 
yet, because neither of them is updated recently, and I don't 
know if I should invest time in them.


So I want to know what is the current status of those build 
systems? Are they abandoned or still actively developed? And are 
there any other build systems I should look into?


Thanks.

---
Regards,
Yuxuan Shui


Re: What is the current status of D build systems?

2015-07-30 Thread Yuxuan Shui via Digitalmars-d

On Friday, 31 July 2015 at 02:00:41 UTC, Mike Parker wrote:

On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:


are there any other build systems I should look into?



Premake [1] supports mixing languages in the same build script. 
It's not a build tool itself, but can generate makefiles and 
IDE projects. Manu [2] maintains extensions for D support.


[1] https://premake.github.io/
[2] https://github.com/premake/premake-dlang


It seems premake-dlang is not capable of fetch dub packages, is 
that correct?


Re: What is the current status of D build systems?

2015-07-30 Thread Mike Parker via Digitalmars-d

On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:


are there any other build systems I should look into?



Premake [1] supports mixing languages in the same build script. 
It's not a build tool itself, but can generate makefiles and IDE 
projects. Manu [2] maintains extensions for D support.


[1] https://premake.github.io/
[2] https://github.com/premake/premake-dlang


Re: Build Systems

2015-02-04 Thread Fool via Digitalmars-d
I had a look at different build systems, recently. Tup certainly 
has some progressive ideas. What I don't like is that it 
patronizes its users. I don't believe that tracking all file 
reads and writes is always a good choice. It might be a good 
default, though.


Some other interesting build systems I came accross (in 
alphabetical order):


 - http://www.fastbuild.org
 - http://jpakkane.github.io/meson/
 - http://shakebuild.com


Build systems and D

2011-12-10 Thread Russel Winder
I wonder if we should get a small number of projects and do CMake,
premake, SCons, Waf, and other builds for them so that direct
comparisons can be made and people can comment on comparing apples with
apples?  (Even though there may be oranges in there as well ;-)
 
-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@russel.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: Build systems with D support [was: Response files]

2009-03-24 Thread Nick Sabalausky
Leandro Lucarella llu...@gmail.com wrote in message 
news:20090323192000.ga23...@burns.springfield.home...
 Leandro Lucarella, el 23 de marzo a las 13:31 me escribiste:
 And guess what? It even support D =)
 http://waf.googlecode.com/svn/trunk/demos/d/

 It looks like AAP support D too =)
 http://www.a-a-p.org/exec/ref-modules.html#id2686506

 It's nice new build system support D. It seems that the lack-of-tools
 situation is finally getting better =)


FWIW, AAP has had D support for a long time. 




Build systems with D support [was: Response files]

2009-03-23 Thread Leandro Lucarella
Leandro Lucarella, el 23 de marzo a las 13:31 me escribiste:
 And guess what? It even support D =)
 http://waf.googlecode.com/svn/trunk/demos/d/

It looks like AAP support D too =)
http://www.a-a-p.org/exec/ref-modules.html#id2686506

It's nice new build system support D. It seems that the lack-of-tools
situation is finally getting better =)

It should be nice to have a listing of tools that work well with D in the
official website.

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/

GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)



Re: Build systems with D support [was: Response files]

2009-03-23 Thread Walter Bright

Leandro Lucarella wrote:

Leandro Lucarella, el 23 de marzo a las 13:31 me escribiste:

And guess what? It even support D =)
http://waf.googlecode.com/svn/trunk/demos/d/


It looks like AAP support D too =)
http://www.a-a-p.org/exec/ref-modules.html#id2686506

It's nice new build system support D. It seems that the lack-of-tools
situation is finally getting better =)


Cool!



It should be nice to have a listing of tools that work well with D in the
official website.



This kind of thing is better done through the D wiki, as experience 
shows that such things in the D pages get rapidly out of date, and 
people have to wait for me to fix them.


Re: Build systems with D support [was: Response files]

2009-03-23 Thread Jarrett Billingsley
On Mon, Mar 23, 2009 at 6:15 PM, Walter Bright
newshou...@digitalmars.com wrote:
 Leandro Lucarella wrote:

 Leandro Lucarella, el 23 de marzo a las 13:31 me escribiste:

 And guess what? It even support D =)
 http://waf.googlecode.com/svn/trunk/demos/d/

 It looks like AAP support D too =)
 http://www.a-a-p.org/exec/ref-modules.html#id2686506

 It's nice new build system support D. It seems that the lack-of-tools
 situation is finally getting better =)

 Cool!


 It should be nice to have a listing of tools that work well with D in the
 official website.


 This kind of thing is better done through the D wiki, as experience shows
 that such things in the D pages get rapidly out of date, and people have to
 wait for me to fix them.

For what it's worth, most of the D wiki is incredibly out-of-date too.
 I just don't think there's enough manpower to go around to maintain
it.


Re: Build systems with D support [was: Response files]

2009-03-23 Thread Walter Bright

Jarrett Billingsley wrote:

For what it's worth, most of the D wiki is incredibly out-of-date too.
 I just don't think there's enough manpower to go around to maintain
it.


Anyone can update it!


Re: Build systems with D support [was: Response files]

2009-03-23 Thread Jarrett Billingsley
On Mon, Mar 23, 2009 at 6:53 PM, Walter Bright
newshou...@digitalmars.com wrote:
 Jarrett Billingsley wrote:

 For what it's worth, most of the D wiki is incredibly out-of-date too.
  I just don't think there's enough manpower to go around to maintain
 it.

 Anyone can update it!

You noticed my comment about not enough manpower, I hope!


Re: Build systems with D support [was: Response files]

2009-03-23 Thread Walter Bright

Jarrett Billingsley wrote:

On Mon, Mar 23, 2009 at 6:53 PM, Walter Bright
newshou...@digitalmars.com wrote:

Jarrett Billingsley wrote:

For what it's worth, most of the D wiki is incredibly out-of-date too.
 I just don't think there's enough manpower to go around to maintain
it.

Anyone can update it!


You noticed my comment about not enough manpower, I hope!


Sure, but it's amazing what a single person can do if they just keep 
picking at something that interests them.