~ubuntu-branches/ubuntu/oneiric/dbus/oneiric-security

« back to all changes in this revision

Viewing changes to cmake/cross-compile.sh

  • Committer: Bazaar Package Importer
  • Author(s): Scott James Remnant
  • Date: 2010-12-21 13:43:26 UTC
  • mfrom: (1.1.24 upstream)
  • Revision ID: james.westby@ubuntu.com-20101221134326-tphabew59n072ej1
Tags: 1.4.1-0ubuntu1
* New upstream release:
  - Fix for CVE-2010-4352: sending messages with excessively-nested
    variants can crash the bus. The existing restriction to 64-levels
    of nesting previously only applied to the static type signature;
    now it also applies to dynamic nesting using variants.
  - Various bug fixes.

* Dropped patch from 1.4.0-0ubuntu2 since it's now included upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
#
 
3
#  cross compile script for cmake
 
4
 
5
# initial written by Fridrich Strba
 
6
# refactored to debian/lenny by Ralf Habacker
 
7
#
 
8
#  reported to work at least on debian/lenny 
 
9
 
10
 
 
11
if test -f /usr/bin/i686-pc-mingw32-gcc; then
 
12
    cross_cc=i686-pc-mingw32
 
13
elif test -f /usr/bin/i586-mingw32msvc-gcc; then
 
14
    cross_cc=i586-mingw32msvc
 
15
else
 
16
    echo "could not determine mingw cross compiler"
 
17
    exit 1
 
18
fi
 
19
 
 
20
if test -d ~/$cross_cc; then
 
21
    cross_root=~/$cross_cc
 
22
elif test -d /usr/$cross_cc/sys-root/mingw; then
 
23
    cross_root=/usr/$cross_cc/sys-root/mingw
 
24
elif test -d /usr/$cross_cc/lib; then
 
25
    cross_root=/usr/$cross_cc
 
26
else
 
27
    echo "could not determine mingw cross compiler sdk"
 
28
    exit 1
 
29
fi
 
30
 
 
31
# make cmake happy 
 
32
export TEMP=/tmp
 
33
 
 
34
HOST_CC=gcc; export HOST_CC;
 
35
 
 
36
if test -d $cross_root/lib/pkgconfig; then 
 
37
    PKG_CONFIG_PATH="$cross_root/lib/pkgconfig:$cross_root/share/pkgconfig"; export PKG_CONFIG_PATH;
 
38
fi 
 
39
 
 
40
if test -d "$MINGW32_CLASSPATH" ||  test -f "$cross_root/share/java/libgcj.jar";  then 
 
41
    CLASSPATH="$CLASSPATH:${MINGW32_CLASSPATH:-$cross_root/share/java/libgcj.jar:$cross_root/share/java/libgcj-tools.jar}"; export CLASSPATH;
 
42
fi
 
43
 
 
44
_PREFIX="/usr/bin/$cross_cc-";
 
45
for i in `ls -1 ${_PREFIX}* | grep -v 'gcc-'`; do
 
46
    x=`echo $i|sed "s,${_PREFIX},,"|sed "s,\.awk*,,"|tr "a-z+-" "A-ZX_"`;
 
47
    declare -x $x="$i" ; export $x;
 
48
done;
 
49
unset _PREFIX;
 
50
 
 
51
CC="${MINGW32_CC:-$cross_cc-gcc}"; export CC;
 
52
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;
 
53
LDFLAGS="${MINGW32_LDFLAGS:--Wl,--exclude-libs=libintl.a -Wl,--exclude-libs=libiconv.a}"; export LDFLAGS;
 
54
 
 
55
if [ -x "/usr/bin/$cross_cc-g++" ]; then
 
56
    CXX="${MINGW32_CXX:-$cross_cc-g++}"; export CXX;
 
57
    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;
 
58
else
 
59
    CXX=; export CXX;
 
60
    ac_cv_prog_CXX=no; export ac_cv_prog_CXX;
 
61
    CXXFLAGS=; export CXXFLAGS;
 
62
fi;
 
63
for i in `ls $cross_root/bin/*|grep -- "-config$"` ; do
 
64
    x=`basename $i|tr "a-z+-" "A-ZX_"|sed "s,\.,,"`;
 
65
    declare -x $x="$i" ; export $x;
 
66
done;
 
67
unset x i ;
 
68
 
 
69
if ! test -f "$cross_root/lib/libexpat.dll.a"; then
 
70
    (cd /tmp; wget http://www.winkde.org/pub/kde/ports/win32/repository/win32libs/expat-2.0.1-bin.zip)
 
71
    (cd /tmp; wget http://www.winkde.org/pub/kde/ports/win32/repository/win32libs/expat-2.0.1-lib.zip)
 
72
    (cd $cross_root; unzip -x /tmp/expat-2.0.1-bin.zip)
 
73
    (cd $cross_root; unzip -x /tmp/expat-2.0.1-lib.zip)
 
74
fi 
 
75
 
 
76
if test -f "$cross_root/lib/libexpat.dll.a"; then
 
77
    xml_library=-DDBUS_USE_EXPAT=On -DLIBEXPAT_INCLUDE_DIR:PATH=$cross_root/include -DLIBEXPAT_LIBRARIES:PATH=$cross_root/lib/libexpat.dll.a 
 
78
else
 
79
    echo "could not find a cross compile xml libraray"
 
80
    exit 1
 
81
fi
 
82
 
 
83
cmake \
 
84
    -DCMAKE_SYSTEM_NAME="Windows" \
 
85
    -DCMAKE_VERBOSE_MAKEFILE=ON \
 
86
    -DCMAKE_INSTALL_PREFIX:PATH=$cross_root \
 
87
    -DCMAKE_INSTALL_LIBDIR:PATH=$cross_root/lib \
 
88
    -DINCLUDE_INSTALL_DIR:PATH=$cross_root/include \
 
89
    -DLIB_INSTALL_DIR:PATH=$cross_root/lib \
 
90
    -DSYSCONF_INSTALL_DIR:PATH=$cross_root/etc \
 
91
    -DSHARE_INSTALL_PREFIX:PATH=$cross_root/share \
 
92
    -DBUILD_SHARED_LIBS:BOOL=ON \
 
93
    -DCMAKE_C_COMPILER="/usr/bin/$cross_cc-gcc" \
 
94
    -DCMAKE_CXX_COMPILER="/usr/bin/$cross_cc-g++" \
 
95
    -DCMAKE_FIND_ROOT_PATH="$cross_root" \
 
96
    -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
 
97
    -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
 
98
    -DCMAKE_CXX_COMPILER="/usr/bin/$cross_cc-g++" \
 
99
    -DCMAKE_FIND_ROOT_PATH="$cross_root" \
 
100
    -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
 
101
    -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
 
102
    $xml_library \
 
103
    -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
 
104
    $*
 
105