[M3devel] "SYSTEM_LIBS contains X11"?
Jay K
jay.krell at cornell.edu
Mon Nov 30 10:38:28 CET 2009
Well.. what if, er, um, "formsvbt" was implemented on top of something
other than "trestle" or "m3-ui/ui"? Impossible?
A lot of gui apps don't depend /directly/ on Trestle.
For some definition of "Trestle".
Is "Trestle" just m3-ui/ui? Or all the *vbt packages? or?
Yes, granted, GTk, Qt, etc.
Still, I think something is off.
The mechanism is wrong.
Something somewhere in a dependency tree should decide for whatever
reason that it can't build, not something "bad" like "syntax error"
bu something "ok" like "not supported on this platform", and everything
up it in the dependency graph should automatically, like, just warn.
You know, every "import(foo)" line is like if HasFoo.
- Jay
> Date: Mon, 30 Nov 2009 08:05:54 +0100
> From: wagner at elegosoft.com
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] "SYSTEM_LIBS contains X11"?
>
> Quoting Jay K <jay.krell at cornell.edu>:
>
> > I kind of think the original authors had in mind:
> >
> > if SYSTEM_LIBS contains "X11"
> >
> > as a useful construct..but I'm not sure..and no matter their intentions,
> > it seems at first promising but then actually inadequate, and that maybe
> > we need something to replace what it seems to promise.
> >
> > IN PARTICULAR:
> >
> > If something is directly dependent on X11, then it seems reasonable
> > to do m3makefile:
> >
> > if SYSTEM_LIBS contains "X11"
> >
> > ..everything..
> >
> > library("foo")
> >
> > end
> >
> > but then it seems to me that clients of library("foo") shouldn't
> > know or care that foo depends on X11.
> >
> > It seems like you maybe should be able to do like:
> >
> > if SYSTEM_LIBS contains "X11"
> >
> > ..everything..
> >
> > library("foo")
> >
> > else
> >
> > no_library("foo") % or something
> >
> > end
> >
> > and then when I have:
> >
> > import("foo")
> >
> > library("fooclient")
> >
> > I should probably just a warning like:
> >
> > "not building fooclient because foo is explicitly not available"
> > "explicitly not available" as opposed to "seems to just be missing,
> > perhaps you forgot to build it first?"
> >
> > In particular, "no_library" would need to be "active" and leave a
> > mark of some sort.
> >
> > ?
> >
> > In the meantime I'm considering some special case thing, like
> >
> > configfile:
> >
> > HAS_GUI = TRUE
> >
> > or
> >
> > HAS_TRESTLE = TRUE
> >
> > or config.common:
> >
> > if not defined("HAS_TRESTLE")
> > HAS_TRESTLE = TRUE
> >
> > end
> >
> > ??
>
> HAS_TRESTLE sounds OK to me, as there may be other GUI toolkits like gtk.
> I'm not sure though why we shouldn't just depend on m3-ui/ui to be
> available. Is it just the error message?
>
> Olaf
> --
> Olaf Wagner -- elego Software Solutions GmbH
> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95
> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20091130/74a0a78e/attachment-0002.html>
More information about the M3devel
mailing list