From: Francesco M. <f18...@ya...> - 2006-01-23 19:07:33
|
Hi, John Labenski ha scritto: >>>>Could we commit the generated bindings in CVS ? >>> >>>Ok, I'll do that this weekend. >> >>good > > > Sorry, not yet, let me sort out the coroutine problems first. I have > some thinking to do about it, it needs to be an elegant solution. ok >>>>We also really need some way to: >>>>1) produce luasetup.h from luasetup.h.in (maybe adding 'wx' prefix to >>>>both as we discussed time ago): I had to manually change it to exclude >>>>the contrib wx headers which I do not have installed and wxFontMapper >>>>(see point #3) >>> >>>This is supposed to be like wxWidgets/include/wx/msw/setup0.h where >>>you select what you want included with your wxLua bindings build. I >>>will change it to wxluasetup.h this weekend. >> >>ok, on win32 I'd keep it exactly like wx's setup0.h but on unix we need >>(like wx does) a wxluasetup.h.in which is transformed into wxluasetup.h. > > > I don't think you need to do anything, there's nothing in it that > depends on anything that configure could figure out. Hopefully all of > the bindings take into account the wxWidgets wxUSE_XXX defines > appropriately and so the wxLUA_USE_XXX are a way to not compile in > wxLua bindings to parts of the wxWidgets library that either may or > may not be compiled in. If this is not the case please tell me where > it's wrong. now I understood: wxLua bindings are double-"protected" by both wxUSE_XXX symbols and wxLUA_USE_XXX ones. That's good. However I must say that wxbind.h uses very few wxUSE_XXX symbols (I understand it's a real trouble to write all those #if/#endif by hand - BTW is wxbind.h auto generated ?). For example, I haven't got the STC headers installed and my compilation stops with the error: ./../modules/wxbind/include/wxbind.h:579:24: error: wx/stc/stc.h: No such file or directory Unfortunately there is no wxUSE_STC symbols... this is because STC is a contrib. I think we should separe wxlua contrib wrappers from wxlua wxwidgets wrappers and then create a BUILD_CONTRIB_WRAPPERS=0/1 (or something like that :)) option to bakefiles. > > >>>>2) fix warnings about non-existing symbols (I get ton of messages like: >>>> >>>>./modules/wxbind/include/wxbind.h:127:6: warning: "wxUSE_WAVE" is not >>>>defined >>>>./../modules/wxbind/include/wxbind.h:328:5: warning: >>>>"wxLUA_USE_wxCriticalSection" is not defined >>>>./../modules/wxbind/include/wxbind.h:506:5: warning: >>>>"wxLUA_USE_wxCriticalSectionLocker" is not defined >>>>./../modules/wxbind/include/wxbind.h:919:5: warning: >>>>"wxLUA_USE_wxCriticalSectionLocker" is not defined >>>>./../modules/wxbind/include/wxbind.h:1038:6: warning: "wxUSE_WAVE" is >>>>not defined >>>>... >>> >>>These should all be defined! I'll get a new cvs head checkout at home >>>in linux (mine is probably a month old) and see if I get them. The >>>wxLUA_USE_XXX are certainly defined in luasetup.h though. >> >>I don't know why but the wxUSE_WAVE and >>wxLUA_USE_wxCriticalSectionLocker symbols are not defined... > > > These are all defined in my last wxWidgets checkout, I'm sorry but I > can't understand why iut doesn't work for you. Could you try some > things out like putting #if wxUSE_WAVE in the wxWidgets minimal sample > and see if you get the warning there? I've found that wxUSE_WAVE is deprecated since wx2.5.1 in favour of wxUSE_SOUND. I also searched all my local wxLua directory for wxLUA_USE_wxCriticalSectionLocker and I couldn't found any definition of it (I think it should be in wxluasetup.h but it's not). I could just found places where it was used (#if wxLUA_USE_wxCriticalSectionLocker...) should we add it to wxluasetup.h ? Also, I think we need to write in some doc a list of files which are automatically generated. I really have a vague idea about what's auto generated and what not :( In conclusion, since last update, I could build completely wxLua *libraries* just changing #define wxLUA_USE_wxStyledTextCtrl 1 to #define wxLUA_USE_wxStyledTextCtrl 0 However I still get undefined reference to: /wxlua/src/wxlstate.cpp:1740: undefined reference to `s_wxluatag_wxWindow' ./wxlua/src/internal.cpp:1049: undefined reference to `s_wxluatag_wxEvtHandler' ./wxlua/src/internal.cpp:1176: undefined reference to `s_wxluatag_wxBitmap' I'm still looking to these because now I can see that these symbols are defined and compiled. Probably I need to play with library order. As soon as I solve this, I'll commit my bakefile changes. Francesco |