- Notifications
You must be signed in to change notification settings - Fork0
Read The Figurative Logfile
License
NotificationsYou must be signed in to change notification settings
dillo-browser/rtfl
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Overview--------RTFL, which stands for "Read The Figurative Logfile", is a both aprotocol for structured debug messages, as well as a collection ofprograms (currently two) displaying these debug messages in asemi-graphical way, so that it becomes simpler to determine what thedebugged program does.Programs are prepared to print these special debug messages tostandard output, which are then passed to a viewer program like"rtfl-objcount" or "rtfl-objview".See "doc/rtfl.html" for a comprehensive description.Copyright---------RTFL is free software, released under the GPL version 3 or later (seeCOPYING for details), with the following exception:The copyright holders of RTFL give you permission to link the programrtfl-objview statically or dynamically against all versions of thegraphviz library, which are published by AT&T Corp. under one of thefollowing licenses:- Common Public License version 1.0 as published by International Business Machines Corporation (IBM), or- Eclipse Public License version 1.0 as published by the Eclipse Foundation.Both the protocol and the header file "debug_rtfl.hh", which providesmacros for the protocol, are not protected at all, but in the publicdomain. This means that are no restrictions for the programs beingdebugged using RTFL.Some (informal) notes about the exception:1. Graphviz, which is used by the Graph2 widget, is published under the Eclipse Public License version 1.0, older versions are published under the Common Public License version 1.0. Both licenses are free software licenses, but weak copyleft licenses, and so incompatible with any version the GNU General Public License. See [1] and [2] for details. The license exception solves this.2. Since the CPL and EPL are *weak* copyleft licenses, there is no problem in the other direction.3. All parts of RTFL are still compatible with the GNU GPL.4. I want to restrict this license exception to free libraries; this is the reason that the CPL and the EPL are explicitly mentioned. If you have some "technical" problems with this limitation, feel free to contact me (see below).Building--------As usual: "./configure && make && make install" (or "install-strip");see "INSTALL" for details. If you are using the version from SVNinstead of the release tarball, you have to run "libtoolize && aclocal&& autoconf && automake" before.You need FLTK version 1.3 (try "fltk-config --version"). Get it from<http://fltk.org/software.php>, or install a package suitable for youroperating system (on Debian: "apt-get install libfltk1.3-dev").There is a widget, Graph2, which enhances the graph layouting ofrtfl-objview, as compared to the older Graph widget, and it hasmatured enough to become the default. It depends on the Graphvizlibrary (see <http://www.graphviz.org/Download.php> or install asuitable package, e. g. "libgraphviz-dev" on Debian), version 2.38.0or later. If you use an older version, try to modify "configure.ac";if you succeed, drop me a note.If Graphviz is not installed, the old Graph widget is used. If youwant to use the old Graph widget in any case, run "./configure" with"--disable-graph2" to use the old widget.Furthermore, there has been some work on a Java VM agent, whichautomates generation of RTFL messages by Java programs. The JDK issearched according to following rules: (i) If "--disable-java" is passed to "./configure", the JVM agent is not build at all. (ii) The root of the JDK (under which "bin", "include" etc. are found) may be passed explicitly by "--with-java-home=...".(iii) Otherwise, "javac" is found in the path, its symbolic links are followed, and so the root of the JDK is searched.Of course, if "javac" is not found, or some crucial files within theJDK are missing, the agent is neither build.See java/README for more details.Hacking-------RTFL uses parts of the dillo widget from the dillo web browser(<http://www.dillo.org/>); see "lout" and "dw" directory. The currentversion was taken on Oct 27 2014 from the repository<http://hg.dillo.org/dillo>, revision 3948:0769a58d63f9. Few changesare generally made:- the parts of "libDw-widgets.a" are removed, they are not needed in RTFL;- dw::fltk::ui:ComplexButtonResource and related classes and files (FltkFlatView and ComplexButton) are removed, since they are not needed, and (this is actually the main reason) the copyright of ComplexButton is a bit unclear [3];- the copyright notices are modified by adding the license exception (this is automated with the script "update_copyright" which is part of the SVN repository, albeit not release tarball).Smaller changes to "lout" and "dw" can be made within RTFL; from timeto time, these changes should be back-ported, before a new version of"lout" and "dw" is copied to RTFL.The directory "dwr" provides some general dillo widgets used in RTFL,and "common" base code for all viewers and protocol modules. Specificviewers and protocol modules have there own directory (currently only"objects": may become subject to change.)Future------First of all, there are numerous bugs, flaws, and things toimprove. (No list yet.)For more, see the file <http://home.gna.org/rtfl/future.html".Contact-------Write to Sebastian Geerken <sgeerken-at-dillo.org>. See<http://home.gna.org/rtfl/> for news.Footnotes---------[1]http://www.gnu.org/philosophy/license-list.html#CommonPublicLicense10[2]http://www.gnu.org/philosophy/license-list.html#EPL[3] Nothing serious; ComplexButton is a derivate of the Button widget of FLTK, which is released under the GNU LGPL, so that linking with the graphviz library should not cause a problem.