When I configure BLT using configure --enable-stubs, the code generated doesn't compile in either gcc or Sun ANSI C compiler.
The specific problem begins when I start the compiles:
gmake
(cd src; gmake all)
gmake[1]: Entering directory `/vol/tclsrcsol/tcl85/blt/unix/src'
/opt/SUNWspro/bin/cc -c -KPIC -g -xs -O -I. -I../../src -I/vol/
tclsrcsol/tcl853/include \
-I/usr/openwin/include ../../src/bltAlloc.c
"../../src/tclIntDecls.h", line 79: syntax error before or at: ->
and so on for a hundred or more lines. I suspect, however, that it is
this and a few similar errors that are the basic cause of the rest of
the problems.
Line 79, as referenced in the error, is:
extern Tcl_Namespace * Tcl_CreateNamespace(Tcl_Interp * interp,
char * name, ClientData clientData,
Tcl_NamespaceDeleteProc * deleteProc);
After preprocessing, I _think_ this line becomes:
extern Tcl_Namespace * ( tclStubsPtr -> tcl_CreateNamespace )
( Tcl_Interp * interp ,
char * name, ClientData clientData,
Tcl_NamespaceDeleteProc * deleteProc);
The -> is certainly in that line - however, the error says "syntax error before or at ->".
My attempts to write a small coherent C example doing something like this in plain C, without all the tcl stubs indirection, continues to generate warnings.
If I configure with --disable-stubs, then this error of course doesn't occur. Other issues, then arise - see the next bug report.