From: Sam S. <sd...@gn...> - 2002-03-08 19:01:02
|
> * In message <DFD875E85664D3118FA6080006277DE705216404@U8PN2> > * On the subject of "[clisp-list] Re: Building CLISP for Windows" > * Sent on Fri, 8 Mar 2002 11:06:10 +0100 > * Honorable "Hoehle, Joerg-Cyril" <Joe...@t-...> writes: > > Sam Steingold wrote: > > see CLISP/win32*/ > > I used msvc6 with CLISP/win32msvc/makefile.msvc5 and followed the > > instructions in CLISP/win32msvc/INSTALL > > everything worked just dandy. > I can confirm this, using MSVC6. > > However, here are some observations of mine: > > o (queens 21.0s0) still crashes. msvs has a pretty decent debugger - maybe you could track this down? you will have to recreate makefile: look at Makefile.devel and add "debug" to the makemake options. > o genclisph.exe and as a consequence clisp.h are not generated and > there's even no makefile target for them. > Did anyone ever build a module on MS-windows? IIUC, you need add an interface to LoadLibrary (win32 version of dlopen) to spvw.d:dynload_modules(). Bruno proposed using libltdl from GNU libtool. would you like to do this? > What is the wgenclisph.exe that makefile target clean0 may remove? Bruno? > I used the following to complete the makefile (somebody please add this to makemake): > genclisph.exe : genclisph.obj > $(CC) $(CFLAGS) $(CLFLAGS) genclisph.obj /Fegenclisph.exe > clisp.h : genclisph.exe > genclisph.exe > clisp.h this was disabled on win32 together will the rest of the modules interface. I enabled it - re-create your makefiles and try it (you will need some UNIX utils, like sed, for some other module targets, and I am not sure that nmake supports things like $@ &c.) > -------- > clisp.h is not quite correct: > mtest.c (generated from my private mtest.lisp) includes clisp.h > clisp.h(24) : error C2632: 'long' gefolgt von 'long' ist unzulaessig > clisp.h(25) : error C2632: 'long' gefolgt von 'long' ist unzulaessig > It seems like genclisp.d doesn't reproduce lispbibl.d which says: > #elif defined(MICROSOFT) > typedef __int64 SLONGLONG; > typedef unsigned __int64 ULONGLONG; > #define HAVE_LONGLONG > #endif > and just outputs: > typedef long long SLONGLONG; > for Microloft VC, which is not accepted. fixed, thanks. > o dirkey.lisp: > The following functions were used but not defined: > LDAP::TEXT > TEXT seems to come from package SYSTEM instead (SYSTEM::TEXT) and used > in producing error messages (IIRC it's a marker for GETTEXT). > > -------- > o One of dirkey.lisp or dirkey.c should be renamed (like affi|1, > foreign|1, rexx|1.{d,lisp}) This will avoid dirkey.c to get > overwritten the day dirkey.lisp will contain some FFI definition, when > it's supposed to be generated from dirkey.d. Furthermore, makefile > (MSVC6.0) get confused and wants to rebuild my dirkey, maybe because > of this?? or maybe because somehow dirkey.c disappeared? another mystery solved!!! thanks! fixed too. > -------- > Seen after I added MODULE(mtest) to modules.h: > modules.i.c > modules.h(1) : warning C4113: 'void (__cdecl *)()' weicht in der > Parameterliste von 'void (__cdecl *)(struct module_ *)' ab > modules.h(1) : warning C4113: 'void (__cdecl *)()' weicht in der Parameterliste > von 'void (__cdecl *)(struct module_ *)' ab > "x deviates in the parameter list from y." > Looks like something was missing or not expanded. That doesn't look like a good definition. > > I also have 5KB worth of compiler warnings from varying C files (in German, sorry). Where should I send that? Please fix them and send in a patch instead! :-) -- Sam Steingold (http://www.podval.org/~sds) running RedHat7.2 GNU/Linux Keep Jerusalem united! <http://www.onejerusalem.org/Petition.asp> Read, think and remember! <http://www.iris.org.il> <http://www.memri.org/> Bus error -- driver executed. |