Gnitry

Cross compiling Qt5 mingw32, http://mxe.cc

Jan 9th, 2013
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.14 KB | None | 0 0
  1. #!/bin/sh
  2. set -e
  3. set -x
  4.  
  5. QT_TAR=~/sources/qt5.tar
  6. QT_PREFIX=~/Qt5Mingw
  7. TMP_DIR=/tmp/qt5mingw-tmp
  8. MXE_DIR=/opt/mxe
  9.  
  10. export PATH=$PWD/bin:$PATH
  11. export PKG_CONFIG=$MXE_DIR/usr/bin/i686-pc-mingw32-pkg-config
  12. export PKG_CONFIG_PATH=$MXE_DIR/usr/i686-pc-mingw32/lib/pkgconfig
  13. export OPENSSL_LIBS="`'i686-pc-mingw32-pkg-config' --libs-only-l openssl`"
  14. export PSQL_LIBS="-lpq -lsecur32 `'i686-pc-mingw32-pkg-config' --libs-only-l openssl`-lws2_32"
  15. export SYBASE_LIBS="-lsybdb `'i686-pc-mingw32-pkg-config' --libs-only-l gnutls` -liconv -lws2_32"
  16. export PKG_CONFIG_LIBDIR=$MXE_DIR/usr/i686-pc-mingw32
  17. export PKG_CONFIG_SYSROOT_DIR=$MXE_DIR/usr/i686-pc-mingw32/lib
  18.  
  19. ########################################################################Z
  20.  
  21. rm -rf $TMP_DIR
  22. mkdir -p $TMP_DIR
  23. cd $TMP_DIR
  24. tar xf $QT_TAR
  25.  
  26. qtrepotools/bin/qt5_tool -c
  27.  
  28. sed -i "s|CFG_ICONV=no|CFG_ICONV=yes|" ./qtbase/configure
  29. echo -e "\nLIBS+=-lws2_32" >> ./qtbase/src/sql/sql.pro
  30. sed -i "s|#ifndef __ICreateDevEnum_INTERFACE_DEFINED__|#ifdef patched for mingw|" ./qtmultimedia/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
  31. sed -i "s|extern GUID CLSID_AudioRendererCategory;|extern const GUID CLSID_AudioRendererCategory;|" ./qtmultimedia/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
  32. sed -i "s|extern GUID IID_ICreateDevEnum;|extern const GUID IID_ICreateDevEnum;|" ./qtmultimedia/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
  33. sed -i "s|extern GUID CLSID_SystemDeviceEnum;|extern const GUID CLSID_SystemDeviceEnum;|" ./qtmultimedia/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
  34.  
  35.  
  36. ./configure -prefix $QT_PREFIX -release -opensource -confirm-license \
  37.         -xplatform win32-g++ -device-option CROSS_COMPILE=i686-pc-mingw32- \
  38.         -fast \
  39.         -force-pkg-config \
  40.         -iconv \
  41.         -opengl desktop \
  42.         -accessibility \
  43.         -no-reduce-exports \
  44.         -no-rpath \
  45.         -make libs \
  46.         -nomake demos \
  47.         -nomake examples \
  48.         -make tools \
  49.         -make translations \
  50.         -qt-sql-sqlite \
  51.         -qt-sql-odbc \
  52.         -qt-sql-psql \
  53.         -qt-sql-tds -D Q_USE_SYBASE \
  54.         -system-zlib \
  55.         -system-libpng \
  56.         -no-libjpeg \
  57.         -system-sqlite \
  58.         -openssl-linked \
  59.         -no-dbus \
  60.         -glib -gstreamer \
  61.         -verbose \
  62.         -I$MXE_DIR/usr/i686-pc-mingw32/include/dbus-1.0 \
  63.         -I$MXE_DIR/usr/i686-pc-mingw32/lib/dbus-1.0/include \
  64.         -no-icu \
  65.         -iconv \
  66.         -I$MXE_DIR/usr/i686-pc-mingw32/include/glib-2.0 \
  67.         -I$MXE_DIR/usr/i686-pc-mingw32/lib/glib-2.0/include \
  68.         -I$MXE_DIR/usr/i686-pc-mingw32/include/gstreamer-0.10 \
  69.         -I$MXE_DIR/usr/i686-pc-mingw32/include/libxml2 \
  70.         -no-pch \
  71.         -I$MXE_DIR/usr/i686-pc-mingw32/include/gtk-2.0 \
  72.         -I$MXE_DIR/usr/i686-pc-mingw32/include/cairo \
  73.         -I$MXE_DIR/usr/i686-pc-mingw32/include/pango-1.0 \
  74.         -I$MXE_DIR/usr/i686-pc-mingw32/lib/gtk-2.0/include \
  75.         -I$MXE_DIR/usr/i686-pc-mingw32/include/gdk-pixbuf-2.0 \
  76.         -I$MXE_DIR/usr/i686-pc-mingw32/include/atk-1.0 \
  77.         -no-gtkstyle
  78.  
  79. make -j9
  80. rm -rf $QT_PREFIX
  81. make install -j9
  82.  
  83. rm -rf $TMP_DIR
  84.  
  85. exit $?
Add Comment
Please, Sign In to add comment