For either native Windows, or for cross-compiling on Linux, you need to be organized. I would suggest that for organization's sake you make a project directory, like 'ink32' or 'my_project' something. We'll refer to your Inkscape-win32 directory, whatever it is called, as PROJECT.
For either way of building, you will need the bundle of dependent libraries needed to build Inkscape.
Go here and download the latest gtk28-YYMMDD.7z file you find there to your PROJECT directory.
We use 7-zip for the library bundle, because it is so very large. If you don't already have it, you will need to install it on your machine first. It is found here.
make -f Makefile.mingwEverything should build. If it works, then a working Inkscape distribution can be assembled with:
make -f Makefile.mingw distYou now have an 'inkscape' subdirectory with a working copy.
We have provided what you will need to cross-compile from Linux, so it will not be too painful. But, be warned: this is not for the tyro user. Only experienced persons should try this. We will not give you free Unix lessons online! ;-)
tar jxf xmingw-3.4.4.tar.bz2Then become root and move it to /usr/local/xmingw.
7za x gtk28-YYMMDD.7zLogically link to this directory from '/target'. This is very important. Become 'root' and make a symbolic link to the newly-created gtk26 directory:
ln -sf /home/buffy/PROJECT/gtk28 /target
#!/bin/csh ### -ONLY- this pkgconfig dir must be visible! setenv PKG_CONFIG_PATH /target/lib/pkgconfig ### Put this compiler in front setenv PATH /usr/local/xmingw/bin:$PATH alias dlltool i686-pc-mingw32-dlltool'source mingwenv.sh' loads this information easily. Of course, the Bash equivalent would be:
#!/bin/bash ### -ONLY- this pkgconfig dir must be visible! export PKG_CONFIG_PATH=/target/lib/pkgconfig ### Put this compiler in front export PATH=/usr/local/xmingw/bin:$PATH alias dlltool i686-pc-mingw32-dlltoolIf your PATH is set up correctly, then this command should work:
i686-pc-mingw32-gcc --version
make -f Makefile.mingwEverything should build. If it works, then a working Inkscape distribution can be assembled with:
make -f Makefile.mingw distYou now have an 'inkscape' subdirectory with a working copy. This can be packaged easily with:
zip -rq9 inkscape.zip inkscape
mingw32-make[1]: *** No rule to make target `dom/js/fdlibm/e_acos.c', needed by `dom/js/fdlibm/e_acos.o'. Stop.This is easily remedied by regenerating make.dep. This is the method for 0.44 and earlier:
cd src c:\gtk28\bin\perl mkfiles.pl c:\gtk28\bin\perl mkdep.pl cd ..This is the method for the current Subversion trunk:
cd src g++ -g -Wall -o deptool.exe deptool.cpp deptool cd ..Then you should be able to resume your normal compile. Last updated: 20 Jun 06