Removed precarious cross compile shell script.

CMake provides a standardized way to cross compile packages by
using -DCMAKE_TOOLCHAIN_FILE at configure time.

Also recent distributions like opensuse provides up to date native mingw
binary packages and cross compile packages which reduces the cross
compile setup to package installation and setup of a cross tool chain file
as documented at http://www.vtk.org/Wiki/CMake_Cross_Compiling.

https://bugs.freedesktop.org/show_bug.cgi?id=59733
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
This commit is contained in:
Ralf Habacker 2013-02-16 11:06:43 +01:00 committed by root
parent 53c593b07d
commit 3b0b5c6b4a

View file

@ -1,110 +0,0 @@
#!/bin/sh
#
# cross compile script for cmake
#
# initial written by Fridrich Strba
# refactored to debian/lenny by Ralf Habacker
#
# reported to work at least on debian/lenny
#
if test -f /usr/bin/i686-pc-mingw32-gcc; then
cross_cc=i686-pc-mingw32
elif test -f /usr/bin/i586-mingw32msvc-gcc; then
cross_cc=i586-mingw32msvc
else
echo "could not determine mingw cross compiler"
exit 1
fi
if test -d ~/$cross_cc; then
cross_root=~/$cross_cc
elif test -d /usr/$cross_cc/sys-root/mingw; then
cross_root=/usr/$cross_cc/sys-root/mingw
elif test -d /usr/$cross_cc/lib; then
cross_root=/usr/$cross_cc
else
echo "could not determine mingw cross compiler sdk"
exit 1
fi
if ! TEMP=`mktemp --tmpdir -d dbus-cross-compile.XXXXXX`; then
echo "mktemp failed, try with coreutils 6.10 or later?" >&2
exit 1
fi
# make cmake happy
export TEMP
HOST_CC=gcc; export HOST_CC;
if test -d $cross_root/lib/pkgconfig; then
PKG_CONFIG_PATH="$cross_root/lib/pkgconfig:$cross_root/share/pkgconfig"; export PKG_CONFIG_PATH;
fi
if test -d "$MINGW32_CLASSPATH" || test -f "$cross_root/share/java/libgcj.jar"; then
CLASSPATH="$CLASSPATH:${MINGW32_CLASSPATH:-$cross_root/share/java/libgcj.jar:$cross_root/share/java/libgcj-tools.jar}"; export CLASSPATH;
fi
_PREFIX="/usr/bin/$cross_cc-";
for i in `ls -1 ${_PREFIX}* | grep -v 'gcc-'`; do
x=`echo $i|sed "s,${_PREFIX},,"|sed "s,\.awk*,,"|tr "a-z+-" "A-ZX_"`;
declare -x $x="$i" ; export $x;
done;
unset _PREFIX;
CC="${MINGW32_CC:-$cross_cc-gcc}"; export CC;
CFLAGS="${MINGW32_CFLAGS:--O2 -g -pipe -Wall -fexceptions -fno-omit-frame-pointer -fno-optimize-sibling-calls --param=ssp-buffer-size=4 -mms-bitfields}"; export CFLAGS;
LDFLAGS="${MINGW32_LDFLAGS:--Wl,--exclude-libs=libintl.a -Wl,--exclude-libs=libiconv.a}"; export LDFLAGS;
if [ -x "/usr/bin/$cross_cc-g++" ]; then
CXX="${MINGW32_CXX:-$cross_cc-g++}"; export CXX;
CXXFLAGS="${MINGW32_CXXFLAGS:--O2 -g -pipe -Wall -fexceptions -fno-omit-frame-pointer -fno-optimize-sibling-calls --param=ssp-buffer-size=4 -mms-bitfields}"; export CXXFLAGS;
else
CXX=; export CXX;
ac_cv_prog_CXX=no; export ac_cv_prog_CXX;
CXXFLAGS=; export CXXFLAGS;
fi;
for i in `ls $cross_root/bin/*|grep -- "-config$"` ; do
x=`basename $i|tr "a-z+-" "A-ZX_"|sed "s,\.,,"`;
declare -x $x="$i" ; export $x;
done;
unset x i ;
if ! test -f "$cross_root/lib/libexpat.dll.a"; then
(cd $TEMP && wget http://www.winkde.org/pub/kde/ports/win32/repository/win32libs/expat-2.0.1-bin.zip)
(cd $TEMP && wget http://www.winkde.org/pub/kde/ports/win32/repository/win32libs/expat-2.0.1-lib.zip)
(cd $cross_root && unzip -x $TMP/expat-2.0.1-bin.zip)
(cd $cross_root && unzip -x $TMP/expat-2.0.1-lib.zip)
fi
if test -f "$cross_root/lib/libexpat.dll.a"; then
xml_library=-DDBUS_USE_EXPAT=On -DLIBEXPAT_INCLUDE_DIR:PATH=$cross_root/include -DLIBEXPAT_LIBRARIES:PATH=$cross_root/lib/libexpat.dll.a
else
echo "could not find a cross compile xml libraray"
exit 1
fi
cmake \
-DCMAKE_SYSTEM_NAME="Windows" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_INSTALL_PREFIX:PATH=$cross_root \
-DCMAKE_INSTALL_LIBDIR:PATH=$cross_root/lib \
-DINCLUDE_INSTALL_DIR:PATH=$cross_root/include \
-DLIB_INSTALL_DIR:PATH=$cross_root/lib \
-DSYSCONF_INSTALL_DIR:PATH=$cross_root/etc \
-DSHARE_INSTALL_PREFIX:PATH=$cross_root/share \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_C_COMPILER="/usr/bin/$cross_cc-gcc" \
-DCMAKE_CXX_COMPILER="/usr/bin/$cross_cc-g++" \
-DCMAKE_FIND_ROOT_PATH="$cross_root" \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_CXX_COMPILER="/usr/bin/$cross_cc-g++" \
-DCMAKE_FIND_ROOT_PATH="$cross_root" \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
$xml_library \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
$*