A brief report on building sqlite-3.3.4 with MinGW/MSYS and tcl84 on
WinXP...
1. After configure, a small edit was necessary to the Makefile; for
some reason libtool doesn't put .lo objects into .libs subdirectory
anymore; there was also an issue reported on the mailing list with
stripping the DLL; so I changed the dll target to:
dll: sqlite3.dll
REAL_LIBOBJ = $(LIBOBJ:%.lo=%.o)
sqlite3.dll: $(LIBOBJ) $(TOP)/sqlite3.def
dllwrap --dllname sqlite3.dll --def $(TOP)/sqlite3.def $(REAL_LIBOBJ)
strip --strip-unneeded sqlite3.dll
2. gcc 3.4.5 blew up trying to compile tclsqlite.c
I was able to work around the problem by adding these lines in tclsqlite.c:
#undef EXTERN
#define EXTERN extern
Without these lines, EXTERN is translated to __declspec((dllimport))
which is not what we want, and was giving gcc fits (ICE) for some reason.
I also wonder about the purpose of
#ifdef BUILD_sqlite
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLEXPORT
#endif /* BUILD_sqlite */
since TCL_STORAGE_CLASS doesn't see to be used anywhere in the file.
Regards,
e