Saturday, July 18, 2009

GTK 2.6.10 Hack: To Make im-ime.dll etc.

I successfully compiled GTK+ 2.6.10 for Windows. GTK+ 2.6.10 is outdated but it is the last known release to support Windows 98/ME. For unknown reason, I couldn't find shared libraries of GTK+ 2.6.10 input modules. To fix this problem, I once again utilized the venerable dllwrap program. First, I switched to the subfolder modules/input/.libs/ of GTK+ source tree. Then, I created shared input modules, as follows:


dllwrap --export-all-symbols --add-stdcall-alias -o im-am-et.dll
--dllname im-am-et.dll imam-et.o -L../../../gtk/.libs -lgtk-win32-2.0 -L../../../gdk/.libs -lgdk-win32-2.0 -L../../../gdk-pixbuf/.libs -lgdk_pixbuf-2.0 -L/mingw/lib -limm32 -lshell32 -luuid -lwsock32 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lws2_32 -lole32 -lintl



dllwrap --export-all-symbols --add-stdcall-alias -o im-cedilla.dll --dllname im-cedilla.dll imcedilla.o -L../../../gtk/.libs -lgtk-win32-2.0 -L../../../gdk/.libs -lgdk-win32-2.0 -L../../../gdk-pixbuf/.libs -lgdk_pixbuf-2.0 -L/mingw/lib -limm32 -lshell32 -luuid -lwsock32 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lws2_32 -lole32 -lintl



dllwrap --export-all-symbols --add-stdcall-alias -o im-cyrillic-translit.dll --dllname im-cyrillic-translit.dll imcyrillic-translit.o -L../../../gtk/.libs -lgtk-win32-2.0 -L../../../gdk/.libs -lgdk-win32-2.0 -L../../../gdk-pixbuf/.libs -lgdk_pixbuf-2.0 -L/mingw/lib -limm32 -lshell32 -luuid -lwsock32 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lws2_32 -lole32 -lintl



dllwrap --export-all-symbols --add-stdcall-alias -o im-ime.dll --dllname im-ime.dll gtkimcontextime.o imime.o -L../../../gtk/.libs -lgtk-win32-2.0 -L../../../gdk/.libs -lgdk-win32-2.0 -L../../../gdk-pixbuf/.libs -lgdk_pixbuf-2.0 -L/mingw/lib -limm32 -lshell32 -luuid -lwsock32 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lws2_32 -lole32 -lintl



dllwrap --export-all-symbols --add-stdcall-alias -o im-inuktitut.dll --dllname im-inuktitut.dll iminuktitut.o -L../../../gtk/.libs -lgtk-win32-2.0 -L../../../gdk/.libs -lgdk-win32-2.0 -L../../../gdk-pixbuf/.libs -lgdk_pixbuf-2.0 -L/mingw/lib -limm32 -lshell32 -luuid -lwsock32 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lws2_32 -lole32 -lintl



dllwrap --export-all-symbols --add-stdcall-alias -o im-ipa.dll --dllname im-ipa.dll imipa.o -L../../../gtk/.libs -lgtk-win32-2.0 -L../../../gdk/.libs -lgdk-win32-2.0 -L../../../gdk-pixbuf/.libs -lgdk_pixbuf-2.0 -L/mingw/lib -limm32 -lshell32 -luuid -lwsock32 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lws2_32 -lole32 -lintl



dllwrap --export-all-symbols --add-stdcall-alias -o im-thai-broken.dll --dllname im-thai-broken.dll imthai-broken.o -L../../../gtk/.libs -lgtk-win32-2.0 -L../../../gdk/.libs -lgdk-win32-2.0 -L../../../gdk-pixbuf/.libs -lgdk_pixbuf-2.0 -L/mingw/lib -limm32 -lshell32 -luuid -lwsock32 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lws2_32 -lole32 -lintl



dllwrap --export-all-symbols --add-stdcall-alias -o im-ti-er.dll --dllname im-ti-er.dll imti-er.o -L../../../gtk/.libs -lgtk-win32-2.0 -L../../../gdk/.libs -lgdk-win32-2.0 -L../../../gdk-pixbuf/.libs -lgdk_pixbuf-2.0 -L/mingw/lib -limm32 -lshell32 -luuid -lwsock32 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lws2_32 -lole32 -lintl



dllwrap --export-all-symbols --add-stdcall-alias -o im-ti-et.dll --dllname im-ti-et.dll imti-et.o -L../../../gtk/.libs -lgtk-win32-2.0 -L../../../gdk/.libs -lgdk-win32-2.0 -L../../../gdk-pixbuf/.libs -lgdk_pixbuf-2.0 -L/mingw/lib -limm32 -lshell32 -luuid -lwsock32 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lws2_32 -lole32 -lintl



dllwrap --export-all-symbols --add-stdcall-alias -o im-viqr.dll --dllname im-viqr.dll imviqr.o -L../../../gtk/.libs -lgtk-win32-2.0 -L../../../gdk/.libs -lgdk-win32-2.0 -L../../../gdk-pixbuf/.libs -lgdk_pixbuf-2.0 -L/mingw/lib -limm32 -lshell32 -luuid -lwsock32 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lws2_32 -lole32 -lintl

Then, I moved the shared libraries to C:\MinGW\lib\gtk-2.0\2.4.0\immodules. Finally, I ran gtk-query-immodules-2.0 and save the output as /etc/gtk-2.0/gtk.immodules.


mkdir -p /mingw/lib/gtk-2.0/2.4.0/immodules
mv *.dll /mingw/lib/gtk-2.0/2.4.0/immodules
gtk-query-immodules-2.0.exe /mingw/lib/gtk-2.0/2.4.0/immodules/*.dll > /mingw/etc/gtk-2.0/gtk.immodules

No comments:

Post a Comment

About This Blog

KBlog logo This blog is about current events and issues concerning general population. Thanks for visiting the blog and posting your comments.

© Contents by KBlog

© Blogger template by Emporium Digital 2008

Followers

Total Pageviews

icon
Powered By Blogger