GNOME Bugzilla – Bug 733137
Don't force no static builds on Win32
Last modified: 2016-01-12 20:34:56 UTC
Created attachment 280608 [details] Don't force no static builds on Win32 This was introduced in eaaaec84eb62293526c165fa3ab7b51067298d52 long ago, with no proper explanation why it was needed. GLib does not seem to do this anymore, and after removing this check I can do static builds just fine.
Fixed. Thanks.
With a static build DllMain wont be called anymore, thus HANDLE pango_dll; wont get initialized. As the result pango_get_sysconf_subdirectory() will not work as expected anymore. So the static build of Pango will have issues with finding it's configuration files: pango.aliases and pango.modules.
(In reply to comment #2) > With a static build DllMain wont be called anymore, thus > HANDLE pango_dll; > wont get initialized. As the result pango_get_sysconf_subdirectory() will not > work as expected anymore. So the static build of Pango will have issues with > finding it's configuration files: pango.aliases and pango.modules. Can we make sure static builds use static modules only? In fact, the whole module system is due to be removed, if someone has time to work on it. We should make the basic-* modules be static by default. For aliases, we have a builtin list. I think we should remove support for extendable aliases and instead read the various CompositeFont's out of Windows's font dir directly (GlobalMonospace.CompositeFont GlobalSerif.CompositeFont GlobalSansSerif.CompositeFont GlobalUserInterface.CompositeFont). Though, I don't see those in Windows 8.1 anymore. I've asked a few Microsoft fonts people for clarification. In short, lets get rid of configuration needs... I'm reopening this bug so we can make sure a static build doesn't crash. We should file individual bugs for the issues above, but I'm not going to work on those anytime soon, so if someone cares more, they should take a look.
I’d give killing the modules system a try if you can give me an overview of what needs to be done.
I created a kill-dynamic-modules branch that kills building and loading dynamic modules; all are statically built now. I still need to figure out how to register the engines without needing a module, so we that modules can be killed entirely.
Thanks Khaled. Don't touch this anymore, I took your branch and am building on top of it. I have pangofc working with no modules whatsoever. Will finish win32 and coretext tonight and push to the branch.
Ok lets continue the deprecation / removal in bug 733882.
Thanks for the patch!