gcl-devel
[Top][All Lists]
Advanced

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

RE: [Gcl-devel] TK bindings in 2.6.5 CLtL1 (Windows)


From: Mike Thomas
Subject: RE: [Gcl-devel] TK bindings in 2.6.5 CLtL1 (Windows)
Date: Thu, 13 Jan 2005 15:22:02 +1000

Hi Douglas.

Thanks for your interest in Windows GCL and particularly the Tcl/Tk server
(GCL-Tk).

| I've been playing with GCL, and am trying to understand the
| TK/TCL bindings.
| I'm running the windows configuration under mingw. Unfortunately,
| it appears
| that some of the necessary files are missing in the binary distribution.

As you may have guessed by now, the Windows version of GCL does not yet
support the GCL-Tk graphics interface, although we would dearly love to!


|
| Specifically, I am missing: tkl.lisp, gcltksrv.bat. and gcltkaux
| from the
| library directory. I have visited CVS and have picked up tkl.lisp and
| gcltksrv.bat. Gcltkaux does not seem to be available.
|
| I've looked at the build output for a Debian athelon build, (
| http://debian-amd64.alioth.debian.org/pure64/buildd-logs/gcl_2.6.2
| -2_20040629-2310);
| It looks like gcltkaux is build from guis, tkAppInit, an tkMain from CVS,
| and the makefile is embedded in gcl_cmpinit.lsp. Unfortunately,
| gcl_cmpinit
| does not seem to be available.
|
| I would appreciate any help that I can get to be able to have TK
| bindings in
| GCL under windows.

The failure point for me in getting this to work has been the socket
interface which blows up when attempting to communicate with the graphics
server.  Unfortunately this is not an area of expertise for me so I would be
pleased to have help if you are able to do so.

What you need is the MinGW32 compiler and MSYS development host system.  You
also need to get a version of Tcl/Tk (I have at times used either the latest
Tcl/Tk environment of the Active State web site or a MinGW32 specific build.
I belive that either should be OK as MinGW32 gcc can link directly with
dll's in most cases, without the need to build an import library.

The last time I looked at this I made the following patches to the GCL-Tk
source in CVS HEAD.  The first is about the location in which you have put
your TCL location, can't remember the purpose of the second:

------------------------------------------------------------
$ cvs diff gcl-tk
Enter passphrase for key '/home/miketh/.ssh/id_dsa':
cvs diff: Diffing gcl-tk
Index: gcl-tk/gcltksrv.bat
===================================================================
RCS file: /cvsroot/gcl/gcl/gcl-tk/gcltksrv.bat,v
retrieving revision 1.2
diff -r1.2 gcltksrv.bat
1,3c1,4
< set GCL_TK_DIR=c:/cvs/gcl/gcl-tk
< set TCL_LIBRARY=c:/lang/tcl/lib/tcl8.3
< set TK_LIBRARY=c:/lang/tcl/lib/tcl8.3
---
> set GCL_TK_DIR=c:/cvs/head/gcl/gcl-tk
> set TCL_LIBRARY=c:/lang/Tcl-8.4.1.0/lib/tcl8.4
> set TK_LIBRARY=c:/lang/Tcl-8.4.1.0/lib/tcl8.4
> echo %1 %2 %3
Index: gcl-tk/makefile
===================================================================
RCS file: /cvsroot/gcl/gcl/gcl-tk/makefile,v
retrieving revision 1.17
diff -r1.17 makefile
47c47
<       $(LD_ORDINARY_CC) $(GUIOS) -o gcltkaux  ${TK_LIB_SPEC}
${TK_BUILD_LIB_SP
EC} ${TK_XLIBSW} ${TK_XINCLUDES} ${TCL_LIB_SPEC}  `echo ${TCL_LIBS} | sed -e
s:-
lieee::g`  ${LIBS} ${GCLIB}
---
>       $(LD_ORDINARY_CC) $(GUIOS) -o gcltkaux  ${TK_LIB_SPEC}
${TK_BUILD_LIB_SP
EC} ${TK_XLIBSW} ${TK_XINCLUDES} ${TCL_LIB_SPEC} ${TCL_LIBS}  ${LIBS}
${GCLIB}
cvs diff: Diffing gcl-tk/demos
cvs diff: Diffing gcl-tk/demos-4.1
cvs diff: Diffing gcl-tk/demos-4.2

------------------------------------------------------------

You will also need to modify the paths relating to Tcl/Tk in makefile.defs
AFTER you have run "configure" using the following switches as required:

------------------------------------------------------------
 --enable-tkconfig=XXXX will force the use of a TK_CONFIG_PREFIX=XXXXX as
place
to look for tkConfig.sh and tclConfig.sh
 --enable-tclconfig=XXXX will force the use of a TCL_CONFIG_PREFIX=XXXXX as
plac
e to look for tclConfig.sh and tclConfig.sh
------------------------------------------------------------

If all of this seems a little daunting, try the JAPI interface which is
provided with a test example file:

  japitest.lsp

Read the file for instructions on how to compile and load.  You will need
java or jrt installed as this is just a Java binding.

Cheers

Mike Thomas.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]