pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Update vcg from jb-wip



Module Name:	pkgsrc-wip
Committed By:	Jason Bacon <jwbacon%tds.net@localhost>
Pushed By:	outpaddling
Date:		Thu Sep 8 16:48:04 2016 -0500
Changeset:	c012355773d76bb08462413deb0b7308c53baf01

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:
Update vcg from jb-wip

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=c012355773d76bb08462413deb0b7308c53baf01

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 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 +
 31 files changed, 2934 insertions(+)

diffs:
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..1c82880
--- /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=	1
+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