I'm trying to figure out how to build demux. Demux supports event handlers:
select (all platforms) poll (posix) epoll (linux) kqueue (osx) evtport (solaris) win (win32) So for example on Linux you have 3 choices. At present the *.fpc files is generated by lpsrc/flx_maker which also selects the switch types for the compiler on Windows like /DEFAULTLIB: for MSVC, and -l for Cygwin or other gcc cross compiler. In addition there are some thread safe variants of select. The complete logic is in buildsystem/demux.py There are a couple of ways to handle this. Demux is needed for asynchronous event handling. We have two main kinds: alarm clock sockets In theory file I/O can be asynchronous but last I looked the handling in Linux is worthless (emulated by pthreads FFS! I was doing this 30 years ago, Linux is really backward in some ways). There are a couple of ways to handle this generically. 1. Build everything, but use conditional compilation in the C++ code to #ifdef out unwanted stuff. For the build system this is easiest. Judy works that way. 2. Make subpackages, and then a virtual package that selects one. Although this is nice in theory, my current build code cannot handle that. That is, src directories and source file patterns cannot cascade. Now the thing is flx_pkgconfig could easily cascade things, but we cannot do it on Requires field because that would make a library dependent on another satisfy the dependency at *source* level. This is one of those times where a simple database concept isn't enough and we really need a programmed solution. -- john skaller skal...@users.sourceforge.net http://felix-lang.org ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language