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