mihazet / static-gtk2-mingw32

Automatically exported from code.google.com/p/static-gtk2-mingw32
0 stars 0 forks source link

are you going to release your patch? #1

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
just wondering if you are you going to release your patch set

Original issue reported on code.google.com by zachary....@gmail.com on 29 May 2012 at 3:46

GoogleCodeExporter commented 9 years ago

Hi, I did try to release such a patch,youknow, working under msys is painful, 
it is much slower than that under linux
 ,until now I could't find a way to make my work into a patch file.

So, I can only tell you how I do.

Tools:
perl,gcc3/gcc4,msys,mingw32

1. Delete DllMain() function in gdk_pixbuf,pango,gdk.
2. Convert all dllexport and  dllimport to extern. (May be not necessary when 
build a dll)
3. Change theme: In gtkrc.c, use MS-Windows theme to replace the parameter of 
function gtk_rc_parse_string().
4. header file change for msvc: (1) add MACRO __inline to gdkconfig.h
    (2) for  lib/glib-2.0/include/glibconfig.h,
          #if _MSc_VER < 1400
              #undef G_HAVE_ISO_VARARGS
              #undef G_HAVE_GNUC_VARARGS
          #endif
Just complier. make install, then you can get a lot of libxxx.a, use ar x to 
upack them,
you should rename  printf.o and localcharset.o  of libintl.a, because same name 
appears in gnu glib.(func different).
delete win_iconv.o(conflict with glib), delete thai.o from pango (conflict with 
gtk). delete autoasprintf.o(depends on c++).
suppose you put all .o file into a same dir, then:
  gcc *.o -shared -o libgtk-mono.dll -Wl,-s -Wl,-export-all-symbols -Wl,-output-def,libgtk-mono.def,--out-implib,libgtk-mono.dll.a  -lcomdlg32 -lwinspool -lcomctl32 -limm32 -lshell32 -luuid -lshlwapi -ldnsapi  -lusp10  -lmsimg32 -lgdi32  -lws2_32 -lole32

Now you get libgt-mono.dll.
Before you generate the import lib for msvc, you should first delete all  DATA 
in libgtk-mono.def

Original comment by hangyu1...@gmail.com on 29 May 2012 at 12:42