rund users welcome
aliak
something at something.com
Thu Sep 20 23:19:17 UTC 2018
On Wednesday, 12 September 2018 at 13:23:36 UTC, Jonathan Marler
wrote:
> On Wednesday, 12 September 2018 at 10:06:29 UTC, aliak wrote:
>> [...]
>
> Yeah I loved working on D. But some of the people made it very
> difficult. So I've switched focus to other projects that use D
> rather than contributing to D itself.
>
>>[...]
>
> Yeah they have proven to be very useful. I have many tools
> written in D and this feature allows the main source file to be
> a "self-contained" program. The source itself is declaring the
> libraries it needs, the environment, etc. And the answer is
> Yes, all those options are supported along with a couple I
> recently added `//!debug` and `//!debugSymbols`. I anticipate
> more will be added in the future (see
> https://github.com/marler8997/rund/blob/master/src/rund/directives.d)
>
> To show how powerful they are, I include an example in the
> repository that can actually build DMD on the fly (assuming the
> c++ libraries are built beforehand).
>
> https://github.com/marler8997/rund/blob/master/test/dmdwrapper.d
> ----------------------------------------------------------------
> #!/usr/bin/env rund
> //!env CC=c++
> //!version MARS
> //!importPath ../../dmd/src
> //!importFilenamePath ../../dmd/res
> //!importFilenamePath ../../dmd/generated/linux/release/64
> //!library ../../dmd/generated/linux/release/64/newdelete.o
> //!library ../../dmd/generated/linux/release/64/backend.a
> //!library ../../dmd/generated/linux/release/64/lexer.a
>
> /*
> This wrapper can be used to compile/run dmd (with some caveats).
> * You need to have the dmd repository cloned to "../../dmd"
> (relative to this file).
> * You need to have built the C libraries. You can build these
> libraries by building dmd.
> Note sure why, but through trial and error I determined that
> this is the
> minimum set of modules that I needed to import in order to
> successfully
> include all of the symbols to compile/link dmd.
> */
> import dmd.eh;
> import dmd.dmsc;
> import dmd.toobj;
> import dmd.iasm;
> ----------------------------------------------------------------
>
> Thanks for the interest. Feel free to post any requested
> features or issues on github.
Somewhat along these lines, I just found a watched a video by a
guy who's been working on a programming language called Jai (it
has some awesome concepts) and one of the sections he went in to
about source files building themselves I thought was interesting
and reminded me of rund so thought I'd post here. Might inspire
you to add some stuff to rund :)
Video: https://www.youtube.com/watch?v=uZgbKrDEzAs
Time in video on "getting rid of build tools":
https://youtu.be/uZgbKrDEzAs?t=1849
Enjoy!
More information about the Digitalmars-d
mailing list