Quick fix for bug #36844.
Since people kept forgetting to wrap SHARED_LIBRARY_LIBS inside MKSHLIB_FORCE_ALL & MKSHLIB_UNFORCE_ALL pairs, we now handle it in rules.mk. Same goes for making $(SHARED_LIBRARY) dependent upon $(SHARED_LIBRARY_LIBS).
2.) The various Run* routines were made more general. This allowed me to move them completely within the nsCBaseLoop code rather than have them duplicated across the different Base Loop Typed classes. This avoids the cut and pasting of code, that will probably be tweaked in the future.
3.) To support the new Run* routines, I have added a RetrieveNextEvent and then a PlatformRetrieveNextEvent. The first is implemented in nsCBaseLoop. This was added to facilitate ordering of event retrieval in the near future (ie, pulling system events before normal events, or pulling PLEvents etc.) The second function is one that platform code must override. This is different for each loop type. Basically this is supposed to be whatever it takes for a given implementation to pull the next event off the queue for the given loop type. So in the Windows world, this function calls GetMessage() for the Thread and App loop types and then PeekMessage() with PM_REMOVE set for the Breath loop type.
This code is compiled but not used by the main build. A=chofmann
to include certain files. It creates a static library that is then included
into a shared library by each toolkits code.
Also checked in the Photon event and filter definition.