R: [GRASS-dev] WinGRASS: Xerces-C and Expat under MingW

I figured out how to create valid Xerces-C DLLs on MinGW.

(note: I am keeping my source code in /src, where I also download
the tgz file from the Xerces project page):

***

export XERCESCROOT=/src/xerces-c-src_2_8_0

cd /src

tar -xzf xerces-c-src_2_8_0.tar.gz

cd xerces-c-src_2_8_0/src/xercesc

./runConfigure -p mingw-msys -c gcc -x g++ -n fileonly -r none -z
-mno-cygwin -C --host=i686-mingw32

Before we can run make, we need to fix some of the Makefiles a little bit
(we need to add an extra colon in some places).

In file C:\msys\1.0\src\xerces-c-src_2_8_0\src\xercesc\Makefile.incl, near
the top, change

ALL: all

to

ALL:: all

In file
C:\msys\1.0\src\xerces-c-src_2_8_0\src\xercesc\util\Makefile.util.submodule,
near the top, change

all: includes $(CPP_OBJECTS)

to

all:: includes $(CPP_OBJECTS)

In file C:\msys\1.0\src\xerces-c-src_2_8_0\obj\Makefile you will find the
following definition at line 104:

all: ${FQ_REAL_NAME} ${FQ_REAL_DEPDOM}

Change it to read:

all:: ${FQ_REAL_NAME} ${FQ_REAL_DEPDOM}

Now the source code can be compiled (There will be many warnings. You can
safely ignore them):

make

make install

This will create the Windows DLLs and copy them and all header files into
/usr/local.

***

This was done using MinGW 5.1.3, MSYS 1.0.11 (latest) and
GNU Make 3.81 with the MinGW Win32API version 3.11.

Best,

Benjamin

marco.pasetti@alice.it wrote:

Hi Benjamin,

for xerces I cannot help, while about expat I did a lot of attempts.
GDAL configure doesn't want to find it, and I don't know why!!!
I think that you would waste your time; it's better to concentrate
strengths on xerces

Marco

--
Benjamin Ducke
Senior Applications Support and Development Officer

Oxford Archaeological Unit Limited
Janus House
Osney Mead
OX2 0ES
Oxford, U.K.

Tel.: ++44 (0)1865 263 800
benjamin.ducke@oxfordarch.co.uk