cyphesis/scripts/mingw32_configure.sh
2011-10-11 16:37:09 +01:00

63 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
# Before running this, the following is required.
# 1. Build worldforge libraries using the mingw32 spec files included.
# 2. Install Python windows binary under wine, and copy includes and
# libpython26.a to the sys-root. Link libpython2.6.a to libpython26.a
# 3. Sort out a PostgreSQL client library build. Download source, configure
# for mingw build, and build and install in:
# src/interfaces/libpq
# src/bin/pg_config
# 4. Make a wine wrapper for pg_config
set -u
set -e
cross_target=$(ls /usr/bin/i?86-*-gcc | sed "s/^\/usr\/bin\/\(.*\)-gcc\$/\1/")
cross_root=/usr/${cross_target}
if [ ! -d ${cross_root} ] ; then
echo "Unable to find cross compiler root ${cross_root}"
exit 1
fi
cross_sysroot=${cross_root}
if [ -d ${cross_root}/sys-root/mingw ] ; then
cross_sysroot=${cross_root}/sys-root/mingw
fi
configure_flags=
if [ -f ./cyphesis.spec ]
then
configure_flags="${configure_flags} --enable-binreloc=no --with-python=${cross_sysroot} --with-psql-prefix=${cross_sysroot} --with-libgcrypt-prefix=${cross_sysroot}"
fi
export PKG_CONFIG_LIBDIR=${cross_sysroot}/lib/pkgconfig
./configure --host=${cross_target} --build=i686-pc-linux-gnu --target=${cross_target} --prefix=${cross_sysroot} ${configure_flags}
DLLS="
libgcc_s_sjlj-1.dll \
libgcrypt-11.dll \
libgpg-error-0.dll \
libpq.dll \
libsigc-2.0-0.dll \
"
if [ -f ./cyphesis.spec ]
then
for dll in ${DLLS}
do
if [ -f ${cross_sysroot}/bin/${dll} ]
then
echo Found bin/${dll}
cp ${cross_sysroot}/bin/${dll} ./server
elif [ -f ${cross_sysroot}/lib/${dll} ]
then
echo Found lib/${dll}
cp ${cross_sysroot}/lib/${dll} ./server
else
echo Unable to find ${dll}
fi
done
fi