pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
graphics/vcg: Add patches to build on Linux and clean up.
Module Name: pkgsrc-wip
Committed By: Jason Bacon <jwbacon%tds.net@localhost>
Pushed By: outpaddling
Date: Thu Sep 8 17:00:45 2016 -0500
Changeset: 1b7ca1ab92f6a95c6198cfb0afd7d671d7afeec9
Modified Files:
Makefile
Added Files:
vcg/DESCR
vcg/Makefile
vcg/PLIST
vcg/TODO
vcg/distinfo
vcg/files/conf
vcg/files/demo.csh
vcg/files/globals.h
vcg/files/tMakefile
vcg/patches/patch-aa
vcg/patches/patch-ab
vcg/patches/patch-ac
vcg/patches/patch-ad
vcg/patches/patch-ae
vcg/patches/patch-af
vcg/patches/patch-ag
vcg/patches/patch-ah
vcg/patches/patch-ai
vcg/patches/patch-aj
vcg/patches/patch-ak
vcg/patches/patch-al
vcg/patches/patch-am
vcg/patches/patch-an
vcg/patches/patch-ao
vcg/patches/patch-ap
vcg/patches/patch-aq
vcg/patches/patch-demo_animation1_c
vcg/patches/patch-demo_animation2_c
vcg/patches/patch-demo_animation3_c
vcg/patches/patch-demo_vcgcount_c
vcg/patches/patch-preconf_X11ccSunOS_conf
Log Message:
graphics/vcg: Add patches to build on Linux and clean up.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=1b7ca1ab92f6a95c6198cfb0afd7d671d7afeec9
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 +
vcg/DESCR | 10 +
vcg/Makefile | 58 ++
vcg/PLIST | 45 +
vcg/TODO | 1 +
vcg/distinfo | 28 +
vcg/files/conf | 38 +
vcg/files/demo.csh | 1454 +++++++++++++++++++++++++++++
vcg/files/globals.h | 433 +++++++++
vcg/files/tMakefile | 378 ++++++++
vcg/patches/patch-aa | 13 +
vcg/patches/patch-ab | 22 +
vcg/patches/patch-ac | 47 +
vcg/patches/patch-ad | 22 +
vcg/patches/patch-ae | 18 +
vcg/patches/patch-af | 13 +
vcg/patches/patch-ag | 13 +
vcg/patches/patch-ah | 13 +
vcg/patches/patch-ai | 13 +
vcg/patches/patch-aj | 22 +
vcg/patches/patch-ak | 13 +
vcg/patches/patch-al | 13 +
vcg/patches/patch-am | 13 +
vcg/patches/patch-an | 13 +
vcg/patches/patch-ao | 13 +
vcg/patches/patch-ap | 22 +
vcg/patches/patch-aq | 15 +
vcg/patches/patch-demo_animation1_c | 24 +
vcg/patches/patch-demo_animation2_c | 24 +
vcg/patches/patch-demo_animation3_c | 92 ++
vcg/patches/patch-demo_vcgcount_c | 35 +
vcg/patches/patch-preconf_X11ccSunOS_conf | 16 +
32 files changed, 2935 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index 97e4d4d..f06f2bc 100644
--- a/Makefile
+++ b/Makefile
@@ -4194,6 +4194,7 @@ SUBDIR+= varnish
SUBDIR+= varnish4
SUBDIR+= vba-m
SUBDIR+= vcftools
+SUBDIR+= vcg
SUBDIR+= vche
SUBDIR+= vdesk
SUBDIR+= vee
diff --git a/vcg/DESCR b/vcg/DESCR
new file mode 100644
index 0000000..18ab0fc
--- /dev/null
+++ b/vcg/DESCR
@@ -0,0 +1,10 @@
+The VCG tool reads a textual and readable specification of a
+graph and visualizes the graph. If not all positions of
+nodes are fixed, the tool layouts the graph using several
+heuristics as reducing the number of crossings, minimizing
+the size of edges, centering of nodes. The specification
+language of the VCG tool is nearly compatible to GRL, the
+language of the edge tool, but contains many extensions. The
+VCG tool allows folding of dynamically or statically speci-
+fied regions of the graph. It uses colors and runs on
+X11. (An older version runs on Sunview).
diff --git a/vcg/Makefile b/vcg/Makefile
new file mode 100644
index 0000000..43b9c12
--- /dev/null
+++ b/vcg/Makefile
@@ -0,0 +1,58 @@
+# $NetBSD: Makefile,v 1.20 2015/07/04 16:18:36 joerg Exp $
+
+DISTNAME= vcg.1.30.r3.17
+PKGNAME= vcg-1.30
+PKGREVISION= 2
+CATEGORIES= graphics
+MASTER_SITES= ftp://ftp.cs.uni-sb.de/pub/graphics/vcg/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+COMMENT= Visualization Tool for compiler graphs
+
+LICENSE= gnu-gpl-v2
+
+MAKE_JOBS_SAFE= no
+
+WRKSRC= ${WRKDIR}/vcg.1.30
+USE_TOOLS+= imake lex
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "Linux"
+SUBST_CLASSES+= install
+SUBST_STAGE.install= post-patch
+SUBST_SED.install= -e 's|/bin/install|/usr/bin/install|g'
+SUBST_FILES.install= ${WRKSRC}/preconf/X11cc${OPSYS}/conf
+
+SUBST_CLASSES+= sed
+SUBST_STAGE.sed= post-patch
+SUBST_SED.sed= -e 's|/usr/bin/sed|/bin/sed|g'
+SUBST_FILES.sed= ${WRKSRC}/preconf/X11cc${OPSYS}/conf
+SUBST_FILES.sed+= ${WRKSRC}/preconf/X11cc${OPSYS}/demo.csh
+SUBST_FILES.sed+= ${WRKSRC}/preconf/X11cc${OPSYS}/tMakefile
+
+SUBST_CLASSES+= touch
+SUBST_STAGE.touch= post-patch
+SUBST_SED.touch= -e 's|/usr/bin/touch|/bin/touch|g'
+SUBST_FILES.touch= ${WRKSRC}/preconf/X11cc${OPSYS}/conf
+SUBST_FILES.touch+= ${WRKSRC}/preconf/X11cc${OPSYS}/demo.csh
+SUBST_FILES.touch+= ${WRKSRC}/preconf/X11cc${OPSYS}/tMakefile
+
+.endif
+
+pre-patch:
+ ${MKDIR} ${WRKSRC}/preconf/X11cc${OPSYS}
+ ${CP} ${FILESDIR}/conf ${WRKSRC}/preconf/X11cc${OPSYS}
+ ${CP} ${FILESDIR}/demo.csh ${WRKSRC}/preconf/X11cc${OPSYS}
+ ${CP} ${FILESDIR}/globals.h ${WRKSRC}/preconf/X11cc${OPSYS}
+ ${CP} ${FILESDIR}/tMakefile ${WRKSRC}/preconf/X11cc${OPSYS}
+
+INSTALLATION_DIRS+= share/doc/vcg share/examples/vcg
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/doc/visual.ps ${DESTDIR}${PREFIX}/share/doc/vcg
+ ${INSTALL_DATA} ${WRKSRC}/expl/*.vcg ${DESTDIR}${PREFIX}/share/examples/vcg
+
+.include "../../x11/libXext/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/vcg/PLIST b/vcg/PLIST
new file mode 100644
index 0000000..bb11fc8
--- /dev/null
+++ b/vcg/PLIST
@@ -0,0 +1,45 @@
+@comment $NetBSD: PLIST,v 1.2 2009/06/14 17:59:30 joerg Exp $
+bin/pbm2hp
+bin/pbmrot90
+bin/pbmshift
+bin/vcgdemomaker
+bin/xvcg
+man/manl/pbm2hp.l
+man/manl/pbmrot90.l
+man/manl/pbmshift.l
+man/manl/vcg.l
+man/manl/vcgdemomaker.l
+man/manl/xvcg.l
+share/doc/vcg/visual.ps
+share/examples/vcg/anchors.vcg
+share/examples/vcg/annot1.vcg
+share/examples/vcg/annot2.vcg
+share/examples/vcg/ccmir.vcg
+share/examples/vcg/cfg.vcg
+share/examples/vcg/charset.vcg
+share/examples/vcg/civ.vcg
+share/examples/vcg/colors.vcg
+share/examples/vcg/fishex2a.vcg
+share/examples/vcg/fishex2b.vcg
+share/examples/vcg/fishex3a.vcg
+share/examples/vcg/fishex3b.vcg
+share/examples/vcg/fishex3c.vcg
+share/examples/vcg/flchrt.vcg
+share/examples/vcg/forms.vcg
+share/examples/vcg/forms2.vcg
+share/examples/vcg/hsort.vcg
+share/examples/vcg/hunsort.vcg
+share/examples/vcg/levels.vcg
+share/examples/vcg/morecol.vcg
+share/examples/vcg/pshar1.vcg
+share/examples/vcg/pshar2.vcg
+share/examples/vcg/pshar3.vcg
+share/examples/vcg/pshar4.vcg
+share/examples/vcg/shells.vcg
+share/examples/vcg/softmain.vcg
+share/examples/vcg/softmain2.vcg
+share/examples/vcg/structs.vcg
+share/examples/vcg/tree1.vcg
+share/examples/vcg/tree2.vcg
+share/examples/vcg/tstree.vcg
+share/examples/vcg/xerox.vcg
diff --git a/vcg/TODO b/vcg/TODO
new file mode 100644
index 0000000..b687356
--- /dev/null
+++ b/vcg/TODO
@@ -0,0 +1 @@
+Clean up and test
diff --git a/vcg/distinfo b/vcg/distinfo
new file mode 100644
index 0000000..4bfe4dc
--- /dev/null
+++ b/vcg/distinfo
@@ -0,0 +1,28 @@
+$NetBSD: distinfo,v 1.7 2015/11/03 21:34:34 agc Exp $
+
+SHA1 (vcg.1.30.r3.17.tgz) = 03a821b4a0bd9c5584d34882b167672868fe723d
+RMD160 (vcg.1.30.r3.17.tgz) = 4df7ce2ff7d5de253f9e851194a703d64ed4cdc3
+SHA512 (vcg.1.30.r3.17.tgz) = 7e075a3cf575adb922d0c6843274c1814d3bdc560a1f254a7071fecf20fff3c98921027fd1bc41b452c91c55ffba101c63179bfd8d1bb78cd44e26a54a9a2fcf
+Size (vcg.1.30.r3.17.tgz) = 1429486 bytes
+SHA1 (patch-aa) = b22f4df0a74ae3f970780a514c43a8c23e04163e
+SHA1 (patch-ab) = 26610ed150bef2ec69e3324fc9a2e44e50543978
+SHA1 (patch-ac) = 3cda9b0ab98750c1dab1e7308f4f07f4820936e5
+SHA1 (patch-ad) = cbde5f2486927cfdd48632473df1599ae9eac31e
+SHA1 (patch-ae) = 3ac50f38ba013df290634e9a7a669a3c467eda44
+SHA1 (patch-af) = a49ed3044ba017a151c0cbb8a1766358f1a95153
+SHA1 (patch-ag) = c98783a2e57b36ecab2d0eb6579fe0519c2b9181
+SHA1 (patch-ah) = 3f8165064d741f47e32c9e6cf833af32d8fac28e
+SHA1 (patch-ai) = e5e930e67c2253df6e487f9210e425c55896c83f
+SHA1 (patch-aj) = c88f7286cb4fbbadd770b26a329cd8553d696181
+SHA1 (patch-ak) = 37f05761d9b35f16fc4747a5b9fabf565a0a061f
+SHA1 (patch-al) = 4138c2b6582505210030b8da967fa0056caabdcf
+SHA1 (patch-am) = 7a684e2520448f4cc56b7a3e3b3ec8627370ce78
+SHA1 (patch-an) = 593e624ddbc15869c146dfc6824126b8016527e9
+SHA1 (patch-ao) = ef65b3ce1121b6dbe478c98cec7a26e11e1e8539
+SHA1 (patch-ap) = f439d09a321768ecf9988b77aa1ac28b4c3a0ad7
+SHA1 (patch-aq) = f9a5465d932c1264b2cf3fb1bf734f9363f64650
+SHA1 (patch-demo_animation1_c) = 38feda7060648920be7d372a4c62ed819676ceeb
+SHA1 (patch-demo_animation2_c) = 1073161550bc48ad33cd14d5493198eac0295e11
+SHA1 (patch-demo_animation3_c) = fdce029f72cd8edc64633ac31beddabeba722fbd
+SHA1 (patch-demo_vcgcount_c) = 0ae39c7a6b14b656734264502bd3d617222d9d46
+SHA1 (patch-preconf_X11ccSunOS_conf) = 04fba7328b57ee04f16312c404840e99d5cf3c96
diff --git a/vcg/files/conf b/vcg/files/conf
new file mode 100644
index 0000000..a5f499c
--- /dev/null
+++ b/vcg/files/conf
@@ -0,0 +1,38 @@
+ADDINCLUDEPATHNAME|-I/usr/X11R6/include/
+ADDLIBPATHNAME|-L/usr/X11R6/lib/
+ADDLIBSNAME|-lXext -lX11 -lm
+ALIGNMENTNAME|8
+ANSINAME|#define ANSI_C
+BIGLTEXNAME|not_available
+BINPATHNAME|/usr/X11R6/bin
+BISONNAME|not_available
+BLOCKSIZENAME|1048576
+CATNAME|/bin/cat
+CCLINKNAME|cc
+CCNAME|cc
+CFLAGSNAME|-c -O2
+CLEARNAME|/usr/bin/clear
+CLINKFLAGSNAME|-o
+FGREPNAME|/usr/bin/fgrep
+FIGTODEVNAME|fig2dev
+FIGTOPSTOTEXNAME|fig2ps2tex
+FLEXNAME|not_needed
+FONTALIASNAME|-*-courier-*-*-*--14-*-*-*-*-*-*-*
+INPUTFOCUSNAME|#define NOINPUTFOCUS
+INSTALLBINNAME|/bin/install -c -s -m 755 dummy $(BINDIR)/dummy
+INSTALLDIRNAME|/bin/mkdir -p
+INSTALLMANNAME|/bin/install -c -m 644 dummy $(MANDIR)/dummy
+LATEXNAME|latex
+LNNAME|/bin/ln
+MAKEDEPENDNAME|makedepend
+MAKENAME|make
+MANEXTNAME|l
+MANPATHNAME|/usr/X11R6/man/manl
+MVNAME|/bin/mv
+RMNAME|/bin/rm
+SEDNAME|/usr/bin/sed
+SLEEPNAME|/bin/sleep
+TOUCHNAME|/usr/bin/touch
+VCGNAME|xvcg
+WCNAME|/usr/bin/wc
+WINDOWSYSTEMNAME|#define X11
diff --git a/vcg/files/demo.csh b/vcg/files/demo.csh
new file mode 100644
index 0000000..f33222d
--- /dev/null
+++ b/vcg/files/demo.csh
@@ -0,0 +1,1454 @@
+#!/bin/csh
+#
+# SCCS-info %W% %E%
+# $NetBSD: demo.csh,v 1.3 1999/06/13 13:06:08 sakamoto Exp $
+# FreeBSD Id: demo.csh,v 1.1.1.1 1995/02/19 09:25:43 hsu Exp $
+#
+# ====================== Change area ============================
+
+alias OUTP /bin/echo
+
+# ================== End of Change area =========================
+
+OUTP "Configuring ..."
+
+set mvcgn = "../src/xvcg"
+
+if (! -x $mvcgn) then
+ set mvcgn = "`echo $BINDIR`xvcg"
+endif
+if (! -x $mvcgn) then
+ set mvcgn = "/usr/local/bin/xvcg"
+endif
+if (! -x $mvcgn) then
+ set mvcgn = "xvcg"
+endif
+if (! -x $mvcgn) then
+ OUTP "Sorry, I cannot find a " $mvcgn
+ exit 1
+endif
+
+OUTP "Vcg is" $mvcgn
+
+OUTP ""
+loop:
+ OUTP "Please select the window system."
+ OUTP "If the VCG tool has problems with colors on "
+ OUTP "your display installation, please select a "
+ OUTP "monochromatic version even on a color screen."
+ OUTP "1 : X11 with colors 2 : Sunview with colors "
+ OUTP "3 : X11 monochromatic 4 : Sunview monochromatic"
+ set wsys = $<
+ switch ($wsys)
+ case 1:
+ alias MYVCG $mvcgn -geometry 700x700+20-20
+ breaksw
+ case 2:
+ alias MYVCG $mvcgn
+ breaksw
+ case 3:
+ alias MYVCG $mvcgn -geometry 700x700+20-20 -nocolors
+ breaksw
+ case 4:
+ alias MYVCG $mvcgn -nocolors
+ breaksw
+ default:
+ OUTP ""
+ OUTP "*** invalid input ***"
+ goto loop
+ endsw
+
+set mycat = "/bin/cat"
+set myrm = "/bin/rm"
+set mysleep = "/bin/sleep"
+set mysed = "/usr/bin/sed"
+set mywc = "/usr/bin/wc"
+set mygrep = "/usr/bin/fgrep"
+set myclear = "/usr/bin/clear"
+
+alias CAT $mycat
+alias RM $myrm
+alias SLEEP $mysleep
+alias SED $mysed
+alias WCNT $mywc
+alias GREP $mygrep
+alias CLEAR $myclear
+
+
+OUTP
+OUTP "Cleanup ..."
+OUTP "Test" > demoaaa.vcg
+OUTP "Test" > animaaa.vcg
+OUTP "Test" > rbtreeaaa.vcg
+RM demo*.vcg anim*.vcg rbtree*.vcg
+
+OUTP ""
+OUTP "Press Carriage Return key to start the demonstration ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+CLEAR
+OUTP "DEMONSTRATION OF THE VCG TOOL"
+OUTP "============================="
+OUTP ""
+OUTP "Welcome to a tour around the VCG tool ..."
+OUTP ""
+OUTP "NOTE: you can leave the tour at any point by answering"
+OUTP " QUIT (uppercase) on a request of input."
+
+OUTP ""
+OUTP "In the following, we will show several visualizations"
+OUTP "from different applications. Not all features of the "
+OUTP "VCG tool can be demonstrated, but the important once."
+OUTP "Some of the demonstrations are generated by the program"
+OUTP "vcgdemomaker, others are from the directory expl, others"
+OUTP "are animations."
+OUTP ""
+OUTP "To go from one demonstration to the next demonstration,"
+OUTP "you should finish the VCG tool by pressing the key q "
+OUTP "or selecting the menu item Quit."
+OUTP "The menu is shown when pressing the (left) mouse button"
+OUTP "in the VCG window."
+OUTP "Press Carriage Return key to continue ..."
+
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+OUTP "The keyboard commands of the VCG tool are:"
+OUTP ""
+OUTP " q - quit the VCG tool"
+OUTP " r - show or hide the ruler"
+OUTP " f - load another file"
+OUTP " g - reload the same file"
+OUTP " l - display/hide labels of edges"
+OUTP " 1..9 - hide/expose corresponding edge class"
+OUTP " i or I or J - show info fields of nodes"
+OUTP ""
+OUTP "Press Carriage Return key to continue ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+OUTP ""
+OUTP "Scrolling commands:"
+OUTP ""
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " o - go to the origin (0,0) "
+OUTP " p - pick position with the mouse"
+OUTP " P - enter position by co-ordinates"
+OUTP " n - position such that a node is centered"
+OUTP " e - follow an edge (center target/source)"
+OUTP ""
+OUTP "Scaling commands"
+OUTP ""
+OUTP " + or = - stretch "
+OUTP " - or _ - shrink "
+OUTP " 0 - (null) set scale factor to normal"
+OUTP ""
+OUTP ""
+OUTP "Press Carriage Return key to start ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+CLEAR
+OUTP "Example from the sociology: Theory of civilisation"
+OUTP "--------------------------------------------------"
+OUTP "This graph shows the dependencies between the "
+OUTP "invention of wheels, the modern comunism and the "
+OUTP "computer science, etc."
+OUTP "The following graph is scaled by a factor 0.5 and"
+OUTP "uses the layoutalgorithm MINBACKWARD (-D0)."
+OUTP "Other possible layoutalgorithms are MINDEPTH, MAXDEPTH"
+OUTP "and TREE (-D-, -D+ and -Dtree) and many more."
+OUTP ""
+./vcgcount < ../expl/civ.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/civ.vcg
+
+CLEAR
+OUTP "Example: Color test"
+OUTP "-------------------"
+OUTP "This examples shows the default colors that are available."
+OUTP "If your X11 installation has problems with colors, "
+OUTP "use -nocolors. In this case, or if the display is "
+OUTP "monochrom, you will not see the colors."
+OUTP ""
+./vcgcount < ../expl/colors.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/colors.vcg
+
+CLEAR
+OUTP "Example: More Colors"
+OUTP "--------------------"
+OUTP "This examples show how to access to the color map."
+OUTP "Up to 256 colors can be used at the same time."
+OUTP "It is even possible to replace the default colors by"
+OUTP "other red/green/blue values."
+OUTP ""
+./vcgcount < ../expl/morecol.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/morecol.vcg
+
+
+CLEAR
+OUTP "Example: Character set"
+OUTP "----------------------"
+OUTP "The VCG tool uses a fully scalable character set. This character"
+OUTP "set is compatible to the ISO Latin 1 PostScript Encoding Vector"
+OUTP "and contains the special national characters for the most"
+OUTP "European and North American countrys."
+OUTP "If the computer system does not support 8 Bit character codes,"
+OUTP "the special characters can be accessed by ISO code escapes."
+OUTP "For instance, \\fi252 is the german umlaut ue."
+OUTP "Next, we will see the character set."
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/charset.vcg
+
+
+CLEAR
+OUTP "Example: Form test"
+OUTP "------------------"
+OUTP "This examples shows the different forms of nodes and"
+OUTP "edges that are available."
+OUTP "Nodes can be stretched and shrinked individually,"
+OUTP "width, height, textmode and border can be set to "
+OUTP "many values. Edges can be dashed or dotted, at "
+OUTP "different sizes with different arrow sizes."
+OUTP ""
+./vcgcount < ../expl/forms.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/forms.vcg
+
+CLEAR
+OUTP "Example: More forms"
+OUTP "-------------------"
+OUTP "This examples shows further forms of nodes and"
+OUTP "edges that are available: boxes, ellipses, rhombs"
+OUTP "and triangles."
+OUTP ""
+./vcgcount < ../expl/forms2.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/forms2.vcg
+
+
+CLEAR
+OUTP "Example: Ports and Arrow Modes"
+OUTP "------------------------------"
+OUTP "Edge arrows appear at the port of nodes. Port sharing"
+OUTP "means that multiple edges may be adjacent to one port."
+OUTP "This occurs, if the arrows of all these edges have the"
+OUTP "same visual appearance (size, color, ...)."
+OUTP "If we use port sharing, it is recommended to use only"
+OUTP "a fixed set of rotated arrows. Otherwise, the port looks"
+OUTP "like a thick spot since all arrows are differently rotated"
+OUTP "and overlap. This is the arrow mode 'fixed'."
+OUTP "If we don't use port sharing, arrows can be rotated individually."
+OUTP "This is the arrow mode 'free'."
+OUTP ""
+OUTP "Next, we see four times the same graph. At the left examples,"
+OUTP "we use port sharing, but at the right examples, there is no"
+OUTP "port sharing. At the upper examples, we use arrow mode fixed,"
+OUTP "and at the lower examples, we use arrow mode free."
+OUTP ""
+./vcgcount < ../expl/pshar1.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG windows at the left sides."
+OUTP "Then, press q into the right VCG windows to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent ../expl/pshar1.vcg &
+SLEEP 2
+MYVCG -silent ../expl/pshar3.vcg &
+SLEEP 2
+MYVCG -silent ../expl/pshar2.vcg &
+SLEEP 2
+MYVCG ../expl/pshar4.vcg
+SLEEP 1
+
+
+
+CLEAR
+OUTP "Example: A diagram"
+OUTP "------------------"
+OUTP "This examples shows the influences of different computer"
+OUTP "systems in the context of the development of the computer"
+OUTP "Xerox Star (see Johnson, Roberts, e.a.: The Xerox Star,"
+OUTP "a Retrospective, IEEE Computer; 11-29, Sept. 1989)."
+OUTP "We did some changes in the diagram in order to show the "
+OUTP "possibilities of visualization, but not in order to "
+OUTP "clarify information in the diagram."
+OUTP ""
+./vcgcount < ../expl/xerox.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/xerox.vcg
+
+CLEAR
+OUTP "Example: A flow diagram"
+OUTP "-----------------------"
+OUTP "This examples shows a funny flow diagram about the actions"
+OUTP "of a software maintainer if something does not work."
+OUTP "The text is in german. If I tried to translate it, the gags"
+OUTP "would probably disappear."
+OUTP "One speciality here: the centers of the nodes are aligned onto"
+OUTP "a raster by using the attributes xraster and yraster."
+OUTP "Thus, we have many rectangular edges."
+OUTP ""
+./vcgcount < ../expl/softmain.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/softmain.vcg
+
+
+CLEAR
+OUTP "Example: Orthogonal layout"
+OUTP "--------------------------"
+OUTP "Flowcharts look much better if all edges consist of"
+OUTP "orthogonal line segments. This is the orthogonal layout"
+OUTP "or manhatten layout."
+OUTP "For the manhatten layout, we use a special method to"
+OUTP "place the nodes: the priority method with the straight"
+OUTP "line detection. It is recommended to use these methods"
+OUTP "when manhatten layout is switched on."
+OUTP ""
+OUTP "Next, we see the previous flow diagram at the left side"
+OUTP "and the same diagram with manhatten layout at the right side."
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent ../expl/softmain.vcg &
+SLEEP 2
+MYVCG ../expl/softmain2.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: A control flow graph of a program"
+OUTP "------------------------------------------"
+OUTP "This example shows the control flow graph of a program."
+OUTP "The decision branches are formed by rhombs and bent nearedges."
+OUTP "Nearedges are horizontal edges that constain the two adjacent"
+OUTP "nodes to be placed directly neighbored at the same level."
+OUTP "Bent nearedges are edges that are bent at the label, and"
+OUTP "the source node and the edge label form a near edge. This gives"
+OUTP "the typical appearance of decision branches."
+OUTP ""
+./vcgcount < ../expl/cfg.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/cfg.vcg
+
+
+CLEAR
+OUTP "Example: Another control flow graph"
+OUTP "-----------------------------------"
+OUTP "The next example shows another control flow graph."
+OUTP "Here, the bent nearedges are simulated by some nearedges and"
+OUTP "auxiliary nodes. Again, we use manhatten layout with the"
+OUTP "priority method and the straight line detection."
+OUTP ""
+./vcgcount < ../expl/flchrt.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/flchrt.vcg
+
+
+CLEAR
+OUTP "Example: Anchorpoint test"
+OUTP "-------------------------"
+OUTP "This example shows how to use anchorpoints."
+OUTP "It is possible to anchor an edge at each labelline"
+OUTP "of a node. Nodes representing structs look nice"
+OUTP "in this mode. Note but this restricts of course"
+OUTP "the usage of nearedges."
+OUTP "If you select one of the submenus of the menu item"
+OUTP "Node Information and then pick into the large node"
+OUTP "you can see how to use background text."
+OUTP ""
+./vcgcount < ../expl/anchors.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/anchors.vcg
+
+
+CLEAR
+OUTP "Example: More anchorpoints"
+OUTP "--------------------------"
+OUTP "This example shows a list of C structs. It demonstrates"
+OUTP "the usage of anchorpoints for visualized debugging"
+OUTP "of data structures."
+OUTP ""
+./vcgcount < ../expl/structs.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/structs.vcg
+
+CLEAR
+OUTP "Example: Level test"
+OUTP "-------------------"
+OUTP "This examples shows how to use level specifications."
+OUTP "It is possible to give the nodes arbitrary levels"
+OUTP "for instance to place a node artificially on the top"
+OUTP "of the graph. Normally, the following would be layouted"
+OUTP "as a tree with the root at level 0. But we have specified"
+OUTP "which nodes are at level 0, 1 and 2, such that the root"
+OUTP "is in the center."
+OUTP ""
+./vcgcount < ../expl/levels.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/levels.vcg
+
+
+CLEAR
+OUTP "Example: Horizantal layer sorting"
+OUTP "---------------------------------"
+
+OUTP "The VCG tool reorders the nodes in the levels to avoid"
+OUTP "crossings. But sometimes, the writer of a graph specification"
+OUTP "knows a better order of the nodes into the levels."
+OUTP "He can specify this by the attribute horizontal_order at"
+OUTP "the nodes. If all nodes of a level have this attribute,"
+OUTP "the reordering of this level is suppressed."
+OUTP ""
+OUTP "Warning: this feature works only for connected graphs."
+OUTP "Nonconnected parts are layouted separately, such that"
+OUTP "the order of the nodes of a connected component is predictable",
+OUTP "at a level, but not the order of all nodes at a level."
+OUTP "Is is recommended to use this feature only together with"
+OUTP "level specifications, or at trees, where it is clear at"
+OUTP "which level a node apprears."
+OUTP ""
+OUTP "Next, we see a graph where we want to have the nodes"
+OUTP "sorted at the levels in alphabethic order."
+OUTP "Left, we see the original graph by the standard layout"
+OUTP "algorithm. Here, the ordering at the levels is arbitrary."
+OUTP "At the right side, we use the attribute horizontal_order"
+OUTP "on the same graph to yield an alphabethic ordering at the"
+OUTP "Levels."
+
+OUTP ""
+./vcgcount < ../expl/hsort.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent ../expl/hunsort.vcg &
+SLEEP 2
+MYVCG ../expl/hsort.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: Unary tree of depth 100"
+OUTP "--------------------------------"
+
+vcgdemomaker demo001.vcg -unarytree 100
+
+OUTP "This graph is very simple. All edges have class 2."
+OUTP "You can try to hide the edges, expose them or to"
+OUTP "fold regions."
+OUTP ""
+./vcgcount < demo001.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo001.vcg
+
+CLEAR
+OUTP "Example: Binary tree of depth 5"
+OUTP "-------------------------------"
+
+vcgdemomaker demo002.vcg -binarytree 5
+CAT demo002.vcg | SED -e "s/xmax/shrink: 2 &/" > demo003.vcg
+
+OUTP "This graph is very simple. All edges have class 2."
+OUTP "Ary-trees look very nice if we use a layout_downfactor."
+OUTP "Here, we used layout_downfactor: 8."
+OUTP ""
+./vcgcount < demo003.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo003.vcg
+
+CLEAR
+OUTP "Example: Binary tree of depth 5"
+OUTP "-------------------------------"
+
+CAT demo003.vcg | SED -e "s/layout_downfactor: 8/layout_downfactor: 1/" > demo004.vcg
+
+OUTP "To compare with, we show the same binary tree with"
+OUTP "layout_downfactor: 1."
+OUTP ""
+./vcgcount < demo004.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo004.vcg
+
+
+CLEAR
+OUTP "Example: Layout of trees"
+OUTP "-------------------------"
+
+OUTP "Beside the normal layout algorithm, there is a specialized"
+OUTP "algorithm TREE, that lays out trees even without specifying"
+OUTP "a layout_downfactor."
+OUTP "This specialized algorithm can be used for all graphs that"
+OUTP "can be layouted like downward trees, i.e. their edges form"
+OUTP "unshared branches."
+OUTP "This specialized algorithm is often faster than then normal."
+OUTP "algorithm with layout_downfactor."
+
+OUTP "Left, we see a syntax tree by the standard layout algorithm."
+OUTP "At the right side, we see the same tree with the specialized"
+OUTP "algorithm for trees."
+
+OUTP ""
+./vcgcount < ../expl/tree1.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent ../expl/tree1.vcg &
+SLEEP 2
+MYVCG ../expl/tree2.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: More trees"
+OUTP "-------------------"
+
+OUTP "Trees look very nice, if a special version of the manhatten"
+OUTP "layout method is used: the single line manhatten layout."
+OUTP "Here, all horizontal edge segments share the same"
+OUTP "horizontal line. If the graph is not a tree, then this"
+OUTP "will confuse the user, since it might be not anymore clear,"
+OUTP "which vertical lines are connected by the horizontal"
+OUTP "line. But for trees, it looks nice."
+
+OUTP "We see the same syntax tree as before, but now, we use the"
+OUTP "single line manhatten tree layout for the left graph."
+
+OUTP ""
+./vcgcount < ../expl/tree2.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent -dtree -smanhatten ../expl/tree1.vcg &
+SLEEP 2
+MYVCG ../expl/tree2.vcg
+SLEEP 1
+
+
+
+
+CLEAR
+OUTP "Example: Edge priorities"
+OUTP "------------------------"
+
+OUTP "Sometimes, we have a graph consisting of two intermixed"
+OUTP "graphs. Or we have one basic graph and additionally, we have"
+OUTP "edges as annotations. In these cases, we want to recognize "
+OUTP "the structure of the basic graph, but the structure is"
+OUTP "interwoven with the additional edges. But the layout is based"
+OUTP "on all edges, which may result in visualizations where "
+OUTP "the structure of the basic graph is not recognizable anymore."
+OUTP ""
+OUTP "In this case, edge priority comes in. We give the edges of"
+OUTP "the basic graph a higher priority. Then, the additional "
+OUTP "annotation edges are neglected during the layout and are"
+OUTP "drawn rather ugly, but the basic graph is visualized nicely."
+OUTP ""
+OUTP "Next, we will see a tree (thick edges) interwoven with some"
+OUTP "additional edges. Left, we show this graph by the standard"
+OUTP "layout algorithm, where the tree is not recognizable."
+OUTP "At the right side, we use priorities, and then we will recognize"
+OUTP "the tree structure."
+
+OUTP ""
+./vcgcount < ../expl/annot1.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent ../expl/annot1.vcg &
+SLEEP 2
+MYVCG -silent ../expl/annot2.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: Fisheyes"
+OUTP "-----------------"
+
+OUTP "Large graphs have normally the disadvantage that we either"
+OUTP "see the whole graph but no details, because the graph is"
+OUTP "shrinked very much, or we see some details at the point of"
+OUTP "interest but lose the overview of the entire graph structure,"
+OUTP "because the window is too small. A good solution of this"
+OUTP "conflict is the fisheye view that distorts the graph such"
+OUTP "that the focus point is magnified while the remaining parts"
+OUTP "of the graph are demagnified smoothly such that the whole"
+OUTP "graph is visible."
+OUTP "A fisheye view is a coordinate transformation and has"
+OUTP "similiarities with the corresponding photo camera lenses."
+OUTP ""
+OUTP "Next, we will see a large graph. Left, we show the graph"
+OUTP "by the standard view. Right, we see the same graph by the"
+OUTP "cartesian fisheye view. The focus point can be selected"
+OUTP "interactively by the operation Pick Position."
+
+OUTP ""
+./vcgcount < ../expl/fishex3c.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent -ypos 170 ../expl/fishex3c.vcg &
+SLEEP 2
+MYVCG -silent -xpos 518 -ypos 1790 -view cfish ../expl/fishex3b.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: Cartesian fisheyes and polar fisheyes"
+OUTP "----------------------------------------------"
+
+OUTP "Cartesian fisheyes transform the cartesian coordinate system"
+OUTP "while polar fisheyes transform the polar coordinate system."
+OUTP "A polar fisheye can be seen as a mapping of the space onto a"
+OUTP "spheric ball. The polar fisheye does not preserve horizontal"
+OUTP "and vertical lines, while the cartesian fisheye does."
+OUTP "Note that fisheyes may introduce additional bendings of lines"
+OUTP "and crossings that do not appear in the plane view."
+OUTP "However, these effects are seldom and occur due to efficiency"
+OUTP "reasons."
+OUTP ""
+OUTP "Next, we will see the same graph as before. Left, we show the"
+OUTP "graph by the polar fisheye view. Right, we see the graph again"
+OUTP "by the carthesian fisheye view."
+
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent -xpos 518 -ypos 1790 -view pfish ../expl/fishex3a.vcg &
+SLEEP 2
+MYVCG -silent -xpos 518 -ypos 1790 -view cfish ../expl/fishex3b.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: Fisheyes with fixed radius"
+OUTP "-----------------------------------"
+
+OUTP "If not the whole graph but only a fixed area around the focus"
+OUTP "point is of interest, we use the fisheyes with fixed radius."
+OUTP "Then, not the whole graph is visible but only the region around"
+OUTP "the focus point."
+OUTP "While for normal (self adaptable) fisheyes, the location of the"
+OUTP "focus point moves in the window relatively to its movement in"
+OUTP "the graph, the focus point of the fisheyes with fixed radius is"
+OUTP "always centered in the window."
+OUTP ""
+OUTP "Next, we will see a graph with fisheyes of fixed radius. Left,"
+OUTP "we show the graph by the cartesian fisheye view. Right, we see"
+OUTP "the graph again by the polar fisheye view."
+
+OUTP ""
+./vcgcount < ../expl/fishex2a.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent -xpos 2300 -ypos 253 -view fcfish ../expl/fishex2a.vcg &
+SLEEP 2
+MYVCG -silent -xpos 2300 -ypos 253 -view fpfish ../expl/fishex2b.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: Another diagram"
+OUTP "-------------------------"
+
+OUTP "This diagram (Gansner, Koutsofios, e.a.: A Technique"
+OUTP "for Drawing Graphs; IEEE Trans. Soft. Eng. 19, 3, March 93)"
+OUTP "shows the dependencies of different shells."
+OUTP "Here we see a combination of features of the VCG tool."
+OUTP "First, the graph is made connected by 3 invisible edges."
+OUTP "The priority of these edges is set to zero such that"
+OUTP "they do not influence the layout too much. As contrast,"
+OUTP "the layout_downfactor and layout_upfactor is set to 100."
+OUTP "The attribute level is used to set the nodes at the"
+OUTP "appropriate time axis. The attribute horizontal_order"
+OUTP "is used to get the time axis at the left side of the"
+OUTP "graph. Further, we have used splines for the edges."
+
+OUTP ""
+./vcgcount < ../expl/shells.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/shells.vcg
+
+
+CLEAR
+OUTP "Example: Ternary tree of depth 7"
+OUTP "---------------------------------"
+OUTP "Wait half a minute ..."
+
+vcgdemomaker demo005.vcg -ternarytree 7
+CAT demo005.vcg | SED -e "s/xmax/shrink: 2 &/" > demo006.vcg
+
+OUTP "Now a first torture test. This graph is a ternary tree"
+OUTP "with about 3000 nodes and 3000 edges."
+OUTP "We use the normal algorithm with downfactor: 8."
+OUTP "We need about 20 seconds (on a Sparc ELC) to layout it."
+OUTP "WARNING: the visualization may fail on small computers"
+OUTP " because of memory exhausted."
+OUTP ""
+./vcgcount < demo006.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo006.vcg
+
+
+CLEAR
+OUTP "Example: Two level cross graph"
+OUTP "------------------------------"
+
+vcgdemomaker demo007.vcg -twolevelcross 1000
+
+OUTP "This is a torture test for bary centering."
+OUTP "This graph is specified in an ugly format with a lot"
+OUTP "of unnecessary crossings. The tool removes these "
+OUTP "crossings."
+OUTP ""
+./vcgcount < demo007.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo007.vcg
+
+CLEAR
+OUTP "Example: Nearedge test"
+OUTP "----------------------"
+
+vcgdemomaker demo008.vcg -leveltree 4
+CAT demo008.vcg | SED -e "s/xmax/shrink: 4 &/" > demo009.vcg
+
+OUTP "This is a torture test for near edge layout."
+OUTP "This tree is has a lot of near edges, i.e. "
+OUTP "edges between nodes at the same level."
+OUTP "The nodes of a near edge should be neighboured."
+OUTP ""
+./vcgcount < demo009.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo009.vcg
+
+CLEAR
+OUTP "Example: Complete graphs"
+OUTP "------------------------"
+
+vcgdemomaker demo010.vcg -allconnect 5
+
+OUTP "The complete graph has edges between all nodes."
+OUTP "If we have n nodes, then we have about n*n/2 edges."
+OUTP "Here we test the speed of the VCG tool, because "
+OUTP "such graphs are very difficult to layout."
+OUTP "An complete graph of 5 nodes is layouted very fast."
+OUTP ""
+./vcgcount < demo010.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo010.vcg
+
+CLEAR
+OUTP "Example: Complete graphs"
+OUTP "------------------------"
+
+vcgdemomaker demo011.vcg -allconnect 10
+CAT demo011.vcg | SED -e "s/xmax/shrink: 10 stretch: 7 &/" > demo012.vcg
+
+OUTP "An complete graph of 10 nodes needs a few seconds."
+OUTP ""
+./vcgcount < demo012.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo012.vcg
+
+CLEAR
+OUTP "Example: Complete graphs"
+OUTP "------------------------"
+
+vcgdemomaker demo013.vcg -allconnect 20
+CAT demo013.vcg | SED -e "s/xmax/shrink: 100 stretch: 32 &/" > demo014.vcg
+
+OUTP "An complete graph of 20 nodes needs about 25 seconds"
+OUTP "on a Sparc ELC."
+OUTP ""
+./vcgcount < demo014.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo014.vcg
+
+CLEAR
+OUTP "Example: Complete graphs"
+OUTP "------------------------"
+
+vcgdemomaker demo015.vcg -allconnect 30
+CAT demo015.vcg | SED -e "s/xmax/shrink: 10 stretch: 2 &/" > demo016.vcg
+
+OUTP "An complete graph of 30 nodes needs about 110 seconds"
+OUTP "on a Sparc ELC."
+OUTP ""
+./vcgcount < demo016.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo016.vcg
+
+CLEAR
+OUTP "Example: Complete graphs"
+OUTP "------------------------"
+
+OUTP "If we have such complex graphs, it is often not necessary"
+OUTP "to have a nice layout, because the graphs are to large "
+OUTP "to see all details at the same time."
+OUTP "In this case, we set the fast flag (option -f) that reduces"
+OUTP "the number of iterations of various layout steps."
+OUTP "Next, we see the same complete graph of 30 nodes as before, however"
+OUTP "now the fast flag is set."
+OUTP "Then, we need only 15 seconds (compared to 100 seconds before),"
+OUTP "but the layout is very ugly."
+
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -f demo016.vcg
+
+
+CLEAR
+OUTP "Example: Intermediate representation of a compiler (HIR)"
+OUTP "--------------------------------------------------------"
+
+OUTP "The next example comes from the REAL WORLD."
+OUTP "It shows the High Intermediate Representation (HIR)"
+OUTP "of a CLaX program. It is a syntax tree annotated by"
+OUTP "types."
+OUTP "You see the procedure declarations. The main module is"
+OUTP "actually folded (see the green triangle)."
+OUTP "If you select the menu point Hide edges, you will recognize"
+OUTP "that the edge classes are named in this example."
+OUTP "We use the layout algorithm TREE."
+OUTP ""
+./vcgcount < ../expl/tstree.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "We need a few seconds to visualize this. Please wait."
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/tstree.vcg
+
+CLEAR
+OUTP "Example: Intermediate representation of a compiler (CCMIR)"
+OUTP "----------------------------------------------------------"
+
+OUTP "The next example again comes from the REAL WORLD."
+OUTP "It shows the Common Compare Medium Intermediate"
+OUTP "Representation (CCMIR) of a very simple C program."
+OUTP "This graph was generated by the ACE C frontend and a trivial"
+OUTP "additional visualization engine. The edge classes 1-5"
+OUTP "are hidden, otherwise the layout would be to ugly."
+OUTP "They can be exposed by menu selections."
+OUTP ""
+./vcgcount < ../expl/ccmir.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/ccmir.vcg
+
+
+CLEAR
+OUTP "Example: Animation demo 1 (communication by touching)"
+OUTP "-----------------------------------------------------"
+OUTP "We show a small animation that demonstrate the "
+OUTP "communication between the VCG tool and a controller "
+OUTP "program called animation3."
+OUTP "The controller program sends signals to the VCG tool."
+OUTP "The VCG tool indicates the completion of vizualization"
+OUTP "by touching its input file."
+OUTP "This demonstration shows a sequence of insertions into"
+OUTP "a red black tree. We see rotations that rebalance the tree."
+OUTP "IMPORTANT: Do not quit the VCG tool. Do not give any "
+OUTP " input (keypress, menu selection) to the VCG tool."
+OUTP " Wait ! The animation is finished automatically."
+
+OUTP ""
+OUTP "Press Carriage Return key to start the animation ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+animation3
+
+OUTP "Ready ! Press Carriage Return key to continue ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+CLEAR
+OUTP "Example: Animation demo 2 (communication by signals)"
+OUTP "----------------------------------------------------"
+OUTP "We show another small animation that demonstrate the "
+OUTP "communication between the VCG tool and a controller "
+OUTP "program called animation1."
+OUTP "The controller program sends signals to the VCG tool."
+OUTP "The VCG tool indicates the completion of vizualization"
+OUTP "by sending a signal back to the controlling program."
+OUTP "IMPORTANT: Do not quit the VCG tool. Do not give any "
+OUTP " input (keypress, menu selection) to the VCG tool."
+OUTP " Wait ! The animation is finished automatically."
+
+OUTP ""
+OUTP "Press Carriage Return key to start the animation ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+animation2
+
+OUTP "Ready ! Press Carriage Return key to finish the demonstration."
+
+
+finishup:
+CLEAR
+OUTP "This was the demonstration of the vcg tool"
+
+OUTP ""
+loopa:
+ OUTP "Should the directory be cleaned ?"
+ OUTP "1 : yes 0 : no "
+ OUTP "y : yes n : no "
+ set wsys = $<
+ switch ($wsys)
+ case y:
+ case 1:
+ OUTP "Cleanup ..."
+ OUTP "Test" > demoaaa.vcg
+ OUTP "Test" > animaaa.vcg
+ OUTP "Test" > rbtreeaaa.vcg
+ RM demo*.vcg anim*.vcg rbtree*.vcg
+ breaksw
+ case n:
+ case 0:
+ breaksw
+ default:
+ OUTP ""
+ OUTP "*** invalid input ***"
+ goto loopa
+ endsw
+OUTP "Goodbye ..."
+
diff --git a/vcg/files/globals.h b/vcg/files/globals.h
new file mode 100644
index 0000000..40ffa0f
--- /dev/null
+++ b/vcg/files/globals.h
@@ -0,0 +1,433 @@
+/* SCCS-info %W% %E% */
+
+/*--------------------------------------------------------------------*/
+/* */
+/* VCG : Visualization of Compiler Graphs */
+/* -------------------------------------- */
+/* */
+/* file: globals.h */
+/* version: 1.00.00 */
+/* creation: 1.4.1993 */
+/* author: I. Lemke (...-Version 0.99.99) */
+/* G. Sander (Version 1.00.00-...) */
+/* Universitaet des Saarlandes, 66041 Saarbruecken */
+/* ESPRIT Project #5399 Compare */
+/* description: Global definitions and setup */
+/* status: in work */
+/* */
+/*--------------------------------------------------------------------*/
+
+/* $NetBSD: globals.h,v 1.4 2013/04/14 00:15:27 dholland Exp $ */
+/* FreeBSD Id: globals.h,v 1.1.1.1 1995/02/19 09:25:43 hsu Exp $ */
+
+/*
+ * Copyright (C) 1993--1995 by Georg Sander, Iris Lemke, and
+ * the Compare Consortium
+ *
+ * This program and documentation is free software; you can redistribute
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * The software is available per anonymous ftp at ftp.cs.uni-sb.de.
+ * Contact sander%cs.uni-sb.de@localhost for additional information.
+ */
+
+
+/*
+ * $Log: globals.h,v $
+ * Revision 1.4 2013/04/14 00:15:27 dholland
+ * Use c89; fix void main; preliminary LP64 fixes (a lot more likely required)
+ *
+ * Revision 1.3 1999/06/13 13:06:08 sakamoto
+ * Fix FreeBSD RCS Id,Log.
+ *
+ * Revision 1.2 1999/06/13 12:54:19 sakamoto
+ * Adapt this package to NetBSD.
+ *
+ * Revision 1.1.1.1 1995/02/19 09:25:43 hsu
+ * vcg - a visualization tool for compiler graphs
+ *
+ * Submitted by: Philippe Charnier <charnier%lirmm.fr@localhost>
+ *
+# Revision 3.7 1994/11/23 14:50:47 sander
+# #include <limits.h> added to get MAX_INT and MIN_INT.
+#
+# Revision 3.6 1994/08/08 16:01:47 sander
+# Attributes xraster, xlraster, yraster added.
+#
+# Revision 3.5 1994/08/02 15:36:12 sander
+# CHECKNODE option added to allow tracing of properties
+# of one single node. For debugging only.
+#
+# Revision 3.4 1994/06/07 14:09:59 sander
+# Splines implemented.
+# HP-UX, Linux, AIX, Sun-Os, IRIX compatibility tested.
+# The tool is now ready to be distributed.
+#
+# Revision 3.3 1994/05/16 08:56:03 sander
+# shape attribute (boxes, rhombs, ellipses, triangles) added.
+#
+# Revision 3.2 1994/03/02 11:48:54 sander
+# Layoutalgoritms mindepthslow, maxdepthslow, minindegree, ... mandegree
+# added.
+# Anchors and nearedges are not anymore allowed to be intermixed.
+# Escapes in strings are now allowed.
+#
+# Revision 3.1 1994/03/01 10:59:55 sander
+# Copyright and Gnu Licence message added.
+# Problem with "nearedges: no" and "selfloops" solved.
+#
+# Revision 1.2 1994/01/21 19:43:42 sander
+# New started with release 1.2 from the scratch.
+# Old and useless comments removed.
+#
+ *
+ */
+
+/* This file contains the setup of the tool for the C compiler.
+ * It is included into every other C file.
+ * Please adapt corresponding to your configuration.
+ */
+
+#ifndef GLOBALS_H
+#define GLOBALS_H
+
+/*------------- Please change according to your configuration --------*/
+
+/* Ansi C compiler or K&R C compiler ?
+ * Mainly, this causes to use prototypes or not. Note that the Suntool
+ * include files on some systems are Non-Ansi and may cause confusion.
+ * See the corresponding comments in the Makefile.
+ * Ansi C compiler set __STDC__, but Non-Ansi compilers may set this, too.
+ * Thus we use our own flag ANSI_C.
+ */
+
+/* #ifdef __STDC__==1
+ * #define ANSI_C
+ * #endif
+ */
+
+/* #define ANSI_C */
+/* #undef ANSI_C */
+#define ANSI_C
+
+/* The Gnu CC sometimes does not have a standard library.
+ * In this case, the include files might be wrong.
+ * To get fewer messages on -Wall, define NO_STDINCLUDES
+ * with Gnu CC.
+ */
+
+#undef NO_STDINCLUDES
+
+
+/* User Signals available or not ?
+ * Unix provides signals SIGUSR1 and SIGUSR2 (30, 31), which are used
+ * to control animations from external. If signal() or free signals are
+ * not available (e.g. on Non-Unix systems), then undefine USR_SIGNAL.
+ */
+
+#define USR_SIGNAL
+/* #undef USR_SIGNAL */
+
+
+/* Good quicksort available or not ?
+ * If there exist a good randomized quicksort `qsort' in the library,
+ * please use it. But if the quicksort in the library is slow, or not
+ * randomized, define OWN_QUICKSORT. We often have to sort presorted
+ * arrays.
+ * Note: If OWN_QUICKSORT is defined, not all calls of `qsort' are
+ * exchanged, but only the critical ones.
+ */
+
+/* #undef OWN_QUICKSORT */
+#define OWN_QUICKSORT
+
+
+/* Window system Sunview or X11 ?
+ * Sunview is fast, but does not support remote window displaying.
+ * X11 (R5) is a little bit slower, but supports remote display.
+ * Do not define both !!!
+ */
+
+/* #define SUNVIEW */
+/* #undef X11 */
+/* #undef SUNVIEW */
+/* #define X11 */
+#define X11
+
+
+/* Required alignment for structs (power of 2). IALIGN is the appropriate
+ * bit mask to generate the alignment. Because we use floats in structs,
+ * mostly an alignment of 8 is appropriate.
+ */
+
+#ifndef ALIGN
+/* #define ALIGN 8 */
+#define ALIGN 8
+#endif
+
+#ifndef IALIGN
+#define IALIGN (ALIGN-1)
+#endif
+
+
+/* Memory block size for memory allocation in bytes. The allocation
+ * mechanism allocates blocks of this size, and dynamically increases
+ * the number of blocks, if more memory is necessary.
+ * Do not set the blocksize too small. For instance the tool does not
+ * work with blockssize less than 1 KB. Propose for good performance:
+ * 256 KB minimal.
+ */
+
+/* Blocks of 1 Megabyte */
+
+/* #define MEMBLOCKSIZE 1048576 */
+#define MEMBLOCKSIZE 1048576
+
+
+/* The default font for X11. Not needed at the Sunview installation.
+ * Please insert an appropriate font of about 14 to 17 dot size.
+ */
+
+#ifdef X11
+#define VCG_DEFAULT_FONT "-*-courier-*-*-*--14-*-*-*-*-*-*-*"
+#endif
+
+
+/* Whether the input focus grab is actively or not.
+ * If NOINPUTFOCUS, the VCG tool does not grab actively the input
+ * focus. Depending on the window manager, this may cause that
+ * the keypresses are ignored afterwards, unless the mouse pointer
+ * is once moved out of the window and back into it.
+ * On the other side, some installations cause a fatal error or
+ * strange behaviour, if the VCG tool actively grabs the input
+ * focus.
+ * The conservative definement is #define NOINPUTFOCUS.
+ */
+
+#ifdef X11
+#define NOINPUTFOCUS
+#endif
+
+
+/* Debugging On or Off ?
+ * We have three kinds of debugging:
+ * a) Behaviour tracing: a lot of messages nearly on every
+ * function entry are produced if DEBUG is switched on.
+ * b) Assertion checking: only if an assertion fails, an
+ * appropriate message is produced.
+ * c) Node tracing: This is basically the same as the behaviour
+ * tracing. At each function entry, the status of a node
+ * will be printed. This happens if CHECKNODE is defined.
+ * See step0 for the selection of the node to be traced.
+ * Behaviour or node tracing is only needed in very serious cases.
+ * The macros "debuggingmessage" can be redefined to do some special
+ * tests on every entry.
+ * Assertion checking can always be done, because it is silent
+ * as long as no error occurs. But it consumes runtime.
+ * This all can also be defined in the head of a module before
+ * #include "globals.h", to debug only this module.
+ */
+
+/* for internal debugging */
+#undef DEBUG
+#undef CHECKNODE
+/* for assertion checking at runtime */
+#define CHECK_ASSERTIONS
+
+
+/*
+ * If you prefer the system assert.h, then define ASSERT_AVAIL.
+ */
+
+/* #define ASSERT_AVAIL */
+#undef ASSERT_AVAIL
+
+/* Check and printout the timing of phases.
+ * If CHECK_TIMING is defined, time measurement is done at some
+ * critical points. This is only for me, to fine tune the
+ * preformance. (GS)
+ */
+
+#undef CHECK_TIMING
+
+/*---------------------------- End of Changes ------------------------*/
+
+/* Maximal and minimal positive integer */
+
+#include <limits.h>
+
+#ifndef MAXINT
+#ifdef INT_MAX
+#define MAXINT INT_MAX
+#else
+#define MAXINT 32767
+#endif
+#endif
+
+#ifndef MININT
+#ifdef INT_MIN
+#define MININT INT_MIN
+#else
+#define MININT -32767
+#endif
+#endif
+
+#ifndef MAXLONG
+#ifdef LONG_MAX
+#define MAXLONG LONG_MAX
+#else
+#define MAXLONG 32767
+#endif
+#endif
+
+#ifndef MINLONG
+#ifdef LONG_MIN
+#define MINLONG LONG_MIN
+#else
+#define MINLONG -32767
+#endif
+#endif
+
+
+/* Prototype support */
+
+#ifdef ANSI_C
+#define _PP(x) x
+#else
+#define _PP(x) ()
+#endif
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+/* Aix CC and OSF does not understand const's */
+
+#ifdef OSF
+#define const
+#endif
+#ifdef AIXCC
+#define const
+#endif
+
+/* Default Window system is X11 */
+
+#ifdef SUNVIEW
+#ifdef X11
+#undef SUNVIEW
+#endif
+#else
+#ifndef X11
+#define X11
+#endif
+#endif
+
+#ifdef X11
+#define FAST_X11_DRAWING
+#endif
+
+/* Debugging messages */
+
+#ifdef DEBUG
+#define debugmessage(a,b) {FPRINTF(stderr,"Debug: %s %s\n",a,b);}
+#else
+#define debugmessage(a,b) /**/
+#endif
+
+#ifdef CHECKNODE
+#define DEBUG
+#undef debugmessage
+#define debugmessage(a,b) { \
+ FPRINTF(stderr,"Debug: %s %s &",a,b); \
+ if (debug_checknode) \
+ FPRINTF(stderr,"Checknode: |%s|\n",NTITLE(debug_checknode)); \
+ FPRINTF(stderr,"\n"); \
+}
+#endif
+
+/* Assertions */
+
+#ifndef CHECK_ASSERTIONS
+#define NDEBUG
+#endif
+#ifdef DEBUG
+#undef NDEBUG
+#endif
+
+#ifdef ASSERT_AVAIL
+#include <assert.h>
+#else
+# ifndef NDEBUG
+# define assert(ex) {if (!(ex)) {\
+ FPRINTF(stderr,"Assertion failed: file \"%s\", line %d\n",\
+ __FILE__, __LINE__); \
+ FPRINTF(stderr,"This is a bug! Please contact sander%cs.uni-sb.de@localhost !\n");\
+ exit(1);}}
+# else
+# define assert(ex)
+# endif
+# endif
+
+
+/* To make lint happy */
+
+#define PRINTF (void)printf
+#define FPRINTF (void)fprintf
+#define SPRINTF (void)sprintf
+#define FCLOSE (void)fclose
+#define FFLUSH (void)fflush
+#define FREE (void)free
+
+/* To make ANSI C compiler with -Wall more happy */
+
+#ifdef ANSI_C
+#ifdef NO_STDINCLUDES
+int fprintf(FILE *stream, const char *format, ...);
+int printf(const char *format, ...);
+int scanf(const char *format, ...);
+int atoi(char *x);
+double atof(char *x);
+int islower(int s);
+int isupper(int s);
+int tolower(int s);
+int toupper(int s);
+void bcopy(void *b1,void *b2,int length);
+int fputs(const char *s, FILE *stream);
+size_t fwrite(const void *ptr, size_t s, size_t n, FILE *stream);
+int fclose(FILE *stream);
+FILE *fopen(const char *filename, const char *mode);
+void system(char *string);
+int fflush(FILE *stream);
+int getppid(void);
+#ifdef X11
+char *getwd(char pn[]);
+#endif
+int fgetc(FILE *stream);
+#endif
+#endif
+
+#define gstoint(x) ((int)(x))
+#ifdef HPUX
+#define alloca(x) (malloc(x))
+#define getwd(h) (getcwd(h,MAXPATHLEN-1))
+#endif
+
+#ifdef VMS
+#define alloca(x) (malloc(x))
+#endif
+
+/*--------------------------------------------------------------------*/
+
+#endif /* GLOBALS_H */
+
diff --git a/vcg/files/tMakefile b/vcg/files/tMakefile
new file mode 100644
index 0000000..9c89d0b
--- /dev/null
+++ b/vcg/files/tMakefile
@@ -0,0 +1,378 @@
+# SCCS-info %W% %E%
+#
+# /*--------------------------------------------------------------------*/
+# /* */
+# /* VCG : Visualization of Compiler Graphs */
+# /* -------------------------------------- */
+# /* */
+# /* file: tMakefile.tpl */
+# /* version: 1.00.00 */
+# /* creation: 1.4.1993 */
+# /* author: I. Lemke (...-Version 0.99.99) */
+# /* G. Sander (Version 1.00.00-...) */
+# /* Universitaet des Saarlandes, W-66041 Saarbruecken */
+# /* ESPRIT Project #5399 Compare */
+# /* description: Top level Makefile */
+# /* status: in work */
+# /* */
+# /*--------------------------------------------------------------------*/
+#
+# $NetBSD: tMakefile,v 1.6 2010/02/03 22:22:53 joerg Exp $
+# FreeBSD Id: tMakefile,v 1.1.1.1 1995/02/19 09:25:45 hsu Exp $
+#
+# FreeBSD Log: tMakefile,v $
+# Revision 1.1.1.1 1995/02/19 09:25:45 hsu
+# vcg - a visualization tool for compiler graphs
+#
+# Submitted by: Philippe Charnier <charnier%lirmm.fr@localhost>
+#
+#
+
+#========================= CHANGE AREA =========================
+
+# Please update the change area according to your system.
+# NOTE: you must also adapt the file src/globals.h and demo/demo.csh
+# accordingly.
+
+SHELL = /bin/sh
+
+# where the binaries go
+# BINDIR = /usr/local/bin/
+# BINDIR = /RW/esprit/users/sander/PUBLIC/CMD/
+BINDIR = ${DESTDIR}${PREFIX}/bin
+
+# where the manual pages go
+# MANDIR = /usr/local/man/manl/
+# MANDIR = /RW/esprit/users/sander/PUBLIC/MAN/
+MANDIR = ${DESTDIR}${PREFIX}/${PKGMANDIR}/manl
+
+# what the manual extension is
+MANEXT = l
+
+# how the VCG tool should be called
+# For the Sunview version I use the name vcg.
+# For the X11 version I prefer the name xvcg.
+# VCGTOOL = vcg
+# VCGTOOL = xvcg
+VCGTOOL = xvcg
+
+# Note: you can test the tool before it is installed.
+# Thus we need the path of the tool for the tests.
+# It may also be the path of the tool after installation.
+# Then use
+VCGCALL = $(BINDIR)/$(VCGTOOL)
+#
+# Used during the demoanimations:
+# where the vcg is during the tests.
+# Please enter the absolute path to the VCG-tool.
+# VCGCALL = /usr/local/bin/vcg
+# VCGCALL = /RW/esprit/users/sander/PUBLIC/CMD/$(VCGTOOL)
+
+#-------------------------- Flags ------------------------------
+
+# Flags for the C compiler
+# Important: Do not use -Dlint with gcc. This causes confusion
+# during linking (!!!), e.g. some undefined messages.
+#CFLAGS = -O -finline-functions
+#CFLAGS = -O -finline-functions -DDRAWLIB_TOO_LARGE
+#CFLAGS = -g -finline-functions -Wall
+#
+# Do not use -O -finline-functions for FreeBSD, or you really have a lot
+# of swap for compiling drawstr.c.
+CFLAGS = -c -O2 -pipe
+
+# Flags for debugging
+DFLAGS =
+
+# Flags for the C linker
+#CLINKFLAGS = -Bstatic -o
+CLINKFLAGS = -o
+
+# Include directories
+# If you use gcc, it may happen that not all ANSI header files
+# are on the right place. Example: we often have problems to
+# find stdarg.h. Look for this file and add the directory here,
+# e.g.:
+# INCLUDES = /usr/local/include/gnuansi/
+#
+# For Sunview, this should be enough, because on Suns, Sunview
+# is normally installed in standard directories:
+# INCLUDES =
+#
+# For X11, it depends where it is installed. Look for Xlib.h,
+# Xproto.h or Xutil.h.
+# For instance, if you find /usr/local/X11/include/X11/Xlib.h
+# then please use
+# INCLUDES = -I/usr/local/X11/include/
+# INCLUDES = -I/RW/esprit/X11R5/include/
+INCLUDES = -I${X11BASE}/include/
+
+# Library directories
+# For Sunview, this should be enough, because on Suns, Sunview
+# is normally installed in standard directories:
+# LIBPATH =
+#
+# For X11, it depends where it is installed. Look for libX.a,
+# or libX11.so.<version_number>, or libXext.a, etc.
+# For instance, if you find /usr/local/X11/lib/libX11.a
+# then please use
+# LIBPATH = -L/usr/local/X11/lib/
+# LIBPATH = -L/RW/esprit/X11R5/lib/
+LIBPATH = -L${X11BASE}/lib/
+
+# Libraries
+# Libraries for SunView
+# LIBRARIES = -lsuntool -lsunwindow -lpixrect -lm
+#
+# Libraries for X11
+# LIBRARIES = -lXext -lX11 -lm
+LIBRARIES = -lXext -lX11 -lm
+
+#-------------------------- Tools ------------------------------
+
+# C compiler
+# CC = gcc -pipe
+CC = cc
+
+# C linker
+# CCLINK = gcc -static
+CCLINK = cc
+
+# If you use gcc and the sun driver, you need the normal sun
+# preprocessor because of incompatibilities of the system libraries
+CPP = $(CC) -E
+
+# If you dont need a special preprocessor, change the .c.o rule or
+# define this:
+#CPP = cat
+
+# Install software. You can use /bin/cp instead of /bin/install.
+# I prefer that binaries are stripped.
+# For directories:
+# INSTALLDIR = /bin/install -d -m 755
+INSTALLDIR = /bin/mkdir -p
+
+# For binary files:
+# Assume that you want to install s file called dummy.
+# INSTALL = /bin/install -s -m 755 dummy $(BINDIR)/dummy
+INSTALL = /usr/bin/install -c -s -m 755 dummy $(BINDIR)/dummy
+
+# For manual pages:
+# Assume that you want to install s file called dummy.
+# INSTALLMAN = /bin/install -m 644 dummy $(MANDIR)/dummy
+INSTALLMAN = /usr/bin/install -c -m 644 dummy $(MANDIR)/dummy
+
+# To make the documentation
+LATEX = latex
+
+# To make the short documentation using big-latex
+BIGLATEX = not_available
+
+# For the pictures, we need some transfig-tools.
+# If the files doc/foldpath.tex, doc/foldpath.ps,
+# doc/foldtree.tex, doc/foldtree.ps, doc/hideedge.tex,
+# doc/hideedge.ps, doc/window.tex, doc/window.ps
+# are available, we do not need this.
+#
+TRANSFIGTEX = fig2ps2tex
+TRANSFIGPS = fig2dev
+
+
+# The tools CHECKOUT, CHECKEDIT and CHECKIN are not needed unless
+# you want to develop, change or maintain the VCG tool sources
+# under control of RCS.
+
+# RCS check out shellscript (normally not needed)
+CHECKOUT = co
+
+# RCS check edit shellscript (normally not needed)
+CHECKEDIT = ce
+
+# RCS check in shellscript (normally not needed)
+CHECKIN = ci
+
+# parser pregenerator. If the files src/grammar.y and src/grammar.l
+# are available, you don't need this.
+PARSEGEN = parsegen
+
+# lex-compatible scanner generator
+LEX = not_needed
+
+# yacc-compatible parser generator. Currently, it does not work
+# with yacc because some bison features are used directly.
+YACC = not_needed
+
+# Make
+# MAKE = make
+MAKE = make
+
+# MakeDepend (should understand the -f option)
+# DEPEND = makedepend
+DEPEND = makedepend
+
+# Streameditor
+# SED = /bin/sed
+SED = /usr/bin/sed
+
+# Move File
+# MV = /bin/mv
+MV = /bin/mv
+
+# Link Files (or Copy them)
+# LN = /bin/ln -s
+LN = /bin/ln
+
+# Remove File
+# RM = /bin/rm
+RM = /bin/rm
+
+# Change directory
+CD = cd
+
+# Touch file
+# TOUCH = touch
+TOUCH = /usr/bin/touch
+
+#==================== END OF CHANGE AREA ======================
+
+#-------------------------- Files ------------------------------
+
+# Directories
+DIRECTORIES = src man demo doc expl
+
+# The tarfiles of subdirectories, to make a distribution
+SUBTARFILES = src/vcg.tar man/manpages.tar demo/demo.tar doc/doc.tar \
+ expl/expl.tar
+
+# These files are generated, but included into a distribution.
+# They are in the directory preconf.
+
+GEN_DISTFILES = tMakefile src/globals.h demo/demo.csh
+
+
+# Directories where we have something to make
+MAKEDIRS = src demo man doc
+
+# Directories where we have something to install
+INSTDIRS = src demo man doc
+
+#-------------------------- Rules ------------------------------
+
+MAKEARGUS = \
+ SHELL="$(SHELL)" \
+ BINDIR="$(BINDIR)" \
+ MANDIR="$(MANDIR)" \
+ MANEXT="$(MANEXT)" \
+ VCGTOOL="$(VCGTOOL)" \
+ VCGCALL="$(VCGCALL)" \
+ CFLAGS="$(CFLAGS)" \
+ CLINKFLAGS="$(CLINKFLAGS)" \
+ DFLAGS="$(DFLAGS)" \
+ INCLUDES="$(INCLUDES)" \
+ LIBPATH="$(LIBPATH)" \
+ LIBRARIES="$(LIBRARIES)" \
+ CC="$(CC)" \
+ CCLINK="$(CCLINK)" \
+ CPP="$(CPP)" \
+ LATEX="$(LATEX)" \
+ BIGLATEX="$(BIGLATEX)" \
+ TRANSFIGTEX="$(TRANSFIGTEX)" \
+ TRANSFIGPS="$(TRANSFIGPS)" \
+ INSTALLDIR="$(INSTALLDIR)" \
+ INSTALL="$(INSTALL)" \
+ INSTALLMAN="$(INSTALLMAN)" \
+ CHECKOUT="$(CHECKOUT)" \
+ CHECKEDIT="$(CHECKEDIT)" \
+ CHECKIN="$(CHECKIN)" \
+ PARSEGEN="$(PARSEGEN)" \
+ LEX="$(LEX)" \
+ YACC="$(YACC)" \
+ MAKE="$(MAKE)" \
+ DEPEND="$(DEPEND)" \
+ SED="$(SED)" \
+ MV="$(MV)" \
+ LN="$(LN)" \
+ RM="$(RM)" \
+ CD="$(CD)" \
+ TOUCH="$(TOUCH)"
+
+all: stamp-src stamp-demo stamp-doc stamp-shortdoc
+
+stamp-src: src
+ ($(CD) src; $(MAKE) $(MAKEARGUS))
+ $(TOUCH) stamp-src
+
+stamp-demo: demo
+ ($(CD) demo; $(MAKE) $(MAKEARGUS))
+ $(TOUCH) stamp-demo
+
+stamp-doc: doc
+ ($(CD) doc; $(MAKE) $(MAKEARGUS))
+ $(TOUCH) stamp-doc
+
+stamp-shortdoc: doc
+ ($(CD) doc; $(MAKE) $(MAKEARGUS) short)
+ $(TOUCH) stamp-shortdoc
+
+demonstration: test
+
+documentation: doc
+
+shortdocu: stamp-shortdoc
+
+install: stamp-src stamp-demo
+ for i in $(INSTDIRS) ;\
+ do \
+ ($(CD) $$i; $(MAKE) $(MAKEARGUS) install); \
+ done
+
+test: stamp-src stamp-demo
+ ($(CD) demo; csh demo.csh);
+
+clean:
+ for i in $(MAKEDIRS) ;\
+ do \
+ ($(CD) $$i; $(MAKE) RM="$(RM)" clean); \
+ done
+ $(RM) -f stamp-* core
+
+veryclean:
+ for i in $(MAKEDIRS) ;\
+ do \
+ ($(CD) $$i; $(MAKE) RM="$(RM)" veryclean); \
+ done
+ $(RM) -f stamp-* core
+
+targetclean:
+ for i in $(MAKEDIRS) ;\
+ do \
+ ($(CD) $$i; $(MAKE) RM="$(RM)" targetclean); \
+ done
+ $(RM) -f stamp-* core
+
+distclean:
+ for i in $(MAKEDIRS) ;\
+ do \
+ ($(CD) $$i; $(MAKE) RM="$(RM)" distclean); \
+ done
+ $(RM) -f stamp-* core
+
+depend:
+ for i in $(MAKEDIRS) ;\
+ do \
+ ($(CD) $$i; $(MAKE) $(MAKEARGUS) depend); \
+ done
+
+tar: tMakefile Makefile $(DIRECTORIES)
+ for i in $(DIRECTORIES) ;\
+ do \
+ ($(CD) $$i; $(MAKE) $(MAKEARGUS) dist); \
+ done
+ tar -cf vcgcomplete.tar README README.SYS COPYING \
+ demotrue config tMakefile.tpl Makefile preconf $(SUBTARFILES)
+
+
+dist: tar
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
diff --git a/vcg/patches/patch-aa b/vcg/patches/patch-aa
new file mode 100644
index 0000000..ec23c65
--- /dev/null
+++ b/vcg/patches/patch-aa
@@ -0,0 +1,13 @@
+$NetBSD: patch-aa,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 16:56:11
++++ demo/Makefile 1995/02/18 16:57:11
+@@ -124,7 +124,7 @@
+
+ # Generated Other - Files
+ GOFILES = animfile1.vcg animfile2.vcg rbtree.vcg
+-
++
+ # Object - Files
+ OFILES = animation1.o animation2.o pbmrot90.o pbmshift.o vcgdemomaker.o \
+ animation3.o vcgcount.o pbm2hp.o
diff --git a/vcg/patches/patch-ab b/vcg/patches/patch-ab
new file mode 100644
index 0000000..8cafec3
--- /dev/null
+++ b/vcg/patches/patch-ab
@@ -0,0 +1,22 @@
+$NetBSD: patch-ab,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 16:57:50
++++ doc/Makefile 1995/02/18 16:58:35
+@@ -72,7 +72,7 @@
+
+
+ # RCS Version control stuff
+-
++
+ $(SOURCES):
+ $(CHECKOUT) $@
+
+@@ -87,7 +87,7 @@
+
+ clean:
+ $(RM) -f *.aux *.toc *.log *.lof *.lot *.spell tmp* core
+-
++
+ veryclean: clean
+ $(RM) -f *.dvi
+
diff --git a/vcg/patches/patch-ac b/vcg/patches/patch-ac
new file mode 100644
index 0000000..885c28f
--- /dev/null
+++ b/vcg/patches/patch-ac
@@ -0,0 +1,47 @@
+$NetBSD: patch-ac,v 1.3 2013/04/14 00:15:27 dholland Exp $
+
+- use standard headers
+- use <ctype.h> functions correctly
+
+--- src/preconf/y.tab.c.orig 1995-02-08 18:40:18.000000000 +0000
++++ src/preconf/y.tab.c
+@@ -443,7 +443,7 @@ extern YY_CHAR *yytext;
+
+ #ifndef YY_MALLOC_DECL
+ #define YY_MALLOC_DECL
+-#include <malloc.h>
++#include <stdlib.h>
+ #endif
+
+ #undef YYVALGLOBAL
+@@ -5755,8 +5755,8 @@ char *mesge;
+ #endif
+ {
+ strcpy(myprivmessage,mesge);
+- if (islower(*myprivmessage))
+- *myprivmessage = toupper(*myprivmessage);
++ if (islower((unsigned char)*myprivmessage))
++ *myprivmessage = toupper((unsigned char)*myprivmessage);
+ FPRINTF(stderr,"Syntax error (%s: l:%d p:%d): %s !\n",
+ filename,line,pos,myprivmessage);
+ nr_errors++;
+@@ -5781,8 +5781,8 @@ char *mesge;
+ #endif
+ {
+ strcpy(myprivmessage,mesge);
+- if (islower(*myprivmessage))
+- *myprivmessage = toupper(*myprivmessage);
++ if (islower((unsigned char)*myprivmessage))
++ *myprivmessage = toupper((unsigned char)*myprivmessage);
+ FPRINTF(stderr,"Warning (%s: l:%d p:%d): %s !\n",
+ filename,line,pos,myprivmessage);
+ }
+@@ -5812,7 +5812,7 @@ static char *stdpc_id_string="$Id: stdpc
+
+
+ #include <stdio.h>
+-#include <malloc.h>
++#include <stdlib.h>
+ #ifdef ANSI_C
+ #include <stdarg.h>
+ #else
diff --git a/vcg/patches/patch-ad b/vcg/patches/patch-ad
new file mode 100644
index 0000000..cbf51b7
--- /dev/null
+++ b/vcg/patches/patch-ad
@@ -0,0 +1,22 @@
+$NetBSD: patch-ad,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 17:09:45
++++ src/preconf/lex.yy.c 1995/02/18 17:21:39
+@@ -1665,7 +1665,7 @@
+
+ #ifndef YY_MALLOC_DECL
+ #define YY_MALLOC_DECL
+-#include <malloc.h>
++#include <stdlib.h>
+ #endif
+
+ #undef YYVALGLOBAL
+@@ -5256,7 +5256,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
+-#include <malloc.h>
++#include <stdlib.h>
+
+ /* Global Variables */
+ /*------------------*/
diff --git a/vcg/patches/patch-ae b/vcg/patches/patch-ae
new file mode 100644
index 0000000..9478a2a
--- /dev/null
+++ b/vcg/patches/patch-ae
@@ -0,0 +1,18 @@
+$NetBSD: patch-ae,v 1.3 1999/09/14 11:07:58 sakamoto Exp $
+
+--- src/Makefile.orig Wed Feb 8 20:35:38 1995
++++ src/Makefile Tue Sep 14 14:50:31 1999
+@@ -187,5 +187,5 @@
+ # Generated Other - Files
+ GOFILES = grammar.l grammar.y
+-
++
+ # Object - Files
+ OFILES = y.tab.o lex.yy.o main.o options.o alloc.o step0.o folding.o \
+@@ -214,5 +214,5 @@
+
+ $(VCGTOOL): $(OFILES)
+- $(CCLINK) $(CLINKFLAGS) $(VCGTOOL) $(OFILES) $(LIBPATH) $(LIBRARIES)
++ $(CCLINK) $(CLINKFLAGS) $(VCGTOOL) $(OFILES) $(LIBPATH) $(LDFLAGS) $(LIBRARIES)
+
+ .SUFFIXES: .c .o
diff --git a/vcg/patches/patch-af b/vcg/patches/patch-af
new file mode 100644
index 0000000..df807dd
--- /dev/null
+++ b/vcg/patches/patch-af
@@ -0,0 +1,13 @@
+$NetBSD: patch-af,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 17:44:23
++++ src/main.c 1995/02/18 17:44:52
+@@ -147,7 +147,7 @@
+
+ #ifdef X11
+
+-#include <X11/Xos.h>
++/*#include <X11/Xos.h>*/
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
diff --git a/vcg/patches/patch-ag b/vcg/patches/patch-ag
new file mode 100644
index 0000000..c616efc
--- /dev/null
+++ b/vcg/patches/patch-ag
@@ -0,0 +1,13 @@
+$NetBSD: patch-ag,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 17:48:32
++++ src/X11dev.c 1995/02/18 17:48:52
+@@ -181,7 +181,7 @@
+
+ #ifdef X11
+
+-#include <X11/Xos.h>
++/*#include <X11/Xos.h>*/
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
diff --git a/vcg/patches/patch-ah b/vcg/patches/patch-ah
new file mode 100644
index 0000000..a589ddc
--- /dev/null
+++ b/vcg/patches/patch-ah
@@ -0,0 +1,13 @@
+$NetBSD: patch-ah,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 17:48:53
++++ src/X11devcl.c 1995/02/18 17:49:10
+@@ -115,7 +115,7 @@
+
+ #ifdef X11
+
+-#include <X11/Xos.h>
++/*#include <X11/Xos.h>*/
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
diff --git a/vcg/patches/patch-ai b/vcg/patches/patch-ai
new file mode 100644
index 0000000..7d1622e
--- /dev/null
+++ b/vcg/patches/patch-ai
@@ -0,0 +1,13 @@
+$NetBSD: patch-ai,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 17:49:10
++++ src/X11devfe.c 1995/02/18 17:49:26
+@@ -85,7 +85,7 @@
+
+ #ifdef X11
+
+-#include <X11/Xos.h>
++/*#include <X11/Xos.h>*/
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
diff --git a/vcg/patches/patch-aj b/vcg/patches/patch-aj
new file mode 100644
index 0000000..200fb1c
--- /dev/null
+++ b/vcg/patches/patch-aj
@@ -0,0 +1,22 @@
+$NetBSD: patch-aj,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 17:49:27
++++ src/X11devfs.c 1995/02/18 18:03:42
+@@ -107,7 +107,7 @@
+
+ #ifdef X11
+
+-#include <X11/Xos.h>
++/*#include <X11/Xos.h>*/
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
+@@ -128,7 +128,7 @@
+ #else
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-#include <sys/param.h>
++/*#include <sys/param.h> */
+ #include <dirent.h>
+ #include <grp.h>
+ #include <pwd.h>
diff --git a/vcg/patches/patch-ak b/vcg/patches/patch-ak
new file mode 100644
index 0000000..2e2b9db
--- /dev/null
+++ b/vcg/patches/patch-ak
@@ -0,0 +1,13 @@
+$NetBSD: patch-ak,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 17:49:42
++++ src/X11devla.c 1995/02/18 17:49:58
+@@ -122,7 +122,7 @@
+
+ #ifdef X11
+
+-#include <X11/Xos.h>
++/*#include <X11/Xos.h>*/
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
diff --git a/vcg/patches/patch-al b/vcg/patches/patch-al
new file mode 100644
index 0000000..6266a92
--- /dev/null
+++ b/vcg/patches/patch-al
@@ -0,0 +1,13 @@
+$NetBSD: patch-al,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 17:49:58
++++ src/X11devpb.c 1995/02/18 17:50:16
+@@ -115,7 +115,7 @@
+
+ #ifdef X11
+
+-#include <X11/Xos.h>
++/*#include <X11/Xos.h>*/
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
diff --git a/vcg/patches/patch-am b/vcg/patches/patch-am
new file mode 100644
index 0000000..fa87526
--- /dev/null
+++ b/vcg/patches/patch-am
@@ -0,0 +1,13 @@
+$NetBSD: patch-am,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 17:50:17
++++ src/X11devst.c 1995/02/18 17:50:33
+@@ -68,7 +68,7 @@
+
+ #ifdef X11
+
+-#include <X11/Xos.h>
++/*#include <X11/Xos.h>*/
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
diff --git a/vcg/patches/patch-an b/vcg/patches/patch-an
new file mode 100644
index 0000000..85cacec
--- /dev/null
+++ b/vcg/patches/patch-an
@@ -0,0 +1,13 @@
+$NetBSD: patch-an,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 17:50:34
++++ src/X11devti.c 1995/02/18 17:50:48
+@@ -111,7 +111,7 @@
+
+ #ifdef X11
+
+-#include <X11/Xos.h>
++/*#include <X11/Xos.h>*/
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
diff --git a/vcg/patches/patch-ao b/vcg/patches/patch-ao
new file mode 100644
index 0000000..fbcb618
--- /dev/null
+++ b/vcg/patches/patch-ao
@@ -0,0 +1,13 @@
+$NetBSD: patch-ao,v 1.2 1999/06/13 12:54:19 sakamoto Exp $
+
+--- 1.1 1995/02/18 17:50:49
++++ src/X11devvw.c 1995/02/18 17:51:04
+@@ -87,7 +87,7 @@
+
+ #ifdef X11
+
+-#include <X11/Xos.h>
++/*#include <X11/Xos.h>*/
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
diff --git a/vcg/patches/patch-ap b/vcg/patches/patch-ap
new file mode 100644
index 0000000..3e068b6
--- /dev/null
+++ b/vcg/patches/patch-ap
@@ -0,0 +1,22 @@
+$NetBSD: patch-ap,v 1.3 2006/06/14 10:32:35 rillig Exp $
+
+--- 1.1 1995/02/18 16:48:19
++++ Makefile 1995/02/18 17:12:05
+@@ -31,7 +31,7 @@
+
+ #all: stamp-all
+
+-all: xvcg_gcc xvcg
++all: xvcg_cc xvcg
+
+ configure: stamp-config
+
+@@ -236,7 +236,7 @@
+ @echo " make xvcg_c89_noxmkmf"
+ @echo " make vcg_gcc"
+ @echo " make vcg_cc"
+-
++
+ compare: preconf xcompare xvcg install
+ /bin/rm $(PROJECTHOME)/../bin/vcg
+ ln -s $(PROJECTHOME)/../bin/xvcg $(PROJECTHOME)/../bin/vcg
diff --git a/vcg/patches/patch-aq b/vcg/patches/patch-aq
new file mode 100644
index 0000000..a77bc4e
--- /dev/null
+++ b/vcg/patches/patch-aq
@@ -0,0 +1,15 @@
+$NetBSD: patch-aq,v 1.3 2006/09/02 20:47:03 rillig Exp $
+
+Work around the error message "inconsistent operator for all".
+
+--- preconf/X11/Imakefile.org Wed Feb 8 11:48:30 1995
++++ preconf/X11/Imakefile Thu Jun 12 10:35:35 1997
+@@ -2,7 +2,7 @@
+ DEPLIBS = $(DEPXLIB)
+ LOCAL_LIBRARIES = $(XLIB)
+
+-all:
++all::
+ @ echo "#"
+ @ echo LIBPATH = -L$(USRLIBDIR)
+ @ echo INCLUDES = $(ALLINCLUDES)
diff --git a/vcg/patches/patch-demo_animation1_c b/vcg/patches/patch-demo_animation1_c
new file mode 100644
index 0000000..df6c16b
--- /dev/null
+++ b/vcg/patches/patch-demo_animation1_c
@@ -0,0 +1,24 @@
+$NetBSD: patch-demo_animation1_c,v 1.1 2013/04/14 00:15:27 dholland Exp $
+
+- use standard headers
+- call execl correctly
+
+--- demo/animation1.c~ 1995-02-08 11:27:32.000000000 +0000
++++ demo/animation1.c
+@@ -80,6 +80,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <signal.h>
++#include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include "../src/globals.h"
+@@ -228,7 +229,7 @@ void call_vcg()
+ #ifdef X11
+ "-geometry","200x200-30+30",
+ #endif
+- filename,0L);
++ filename, (char *)NULL);
+ }
+ /* NEVER REACHED */
+
diff --git a/vcg/patches/patch-demo_animation2_c b/vcg/patches/patch-demo_animation2_c
new file mode 100644
index 0000000..f86077f
--- /dev/null
+++ b/vcg/patches/patch-demo_animation2_c
@@ -0,0 +1,24 @@
+$NetBSD: patch-demo_animation2_c,v 1.1 2013/04/14 00:15:27 dholland Exp $
+
+- use standard headers
+- call execl correctly
+
+--- demo/animation2.c~ 1995-02-08 11:27:33.000000000 +0000
++++ demo/animation2.c
+@@ -83,6 +83,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <signal.h>
++#include <unistd.h>
+ #include "../src/globals.h"
+
+
+@@ -237,7 +238,7 @@ void call_vcg()
+ #ifdef X11
+ "-geometry","200x200-30+30",
+ #endif
+- filename,0L);
++ filename, (char *)NULL);
+ }
+ /* NEVER REACHED */
+
diff --git a/vcg/patches/patch-demo_animation3_c b/vcg/patches/patch-demo_animation3_c
new file mode 100644
index 0000000..16bb791
--- /dev/null
+++ b/vcg/patches/patch-demo_animation3_c
@@ -0,0 +1,92 @@
+$NetBSD: patch-demo_animation3_c,v 1.1 2013/04/14 00:15:27 dholland Exp $
+
+- fix void main
+- print pointers correctly (use %jd rather than %p as it appears they
+ need to print in decimal)
+- call execl() correctly
+
+--- demo/animation3.c.orig 1995-02-08 18:54:17.000000000 +0000
++++ demo/animation3.c
+@@ -69,16 +69,19 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <signal.h>
++#include <unistd.h>
++#include <stdint.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include "../src/globals.h"
+
++#define PRINTPTR(n) ((intmax_t)(intptr_t)n)
+
+ /* Prototypes
+ * ----------
+ */
+
+-void main _PP((int argc, char *argv[]));
++int main _PP((int argc, char *argv[]));
+ void call_vcg _PP((void));
+ void signal_vcg _PP((int k));
+ void wait_for_vcg _PP((void));
+@@ -132,9 +135,9 @@ int ins[15] = {
+ char timep[20] = "1";
+
+ #ifdef ANSI_C
+-void main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ #else
+-void main(argc, argv)
++int main(argc, argv)
+ int argc;
+ char *argv[];
+ #endif
+@@ -172,6 +175,7 @@ char *argv[];
+ signal_vcg(- SIGUSR2); /* close vcg (does not work with X11) */
+ sleep(3);
+ signal_vcg(- SIGQUIT); /* exit vcg */
++ return 0;
+ }
+
+
+@@ -224,7 +228,7 @@ void call_vcg()
+ #ifdef X11
+ "-geometry","200x200-30+30",
+ #endif
+- filename,0L);
++ filename, (char *)NULL);
+ }
+ /* NEVER REACHED */
+
+@@ -762,8 +766,8 @@ NODE n;
+ int i;
+ #endif
+ {
+- FPRINTF(f," node: { title: \"%d\" label: \"%d\" ",
+- n, n->num);
++ FPRINTF(f," node: { title: \"%jd\" label: \"%d\" ",
++ PRINTPTR(n), n->num);
+ FPRINTF(f,"width: 34 ");
+ FPRINTF(f,"height: 34 ");
+
+@@ -797,8 +801,8 @@ int i;
+ if (n->sons==2) {
+ print_node(f,n->son[0], 0);
+
+- FPRINTF(f," edge: { sourcename: \"%d\" ", n);
+- FPRINTF(f,"targetname: \"%d\" ", n->son[0]);
++ FPRINTF(f," edge: { sourcename: \"%jd\" ", PRINTPTR(n));
++ FPRINTF(f,"targetname: \"%jd\" ", PRINTPTR(n->son[0]));
+ if ((n->son[0])->col == RED) {
+ FPRINTF(f,"color: red ");
+ FPRINTF(f,"linestyle: dotted ");
+@@ -810,8 +814,8 @@ int i;
+
+ print_node(f,n->son[1], 1);
+
+- FPRINTF(f," edge: { sourcename: \"%d\" ", n);
+- FPRINTF(f,"targetname: \"%d\" ", n->son[1]);
++ FPRINTF(f," edge: { sourcename: \"%jd\" ", PRINTPTR(n));
++ FPRINTF(f,"targetname: \"%jd\" ", PRINTPTR(n->son[1]));
+ if ((n->son[1])->col == RED) {
+ FPRINTF(f,"color: red ");
+ FPRINTF(f,"linestyle: dotted ");
diff --git a/vcg/patches/patch-demo_vcgcount_c b/vcg/patches/patch-demo_vcgcount_c
new file mode 100644
index 0000000..3782f9b
--- /dev/null
+++ b/vcg/patches/patch-demo_vcgcount_c
@@ -0,0 +1,35 @@
+$NetBSD: patch-demo_vcgcount_c,v 1.1 2013/04/14 00:15:27 dholland Exp $
+
+- fix void main
+
+--- demo/vcgcount.c~ 1995-02-08 11:27:34.000000000 +0000
++++ demo/vcgcount.c
+@@ -64,7 +64,7 @@
+ * ----------
+ */
+
+-void main _PP((void));
++int main _PP((void));
+
+
+
+@@ -85,9 +85,9 @@ int nredges; /* The number of edges
+ */
+
+ #ifdef ANSI_C
+-void main(void)
++int main(void)
+ #else
+-void main()
++int main()
+ #endif
+ {
+ register char *c;
+@@ -120,6 +120,7 @@ void main()
+ }
+ PRINTF("This graph contains %d nodes and %d edges.\n",
+ nrnodes, nredges);
++ return 0;
+ }
+
+
diff --git a/vcg/patches/patch-preconf_X11ccSunOS_conf b/vcg/patches/patch-preconf_X11ccSunOS_conf
new file mode 100644
index 0000000..cd53793
--- /dev/null
+++ b/vcg/patches/patch-preconf_X11ccSunOS_conf
@@ -0,0 +1,16 @@
+$NetBSD: patch-preconf_X11ccSunOS_conf,v 1.1 2013/04/14 00:15:27 dholland Exp $
+
+Fix Sun CC configuration to assume at least C89. Otherwise it tries to
+use <varargs.h> and fails.
+
+--- preconf/X11ccSunOS/conf~ 1995-02-08 19:48:39.000000000 +0000
++++ preconf/X11ccSunOS/conf
+@@ -2,7 +2,7 @@ ADDINCLUDEPATHNAME|-I/RW/esprit/X11R5/R6
+ ADDLIBPATHNAME|-L/RW/esprit/X11R5/R6/lib/
+ ADDLIBSNAME|-lXext -lX11 -lm
+ ALIGNMENTNAME|8
+-ANSINAME|#undef ANSI_C
++ANSINAME|#define ANSI_C
+ BIGLTEXNAME|big-latex
+ BINPATHNAME|/usr/local/bin/
+ BISONNAME|not_available
Home |
Main Index |
Thread Index |
Old Index