Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Aug 2002 12:54:56 -0400
From:      The Anarcat <anarcat@anarcat.ath.cx>
To:        Max Okumoto <okumoto@ucsd.edu>
Cc:        freebsd-libh@FreeBSD.ORG
Subject:   Re: libh changes that I would like to get comments on.
Message-ID:  <20020810165454.GA34549@lenny.anarcat.ath.cx>
In-Reply-To: <hfznwtquws.fsf@multivac.sdsc.edu>
References:  <hfznwtquws.fsf@multivac.sdsc.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

--pf9I7BMVVzbSWLtt
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon Jul 15, 2002 at 01:04:19AM -0700, Max Okumoto wrote:
>=20
> Hi guys,
> 	I would like your opinions on some changes that I
> would like to make to libh.  I have built a small framework
> with just the UI section which is contained in the appended
> tar file.  But, before I spend any more time in this I=20
> would like people to look over the changes that I am purposing.
>=20
> o Makefile dependency generator
> 	I would like to start using 'bm' (build makefile) program
> 	that I put into the tools directory.  This program generates
> 	a Makefile with all the dependencies.
>=20
> 	Note: The generated Makefile is modeled after Peter Miller's paper.
> 	http://www.canb.auug.org.au/~millerp/rmch/recu-make-cons-harm-old.html

I'd be very careful with this. I haven't looked at the bm program, so
I don't know if it really works.

libh Makefile system is really obscure and fragile.=20

But, as always, if it works, you can go ahead. ;)

One quick note: the new system doesn't seem to build multiple back
ends as the old one did (none, text, graphics, text+graphics). This is
mandatory. We need a text-only backend for the floppies.

BTW, it would be nice if you could share with us how the heck this bm
thing works. :) I'm quite impressed at the compile time of the demo
you attached to this mail. Of course there's the whole TCL thing
that's skipped and taken care of by SWIG, but still, it's a great
improvement.

> o Restructure the Hui subsystem into three seperate libraries.
> 	lib/Hui would be a virtual base hierarchy.
> 	lib/HuiTv would be the TVision implimentation of Hui
> 	lib/HuiQt would be the Qt implimentation of Hui

That looks ok. It is indeed very nice, and the whole thing looks much
more isolated than before. Good work!

> o Use swig 1.3.13 to build tcl <--> C++ glue code instead of what
>   we currently have.
> 	This supports dyanmic loading of the Hui code.  My test
> 	tcl script uses a vanilla tclsh binary.  It first checks
> 	if the shared lib exists and then loads the code.

This is very nice. It is an additional dependency, but we didn't need
to re-invent the wheel and it's causing us problems.

There is however, some problems in that area: I don't know exactly how
the old system worked. The whole principle of getting TCL into libh
was to control the execution of scripts using the safe
interpreters. How will this fit in the new scheme? What exactly is
swig replacing and how?

As long as these questions aren't answered, I won't be comfortable
with SWIG in libh.

Oh, and a last note.. I think tclh is still needed, even if we can
now load libh modules through tclsh. The problem is that dynamic
linking (ld.elf.so) simply *won't* be available on the floppies,
because of the space restriction. Everything will have to be
statically linked, I think, to obtain optimal space tradeoff.

I might be wrong here though. :)

We'll need to run throughout space comparaison between both.

Oh, and this also means that SWIG will be statically linked into libh
too? This might take up too much space too. We really have to examine
these issues.

> I am still using 4.5-RELEASE as my devel enviorment, but I am using
> swig 1.3.13 from /usr/ports/devel/SWIG-devel.  (Note: I modifed the
> Makefile to only build tcl SWIG_LANGUAGES=3Dtcl)
>=20
> 					Max Okumoto
>=20
> % gzcat libh.tar.gz | tar -xf -
[...]

Whoohoo! This fixes the tvision bug #5!! (see the BUGS file).

Wow max, this is really great. Dynamic loading and all, you've done a
great job.

Now I feel very sorry I didn't check on this earlier.

Where is that tarball from? Is that particular code from the branch?
How did you generate it?

I totally agree to integrate this into the main branch. I think we'll
have to be really careful though, merging not all at once, but slowly,
incrementally.

I was thinking of releasing 0.2.3, but I think we'll jump straight to
0.3, this is just too much. :)

Yay again!

A.

--=20
The idea that Bill Gates has appeared like a knight in shining armour to
lead all customers out of a mire of technological chaos neatly ignores
the fact that it was he who, by peddling second-rate technology, led
them into it in the first place. - Douglas Adams (1952-2001)

--pf9I7BMVVzbSWLtt
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iD8DBQE9VUVcttcWHAnWiGcRAmq8AJ9bbd34/zqkU47faVoQHTc07VSUyACaAkZc
1t5/r+80jWiENIsrDQ/cwiQ=
=OwkC
-----END PGP SIGNATURE-----

--pf9I7BMVVzbSWLtt--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-libh" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020810165454.GA34549>