From: klaas.holwerda <kho...@xs...> - 2005-06-01 18:42:16
|
John Labenski wrote: >Humm, good question. I think wxLua can provide .i wrapper files for >any library we want since they're small enough. But, I don't think we >should include the C(++) code for any thirdparty libraries. This puts >the burden on us to keep maintaining them and we might get overwhelmed >by requests for features and bugfixes. > > Right, only in rare cases one does import such libraries, certainly not maintain them. WxLua soon will not be such a case anymore :-) >What about this: >wxLua/ > import/ > wx/ - put all .i wrappers for wxWidgets in here (include contrib) > wxtreelistctrl/ - .i wrapper (for example) for this widget at wxCode > ... > bindings/ > wx/ - put all created cpp wrappers for wxWidgets here > wxtreelistctrl/ - put cpp wrappers for wxTreeListCtrl here > >Now, the tricky part. >1) Create libs for each of these bindings, but we might have quite a >few of them. > > Right, that is the idea. One can of course combine small things in one lib. > Use some sort of luasetup.h (equivalent to wxWidgets/include/msw/setup0.h) > I cannot think of any way to get the lib to be compiled using a >user's luasetup.h file > without making people edit things by hand. I think this is unworkable. > > Francesco is generating by bakefile inside the makefile a art2dsetup.h . Here all option are defined. Evetually there will be a program to easily set the options. Is this what you mean?? >2) Make the "end user" compile each cpp binding into their project by >hand selecting them. > > wxArt2d has wrapping, it first automatically the wxLua wraps, next art2d module luawraps, next the application extra wraps There must be a means to automate this. I did it with Cmake. But i think bakefile can handle it too. And else we might simple use Unix scripting (MSYS on windows ). >I think #2 is simplest for us and more flexible since once you start >creating libs, the number of makefiles we'll have to write/maintain >will get out of hand. > > Francesco started a week ago to write bakefiles for wxArt2D, and nothing is going out of hand ;-) There is one makefile.vc, and it creates all the different module libs. I think we should not comprimize because we think it is difficult, because i think bakefile really solves the makefile problem. >Heh, maybe a filestructure list would help, I've looked here >http://cvs.sourceforge.net/viewcvs.py/wxart2d/wxArt2D/modules/ >but it looks like what I wrote above? > > Yes, the top of wxArt2D is almost the same. But it starts here. http://cvs.sourceforge.net/viewcvs.py/wxart2d/wxArt2D http://cvs.sourceforge.net/viewcvs.py/wxart2d/wxArt2D/thirdparty http://cvs.sourceforge.net/viewcvs.py/wxart2d/wxArt2D/modules http://cvs.sourceforge.net/viewcvs.py/wxart2d/wxArt2D/apps On the top there is no core wxArt2D/src, all is inside the modules. This is what makes it a more flexible structure This is an extra level in the directory structure, So in case of wxLua the base would be: http://cvs.sourceforge.net/viewcvs.py/wxlua/wxLua And in there: thirdparty/lua <= a thirparty lib which i think must be there. modules/wxluacore <= all needed to build the core of wxlua modules/wxluacore/src modules/wxluacore/include modules/wxluacore/import <= import files for the core #The next NOT the thirdparty libs itself, but the stuff to wrap it. #so the import files lead to source code which will be stored in there. # and maybe some other code to make it communicate with wxluacore?? modules/whateverlibY modules/whateverlibY/include modules/whateverlibY/src modules/whateverlibY/import <= import files for this lib modules/whateverlibX modules/whateverlibX/include modules/whateverlibX/src modules/whateverlibX/import <= import files for this lib program/wxLua <= standalone wxLua program/Embedded <= embedded advanged sample samples/sample1 samples/sample2 bin utils docs lib/vc_lib/wxluacore.lib lib/vc_lib/whateverlibX.lib lib/vc_lib/whateverlibY.lib lib/vc_dll/wxluacore.lib lib/vc_dll/whateverlibX.lib lib/vc_dll/whateverlibY.lib etc. for borland or whatever This all puts the core stuff at the same level as contributions or other wrapped libraries. BTW ( i created the lists, see the CC: ) Klaas |