Building for Windows

fletcher edited this page Dec 13, 2010 · 2 revisions

You can compile for Windows using a Windows machine. I have not done it, but you can follow the directions at the home page for peg-markdown. I can't really offer much help on this.

To compile peg-multimarkdown on a linux machine, for use on a Windows machine, you can use these directions. The commands I used are listed in order. I did this on an Amazon EC2 instance (basically, a virtual machine). It takes a few minutes to do, and then you can terminate the instance. So it only costs a few pennies (if that) to do this.

After loggin in:

sudo apt-get install mingw32 unzip git libglib2.0-dev

curl -O http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.26/glib-dev_2.26.0-2_win32.zip

sudo mv glib-dev_2.26.0-2_win32.zip /usr/i586-mingw32msvc
cd /usr/i586-mingw32msvc
sudo unzip glib-dev_2.26.0-2_win32.zip

cd ~
git clone git://github.com/fletcher/peg-multimarkdown.git

cd  peg-multimarkdown
make
rm *.o

/usr/bin/i586-mingw32msvc-cc -c -I/usr/i586-mingw32msvc/include/glib-2.0 -I/usr/i586-mingw32msvc/lib/glib-2.0/include -Wall -O3 -ansi markdown*.c

/usr/bin/i586-mingw32msvc-cc markdown*.o -Wl,-L/usr/i586-mingw32msvc/lib/glib-2.0,--dy,--warn-unresolved-symbols,-lglib-2.0 -o multimarkdown.exe

You now have the multimarkdown.exe binary that you can copy to your own machine to use, package, whatever. Don't forget to terminate your EC2 instance if you used one so you aren't charged for it forever.

You will need the libglib-2.0-0.dll and intl.dll files on your Windows machine for this to work. Both are included in the windows-installer branch of peg-multimarkdown, or you can download from the original source and pick out the two files you need.

intl.dll is in gettext:

http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime_0.18.1.1-2_win32.zip

libglib-2.0 is in glib:

http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.26/glib_2.26.0-2_win32.zip