Eigenstate: myrddin-dev mailing list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Generating runtime type information.


clang -c -O0 -Wall -Werror -Wextra -Wno-unused-parameter
-Wno-missing-field-initializers -g -MMD -MP -MF .deps/infer.d  infer.c
ar -rcs libparse.a bitset.o dump.o gram.o htab.o infer.o names.o node.o
specialize.o stab.o tok.o type.o use.o util.o
make[1]: Leaving directory `/media/ryan/stuff/mc/parse'
make[1]: Entering directory `/media/ryan/stuff/mc/mi'
ar -rcs libmi.a cfg.o fold.o match.o df.o
make[1]: Leaving directory `/media/ryan/stuff/mc/mi'
make[1]: Entering directory `/media/ryan/stuff/mc/6'
clang -c -O0 -Wall -Werror -Wextra -Wno-unused-parameter
-Wno-missing-field-initializers -g -MMD -MP -MF .deps/gen.d -I../parse/
-I../mi/ gen.c
clang -c -O0 -Wall -Werror -Wextra -Wno-unused-parameter
-Wno-missing-field-initializers -g -MMD -MP -MF .deps/gengas.d -I../parse/
-I../mi/ gengas.c
clang -c -O0 -Wall -Werror -Wextra -Wno-unused-parameter
-Wno-missing-field-initializers -g -MMD -MP -MF .deps/genp9.d -I../parse/
-I../mi/ genp9.c
clang -c -O0 -Wall -Werror -Wextra -Wno-unused-parameter
-Wno-missing-field-initializers -g -MMD -MP -MF .deps/isel.d -I../parse/
-I../mi/ isel.c
clang -c -O0 -Wall -Werror -Wextra -Wno-unused-parameter
-Wno-missing-field-initializers -g -MMD -MP -MF .deps/locs.d -I../parse/
-I../mi/ locs.c
clang -c -O0 -Wall -Werror -Wextra -Wno-unused-parameter
-Wno-missing-field-initializers -g -MMD -MP -MF .deps/main.d -I../parse/
-I../mi/ main.c
clang -c -O0 -Wall -Werror -Wextra -Wno-unused-parameter
-Wno-missing-field-initializers -g -MMD -MP -MF .deps/simp.d -I../parse/
-I../mi/ simp.c
clang -c -O0 -Wall -Werror -Wextra -Wno-unused-parameter
-Wno-missing-field-initializers -g -MMD -MP -MF .deps/typeinfo.d
-I../parse/ -I../mi/ typeinfo.c
clang -o 6m gen.o gengas.o genp9.o isel.o locs.o main.o ra.o simp.o
typeinfo.o  -L../parse/ -L../mi/ -lparse -lmi
make[1]: Leaving directory `/media/ryan/stuff/mc/6'
make[1]: Entering directory `/media/ryan/stuff/mc/muse'
clang -c -O0 -Wall -Werror -Wextra -Wno-unused-parameter
-Wno-missing-field-initializers -g -MMD -MP -MF .deps/muse.d -I../parse/
muse.c
clang -o muse muse.o -L../parse/ -lparse
make[1]: Leaving directory `/media/ryan/stuff/mc/muse'
make[1]: Entering directory `/media/ryan/stuff/mc/rt'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/media/ryan/stuff/mc/rt'
make[1]: Entering directory `/media/ryan/stuff/mc/doc'
make[1]: Leaving directory `/media/ryan/stuff/mc/doc'
./mbldwrap.sh
cd /home/ryan/stuff/mc/libstd
../6/6m syserrno+linux-x64.myr
Unable to open file syserrno+linux-x64.myr
../6/6m systypes.myr
../6/6m sys+linux-x64.myr
../6/6m ifreq+linux-x64.myr
Unable to open file ifreq+linux-x64.myr
as -g -o util.o util+posixy-x64.s
as -g -o syscall.o syscall+linux-x64.s
../muse/muse -o sys ifreq.use syserrno.use systypes.use sys.use
ar -rcs libsys.a ifreq.o util.o syserrno.o syscall.o systypes.o sys.o
../6/6m -I . types.myr
../6/6m -I . cstrconv.myr
../6/6m -I . option.myr
../6/6m -I . errno.myr
../6/6m -I . syswrap+posixy-x64.myr
Unable to open file syswrap+posixy-x64.myr
../6/6m -I . die.myr
../6/6m -I . sleq.myr
../6/6m -I . hassuffix.myr
../6/6m -I . hashfuncs.myr
../6/6m -I . slfill.myr
../6/6m -I . clear.myr
../6/6m -I . extremum.myr
../6/6m -I . units.myr
../6/6m -I . alloc.myr
../6/6m -I . utf.myr
../6/6m -I .
No input files given
../6/6m -I . varargs.myr
../6/6m -I . chartype.myr
../6/6m -I . cmp.myr
../6/6m -I . hasprefix.myr
../6/6m -I . slcp.myr
../6/6m -I . sldup.myr
../6/6m -I . slpush.myr
../6/6m -I . bigint.myr
../6/6m -I . fltbits.myr
../6/6m -I . fltfmt.myr
../6/6m -I . fmt.myr
../6/6m -I . rand.myr
../6/6m -I . wait+posixy-x64.myr
Unable to open file wait+posixy-x64.myr
../6/6m -I . now.myr
../6/6m -I . strjoin.myr
../6/6m -I . mk.myr
../6/6m -I . sljoin.myr
../6/6m -I . result.myr
../6/6m -I . slurp.myr
../6/6m -I . strfind.myr
../6/6m -I . dirname.myr
../6/6m -I . putint.myr
../6/6m -I . mkpath.myr
../6/6m -I . strsplit.myr
../6/6m -I . env+posixy-x64.myr
Unable to open file env+posixy-x64.myr
../6/6m -I . endian.myr
../6/6m -I . htab.myr
../6/6m -I . intparse.myr
../6/6m -I . ipparse.myr
../6/6m -I . strstrip.myr
../6/6m -I . resolve+posixy-x64.myr
Unable to open file resolve+posixy-x64.myr
../6/6m -I . pathjoin.myr
../6/6m -I . optparse.myr
../6/6m -I . dir+linux-x64.myr
Unable to open file dir+linux-x64.myr
../6/6m -I . execvp.myr
../6/6m -I . slput.myr
../6/6m -I . spork.myr
../6/6m -I . getint.myr
../6/6m -I . bytebuf.myr
../6/6m -I . blat.myr
../6/6m -I . try.myr
../6/6m -I . sort.myr
../6/6m -I . search.myr
../6/6m -I . getcwd.myr
getcwd.myr:16: Undeclared var bgetcwd
../6/6m -I . dial+posixy-x64.myr
Unable to open file dial+posixy-x64.myr
../6/6m -I . bitset.myr
../6/6m -I . swap.myr
../muse/muse -o std syswrap-ss.use slfill.use dial.use putint.use fmt.use
syswrap.use try.use sort.use blat.use pathjoin.use strjoin.use dir.use
mk.use swap.use hassuffix.use execvp.use types.use ipparse.use strfind.use
utf.use cstrconv.use search.use die.use units.use sljoin.use slpush.use
result.use bytebuf.use now.use htab.use env.use strstrip.use getcwd.use
bitset.use rand.use resolve.use slurp.use intparse.use varargs.use
clear.use hasprefix.use slput.use mkpath.use getint.use strsplit.use
dirname.use sleq.use endian.use alloc.use optparse.use spork.use
fltbits.use cmp.use sldup.use chartype.use fltfmt.use bigint.use option.use
extremum.use hashfuncs.use wait.use errno.use slcp.use
Couldn't open getcwd.use

Aborted (core dumped)
ar -rcs libstd.a syswrap-ss.o slfill.o dial.o putint.o fmt.o syswrap.o
try.o sort.o blat.o pathjoin.o strjoin.o dir.o mk.o swap.o hassuffix.o
execvp.o types.o ipparse.o strfind.o utf.o cstrconv.o search.o die.o
units.o sljoin.o slpush.o result.o bytebuf.o now.o htab.o env.o strstrip.o
getcwd.o bitset.o rand.o resolve.o slurp.o intparse.o varargs.o clear.o
hasprefix.o slput.o mkpath.o getint.o strsplit.o dirname.o sleq.o endian.o
alloc.o optparse.o spork.o fltbits.o cmp.o sldup.o chartype.o fltfmt.o
bigint.o option.o extremum.o hashfuncs.o wait.o errno.o slcp.o
ar: getcwd.o: No such file or directory
cd /home/ryan/stuff/mc
cd /home/ryan/stuff/mc/libbio
../6/6m -I ../libstd bio.myr
../6/6m -I ../libstd puti.myr
../6/6m -I ../libstd geti.myr
../muse/muse -o bio puti.use bio.use geti.use
ar -rcs libbio.a puti.o bio.o geti.o
cd /home/ryan/stuff/mc
cd /home/ryan/stuff/mc/libregex
../6/6m -I ../libstd types.myr
../6/6m -I ../libstd interp.myr
../6/6m -I ../libstd ranges.myr
../6/6m -I ../libstd compile.myr
../muse/muse -o regex interp.use types.use compile.use ranges.use
ar -rcs libregex.a interp.o types.o compile.o ranges.o
cd /home/ryan/stuff/mc
cd /home/ryan/stuff/mc/mbld
../6/6m -I ../libstd -I ../libbio -I ../libregex config.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex types.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex opts.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex util.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex subdir.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex deps.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex fsel.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex parse.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex build.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex install.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex clean.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex test.myr
../6/6m -I ../libstd -I ../libbio -I ../libregex main.myr
main.myr:102: Undeclared var std.getcwd
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../libstd -L../libbio -L../libregex -L/home/ori/bin/lib/myr -lregex -lbio
-lstd -lsys -lsys -lstd -lbio -lregex
ld: cannot find /home/ori/bin/lib/myr/_myrrt.o: No such file or directory
ld: cannot find main.o: No such file or directory
make: *** [buildmyr] Error 1

BTW, I think I mentioned this before, but I love the autoconf emulation
phase of the configure scripts for this and lib-ds. ;)


On Mon, Apr 13, 2015 at 3:59 AM, Ori Bernstein <ori@xxxxxxxxxxxxxx> wrote:

> 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
>



-- 
Ryan
[ERROR]: Your autotools build scripts are 200 lines longer than your
program. Something’s wrong.
http://kirbyfan64.github.io/

Follow-Ups:
Re: Generating runtime type information.Ori Bernstein <ori@xxxxxxxxxxxxxx>
References:
Re: Generating runtime type information.Ori Bernstein <ori@xxxxxxxxxxxxxx>