
Great, can you provide a diff or something else, that I can reproduce your results.
here are some informations, hope this help
*** Packages
You'll need many dev packages , mostly from http://www.gimp.org/~tml/gimp/win32/ atk-dev-1.4.0.zip,fontconfig-dev-2.2.1.zip,freetype-2.1.4-bin.zip,freetype-2 .1.4-lib.zip,gettext-runtime-0.12.1.bin.woe32.zip,glib-dev-2.2.3.zip,gtk+-de v-2.2.4.zip,libiconv-1.9.1.bin.woe32.zip,libpng-1.2.5-lib.zip,pango-dev-1.2. 5.zip,pkgconfig-0.15.zip,zlib-1.1.4-1-lib.zip,libart_lgpl-dev-2.3.14.zip,lib xml2-2.6.2.win32.zip
You also need to unzip sodipodi-codepages-1.0.zip from sodipodi files in src/libnrtype
You may need to edit /bin/freetype-config and /bin/glib-gettextize to have correct prefix
Libxml2 win32 doesnt include the pkgconfig file so you have to create one /lib/pkgconfig/libxml-2.0.pc -- prefix=/target exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include
Name: Libxml2 Description: Lib xml Version: 2.6.2 Requires: Libs: -L${libdir} -lxml2 Cflags: -I${includedir}/libxml -- (this is incomplete but should work here)
*** Makefile
Change in configure.in to detect mingw platform and add flag -mms-bitfields --- AC_MSG_CHECKING([for MinGW platform]) case "$host" in *-*-mingw*) platform_win32=yes ;; *) platform_win32=no ;; esac AC_MSG_RESULT([$platform_win32]) AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes") if test x"$platform_win32" = xyes; then CFLAGS="$CFLAGS -mms-bitfields" fi ---
Then you can modify some Makefile.am to include win32 files :
src/libnrtype/Makefile.am --- if PLATFORM_WIN32 win32_sources = nr-type-w32.c nr-type-w32.h \ codepages.h cp1251.c cp1253.c cp1255.c cp1257.c cp874.c cp936.c \ cp950.c cp1250.c cp1252.c cp1254.c cp1256.c cp1258.c cp932.c cp949.c endif --- and add $(win32_sources) to libnrtype_a_SOURCES
src/modules/Makefile.am --- if PLATFORM_WIN32 win32_sources = win32.c win32.h endif --- and add $(win32_sources)
src/Makefile.am --- if PLATFORM_WIN32 win32_sources = winmain.c win32ldflags = -lcomdlg32 endif --- and add $(win32_sources) to inkscape_SOURCES and $(win32ldflags) to inkscape_LDADD
** Some changes to source files :
src/libnr/testnr.c uses unknown gettimeofday() --- #ifdef __MINGW32__ #include <sys/time.h> #include <sys/timeb.h> void gettimeofday(struct timeval* t,void* timezone) { struct timeb timebuffer; ftime( &timebuffer ); t->tv_sec=timebuffer.time; t->tv_usec=1000*timebuffer.millitm; } #endif --- (not tested)
src/libnr/gen_nr_config.c delete the line #include "config.h"
src/libnrtype/nr-type-directory.c commented declaration and call to nr_type_read_private_list as it uses some unknown include remove keywork static for nr_type_w32_read_list prototype
src/libnrtype/nr_type_w32.c remove keyword static for nr_type_w32_read_list
src/main.c commented the set default icon lines using DATADIR /* if (g_file_test (DATADIR "/pixmaps/inkscape.png", (GFileTest)(G_FILE_TEST_IS_REGULAR | G_FILE_TEST_IS _SYMLINK))) { gtk_window_set_default_icon_from_file (DATADIR "/pixmaps/inkscape.png", NULL); }*/
./autogen.sh --disable-mmx --with-xft=no (I've not verified if mmx works)
I had to change -O2 to -O for src/libnrtype/Makefile to avoid an internal compiler error
This is what I remember , Be prepared to have some other changes to do :( I'm not providing patches or diff because all this is really quick&dirty&incomplete hacks just to get something running..
M