I'm still having heaps of trouble figuring out how to organise the library.
At present the archive contains src in directories organised by function. For example src/faio ~/felix/src>ls faio faio_asyncio.cpp faio_job.hpp faio_timer.hpp flx_faio_posix.flx faio_asyncio.hpp faio_posixio.cpp faio_winio.cpp flx_faio_win32.flx faio_drv.hpp faio_posixio.hpp faio_winio.hpp flx_socket.flx faio_job.cpp faio_timer.cpp flx_faio.flx flx_stream.flx contains C++ code for building the shared library, headers for that and also for linking Felix generated code to it, and Felix code to wrap it. The Felix code includes platform specific wrappers (posix, win), and a low level socket wrapper which is portable using conditional compilation, and a higher level stream interface (which models sockets as instances of typeclass stream), also using conditional compilation (a bit of a mis-design, streams shouldn't be defined here, but the socket instances should be, but should use the porting wrapper so that they themselves aren't using any conditional compilation). Other src packages are the same. OTOH the built library is organised more by kind that function. There is lib/plat which contains generated felix for your platform (c typedefs and the macros for your os used to drive conditional compilation). Then there is lib/std which contains platform independent data structure stuff. Then the top level of lib is getting copies of stuff like flx_stream. There's also lib/stl and lib/gnu/gmp and lib/gnu/gsl, and lib/judy.flx and other stuff. I dislike the Unix FSH with usr/include and usr/lib/ splitting out things by the kind of file, thereby losing the functional separations.. but it is also messy having all different file kinds in the one place. Short of FUSE what to do? Dumping all the library flx files into the library by category is going to make a bit of a mess. I find it almost impossible to find where things are because they're in different places in the repository src directory to the built Felix library, and this makes it a nightmare to get the build system right too. It actually seems cleaner to retain the functional separation and dump the whole src directory straight into the build directory "as is". Which suggests using suffices to determine the "portability" status instead of a directory, eg flx_faio_posix.port.flx or perhaps port.posix.faio.flx Hmm .. anyhow it's a mess. I need to write some code to do filesystem management (I need a portable "stat" function for the webserver so I can make it list the files in a directory). I can write a posix version, but then I need to make a porting wrapper. So where do I put these things? -- john skaller skal...@users.sourceforge.net ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language