So, to the mgsimple makefile and simple.c that I found at equi4.com, I found I had to make the following changes to get it to compile on a sparc solaris machine using tcl/tk 8.5.1 :
--- mgsimple/makefile Mon Jan 20 13:47:24 1997 +++ mgsimple-v2/Makefile Wed Mar 5 10:21:44 2008 @@ -15,7 +15,9 @@ # if you have all of the *.a libraries. -CC = gcc -g + +TCL_PREFIX = /projects/sprs_lwv/tcl85 +VERSION = 8.5 +#CC = gcc -g +CC = cc -g -xarch=v9 LINKER = $(CC) -LIBS = /usr/lib/libtk.so \ - /usr/lib/libtcl.so \ - /usr/X11R6/lib/libX11.so +LIBS = -L$(TCL_PREFIX)/lib -L/lib -R$(TCL_PREFIX)/lib:/lib @@ -23,3 +25,3 @@ -LLIBS = -ltk -ltcl -lm -ldl +LLIBS = -ltk$(VERSION) -ltcl$(VERSION) -lX11 -lm # -ldl @@ -29,4 +31,3 @@ -I/usr/X11/include \ - -I/usr/src/tk \ - -I/usr/src/tcl + -I$(TCL_PREFIX)/include @@ -34,4 +35,3 @@ LDFLAGS = -I/usr/X11/include \ - -I/usr/src/tk \ - -I/usr/src/tcl + -I$(TCL_PREFIX)/includeand I had to make the following changes to simple.c to get it to compile without warnings.
--- mgsimple/simple.c Mon Jan 20 15:38:15 1997 +++ mgsimple-v2/simple.c Wed Mar 5 10:21:09 2008 @@ -27,3 +27,3 @@ */ -main(int argc, char *argv[]) +int main(int argc, char *argv[]) { @@ -78,3 +78,3 @@ /* register your own commands */ - Tcl_CreateCommand( interp, "getSumExample", getSumExampleCmd, + Tcl_CreateCommand( interp, (const char *) "getSumExample", (Tcl_CmdProc *) getSumExampleCmd, (ClientData) NULL, (void (*) ()) NULL);Perhaps it would be worthwhile to take the code there, bring it here to the wiki, and update it so that it reflects tcl best practices?