Re: Generating runtime type information.
[Thread Prev] | [Thread Next]
[Date Prev] | [Date Next]
- Subject: Re: Generating runtime type information.
- From: Ori Bernstein <ori@xxxxxxxxxxxxxx>
- Date: Mon, 13 Apr 2015 01:59:53 -0700
- To: Ryan Gonzalez <rymg19@xxxxxxxxx>
- Cc: myrddin-dev@xxxxxxxxxxxxxx
Ok, integration is pushed to a testing branch on the main repository. git pull git checkout -tb integrated origin/integrated make I did some major refactoring on mbld to support relative library targets, so that I could use them in the integrated code. The way this works now: bootstrap.sh: This script is a flat, stupid list of commands needed to do a build of all the Myrddin code in mc/ if you don't have mbld. IT IS AUTOGENERATED. Do not edit unless you need to fix some brokeneness in the build tooling. genboostrap.sh: This script scrapes the output of mbld to generate the bootstrap.sh script. When you make a change to any of the Myrddin source, run 'make genbootstrap.sh' to update it. mbldwrap.myr: This wraps mbld, and runs bootstrap.sh if mbld does not exist. It doesn't try to use the installed mbld copy. On Tue, 31 Mar 2015 13:13:04 -0500, Ryan Gonzalez <rymg19@xxxxxxxxx> wrote: > I changed that line in mbld/bootstrap.sh to this: > > ld -o mbld ../rt/_myrrt.o clean.o config.o deps.o types.o fsel.o util.o > subdir.o main.o parse.o build.o opts.o install.o test.o -L../libregex > -L../libbio -L../libstd -lregex -lbio -lstd -lsys > > > On Tue, Mar 31, 2015 at 12:53 PM, Ryan Gonzalez <rymg19@xxxxxxxxx> wrote: > > > Whoops. Forgot about this until now. > > > > + ld -o mbld /home/ori/bin/lib/myr/_myrrt.o clean.o config.o deps.o > > types.o fsel.o util.o subdir.o main.o parse.o build.o opts.o install.o > > test.o -L/home/ori/bin/lib/myr -lregex -lbio -lstd -lsys > > ld: cannot find /home/ori/bin/lib/myr/_myrrt.o: No such file or directory > > ld: cannot find -lregex > > ld: cannot find -lbio > > ld: cannot find -lstd > > ld: cannot find -lsys > > > > > > > > > > On Sun, Mar 29, 2015 at 3:55 AM, Ori Bernstein <ori@xxxxxxxxxxxxxx> wrote: > > > >> On Fri, 27 Mar 2015 14:56:46 -0500 > >> Ryan Gonzalez <rymg19@xxxxxxxxx> wrote: > >> > >> > That worked. I didn't realize mc used mbld if available. > >> > > >> > Honestly, I would enjoy having mbld *and* libbio in the standard > >> > distribution. > >> > >> http://git.eigenstate.org/ori/mc-integrated.git > >> > >> Take a look, try it out, and make sure that bootstrapping works for you. > >> If > >> it does, I can push that to the main mc/ repository. > >> > >> > On Fri, Mar 27, 2015 at 2:46 PM, Ori Bernstein <ori@xxxxxxxxxxxxxx> > >> wrote: > >> > > >> > > So, the first thing you're going ot have to rebuild (or delete) > >> > > is mbld. From there, you should be able to re-bootstrap. > >> > > > >> > > I should import mbld and it's dependencies into mc/ for ease of > >> > > remaking the world. > >> > > > >> > > On Fri, 27 Mar 2015 14:24:36 -0500 > >> > > Ryan Gonzalez <rymg19@xxxxxxxxx> wrote: > >> > > > >> > > > I can't get it to build though: > >> > > > > >> > > > ... > >> > > > export MYR_MC=../6/6m && \ > >> > > > export MYR_MUSE=../muse/muse && \ > >> > > > ./build.sh -l std alloc.myr bigint.myr bitset.myr blat.myr > >> bytebuf.myr > >> > > > chartype.myr cmp.myr clear.myr dial.myr die.myr dir.myr dirname.myr > >> > > > endian.myr env.myr errno.myr execvp.myr extremum.myr fltbits.myr > >> fmt.myr > >> > > > fltfmt.myr hashfuncs.myr hasprefix.myr hassuffix.myr htab.myr > >> getint.myr > >> > > > intparse.myr ipparse.myr mk.myr mkpath.myr now.myr option.myr > >> > > optparse.myr > >> > > > pathjoin.myr putint.myr rand.myr resolve.myr result.myr search.myr > >> > > slcp.myr > >> > > > sldup.myr sleq.myr slfill.myr sljoin.myr slpush.myr slput.myr > >> slurp.myr > >> > > > sort.myr spork.myr cstrconv.myr strfind.myr strjoin.myr strsplit.myr > >> > > > strstrip.myr syswrap.myr syswrap-ss.myr swap.myr try.myr types.myr > >> > > > units.myr utf.myr varargs.myr wait.myr > >> > > > libsys.a... > >> > > > libstd.a... > >> > > > library sys: usefile version unknown > >> > > > make[1]: *** [libstd.a] Error 1 > >> > > > > >> > > > I removed sys and libsys.a from /usr/local/lib/myr but still bet > >> the same > >> > > > error. Also already ran `make clean`. > >> > > > > >> > > > > >> > > > On Fri, Mar 27, 2015 at 1:19 AM, Ori Bernstein <ori@xxxxxxxxxxxxxx> > >> > > wrote: > >> > > > > >> > > > > Congratulations everyone! you get to rebuild as we break ABI > >> > > > > again! > >> > > > > > >> > > > > We now generate type descriptions for variadic types, and push > >> > > > > a pointer to the variadic arguments on to the stack when we call. > >> > > > > The valist code currently ignores this, and does nothing useful > >> > > > > with it -- this should be fixed. > >> > > > > > >> > > > > In other words, if you have a variadic function f: > >> > > > > > >> > > > > const f : (a : int, b : byte[:], ... -> void) > >> > > > > > >> > > > > and you call it like this: > >> > > > > > >> > > > > f(1, "asdf", 'c', "blah", false) > >> > > > > > >> > > > > you will get, on the stack: > >> > > > > > >> > > > > [ > >> > > > > 1 : int, > >> > > > > "asdf" : byte[:], > >> > > > > argtype : byte# > >> > > > > 'c' : char, > >> > > > > "blah" : byte[:], > >> > > > > false : bool > >> > > > > ] > >> > > > > > >> > > > > The argtype will be a binary encoded description of the types > >> > > > > of the tuple (char, byte[:], bool) > >> > > > > > >> > > > > This means that you can write (admittedly, slightly hairy) code > >> > > > > to parse out the types passed in for variadics, and write code > >> > > > > that looks like: > >> > > > > > >> > > > > const pack : (vals : ... -> byte[:]) > >> > > > > > >> > > > > One goal that I would like to support is making std.fmt() > >> > > > > callable as such: > >> > > > > > >> > > > > std.fmt("%: list contains %\n", 1, [1,2,3][:]) > >> > > > > > >> > > > > > >> > > > > -- > >> > > > > Ori Bernstein <ori@xxxxxxxxxxxxxx> > >> > > > > > >> > > > > > >> > > > > >> > > > > >> > > > -- > >> > > > Ryan > >> > > > [ERROR]: Your autotools build scripts are 200 lines longer than your > >> > > > program. Something’s wrong. > >> > > > http://kirbyfan64.github.io/ > >> > > > >> > > > >> > > -- > >> > > Ori Bernstein <ori@xxxxxxxxxxxxxx> > >> > > > >> > > >> > > >> > > >> > -- > >> > Ryan > >> > [ERROR]: Your autotools build scripts are 200 lines longer than your > >> > program. Something’s wrong. > >> > http://kirbyfan64.github.io/ > >> > >> > >> -- > >> Ori Bernstein <ori@xxxxxxxxxxxxxx> > >> > > > > > > > > -- > > Ryan > > [ERROR]: Your autotools build scripts are 200 lines longer than your > > program. Something’s wrong. > > http://kirbyfan64.github.io/ > > > > > > > > -- > Ryan > [ERROR]: Your autotools build scripts are 200 lines longer than your > program. Something’s wrong. > http://kirbyfan64.github.io/ -- Ori Bernstein
Re: Generating runtime type information. | Ryan Gonzalez <rymg19@xxxxxxxxx> |
- Next by Date: Re: Generating runtime type information.
- Next by thread: Re: Generating runtime type information.
- Index(es):