Xiphos and MinGW

Table of Contents

Xiphos and MinGW

Table of Contents

Conventions

Needed MinGW installations

Needed External Prebuilt Packages

Environment setup

Configuring Python

Needed External Source Packages

Building dbus-1

Building GLIB

PASS 1

PASS 2

Building PKG_CONFIG

PASS 1

PASS 2

Building libxml2

libxml2 python bindings

Building libxslt

Building xml2po

Building nasm

Building poppler

Building gdk-pixbuf

Building gail

Building enchant

Building gnome-icon-theme

Building gtk+

Building libsoup

Building libglade

Building gtkhtml

Building xiphos (!!)

s Standard Build

Overcoming CTRL-A


Conventions

Throughout this document I use a notation /path/to which is to be replaced by the absolute value of the actual directory where absolute value includes the drive letter unless I state so otherwise.  For example if you have python installed in c:\python\python27 then the /path/to/python should be expressed as c:/python/python27.

The --prefix is set to the value of `cd /mingw && pwd -W` in order to give the created text files the Windows values of the path instead of the POSIX value that MSYS uses internally.  This helps the generated and install .la files to be correct for one thing.  It also helps if a defined value is passed to the object.

The superscript s represents a “Standard Build” for the needed package and indicates to use the recipe described in the “Standard Build” section.  In other words there is nothing special you need to do to build the package beyond what is typical.  If the superscript s is missing from the needed package then a special recipe is given in this document.

This document is ordered in need of necessity.  You need to build the external items in the order I’ve given to resolve dependencies correctly.

Needed MinGW installations

Needed External Prebuilt Packages

Environment Setup

Configuring Python

Newer versions of GCC both Cygwin and MinGW distributions no longer have a -mno-cygwin switch recognized by GCC.  In order to use Python (I’m using version 2.7) with MinGW you will need to do the following.


Needed External Source Packages

Building dbus

Building glib

This requires a two pass bootstrap and days to accomplish

PASS 1

PASS 2


Building pkg-config

This requires a two pass bootstrap

PASS 1

PASS 2

At this point you want to look at the section titled “Overcoming CTRL-A”.

Building libxml2

libxml2 python bindings

Building libxslt

Building libxml2-python

Building xml2po

Building nasm

Building poppler

Building gdk-pixbuf

Building gail

Building enchant

Building gnome-icon-theme

Building gtk+


Building libsoup

Building libglade

Building libgsf

Building glade

Building gtkhtml

Building xiphos (!!)

(!!) Well, I’m close but not close enough.

s Standard Build

PACKAGE refers to the library or application your are trying to build.  For example if you want to build libgpg-error then substitute PACKAGE with libgpg-error.  An assumption is made that you have configured your environment as per this document (see “Environment Setup”).

Overcoming CTRL-A

For some odd reason I was seeing a ^A in the config.log file which I looked at because of issues with the configure.  To workaround the issue I created a script file in /mingw/bin named pkg-config that executed the pkg-config.exe.  Eventually I need to track down why this is occurring and I believe it to be a bug in MSYS but I don’t know how to trigger it consistently.

<file name=”/mingw/bin/pkg-config”>

<contents>

#! /bin/sh

echo `pkg-config.exe “$@”`

</contents>

</file>

Copyright 2011 Earnie Boyd - Right of use see Earnie Boyd Open Documents Licensei

i http://bit.ly/nNoAJ1