emscripten-native shows that we need kuniqapplication.cpp; add it back in for Emscripten.  This requires us to remove the call to isSessionRestored().
emscripten-native tells us we need strlcat which for some reason isn't getting linked in - looks like other platforms uses fakes.c for this, so we shall do the same. For some reason, size_t wasn't being picked up, so I've manually added a #include <stddef.h>
Use only the fake Solid backend for Emscripten (error exposed by emscripten-native).
When building statically, as with Emscripten, ensure kde4_add_plugin builds statically.  This requires us to add a new macro, K_EXPORT_STATIC_PLUGIN, which we'll have to port all instances of K_EXPORT_PLUGIN to.  For now, I've just done kfilemodule.cpp.
Do the K_EXPORT_STATIC_PLUGIN dance for kcookieserver.cpp
Another couple of places where size_t wasn't defined - not happy with this hack I'm doing :/
Don't build kconf_update for Emscripten.
Don't build kio_http_cache_cleaner for Emscripten.
Don't assert that we managed to connect to the session bus on Emscripten.
Get rid of all those silly -lQtCore etc (as I said I probably would have to earlier) and also use ar for creating static libraries.
Ugh, this was a nightmare - just see the comment in kconfiggroupgui.cpp :/