Re: Announcing a new build system for Myrddin code.
[Thread Prev] | [Thread Next]
- Subject: Re: Announcing a new build system for Myrddin code.
- From: Ori Bernstein <ori@xxxxxxxxxxxxxx>
- Date: Fri, 12 Dec 2014 13:18:10 -0800
- To: myrddin-dev@xxxxxxxxxxxxxx
Huh, I seem to have managed to send a duplicate message. Oops. Sorry. On Dec 12, 2014, at 10:33 AM, Ori Bernstein <ori@xxxxxxxxxxxxxx> wrote: > Until recently, Myrddin was built using a buggy hack known as > myrbuild. It was only usable when hosted in a makefile, and would > often miss dependencies that needed to be rebuilt, leading to > confusing errors: > > main.myr:55: can't unify <old-type-version> and <new-type-version> > > or > > main.myr:55: duplicate definition of type <type-name> > > So, I rewrote it. Now you have a buggy hack known as 'mild'. > > My goals with the rewrite: > > - Solves the "missed dependency" bugs. > - Usable completely independently. > - Self hosted (ie, written in Myrddin). > - Automatically handles the usual make targets: > - build > - install > - clean > - subdirs > - test > - configure > - Simple input files. > - Easy to use. > - myrbuild compatible. > > For now, the rewrite is called 'mbld', although the plan is to rename > it to 'myrbuild' as soon as I am satisfied that it is stable. > > The rewrite doesn't replace myrbuild+makefiles yet, but it's close. > The main missing features are testing and configuration, since I > don't yet know how I want to handle them. > > An example input file: > > bin hello = hello.myr goodbye.myr; > lib fuckyou = fuck.myr you.myr; > sub subdir list; > > If you want build attributes, you pass them in short curlies > after the target name, as below: > > bin kernel {ldscript = kernel.ld > runtime = none > noinst} > = > kernel.myr > loader.s > ;; > > Right now, only 3 attributes are supported: > > noinst: don't install the binary > runtime = rt: use a custom runtime library > ldscript = script: use a custom linker script > > Others can be added pretty easily, as needed. > > -- > Ori Bernstein <ori@xxxxxxxxxxxxxx> >
Announcing a new build system for Myrddin code. | Ori Bernstein <ori@xxxxxxxxxxxxxx> |
- Prev by Date: Announcing a new build system for Myrddin code.
- Next by Date: Mbld: Open Questions.
- Previous by thread: Announcing a new build system for Myrddin code.
- Next by thread: Mbld: Open Questions.
- Index(es):