Meego Wiki
Views

SDK/Build MeeGo SDK for Windows

From MeeGo wiki
< SDK
Revision as of 07:37, 17 February 2011 by Wcwang (Talk | contribs)
Jump to: navigation, search

These are the BKMs to build MeeGo SDK for Windows. This implemented a part of Feature 10971 - Build MeeGo SDK for Windows in a public server. For more information about MeeGo SDK for Windows, please check SDK/MeeGo SDK for Windows.

Maxayu 09:17, 22 December 2010 (UTC)

Contents

Qt Creator 2.1 rc1

To build Qt Creator, we need to follow the spec file of the rpm package (http://build.meego.com/package/show?package=meego-sdk-qt-creator&project=devel%3Atools%3Asdk%3Ahost).

Prerequisite

DesciptionLinking
Windows OS (XP/Vista/7)http://www.microsoft.com
MeeGo SDK for Windowshttp://wiki.meego.com/SDK/MeeGo_SDK_for_Windows
Visual Studio 2008http://www.microsoft.com/express/Downloads/#2008-All
Qt for Open Source on Windows (VS2008)http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.1-vs2008.exe

In the spec file, the following tasks are performed.

- Pre-Build

  • Download tar ball qt-creator-*-src.tar.gz and decompress it
  • Download and apply the main patch meego-sdk-qt-creator-*.patch.bz2
  • Download mtf.png and copy images for meego

For instance, run the below commands in MADDE Terminal of MeeGo SDK. Run it in the decompressed directory of source code.

$patch -p1 -i ../meego-sdk-qt-creator-2.1.0-rc1.patch
$cp -rf src/plugins/qt4projectmanager/qt-maemo/images src/plugins/qt4projectmanager/qt-meego/
$install -D -p -m 0644 ../mtf.png src/plugins/qt4projectmanager/wizards/images/mtf.png

- Build

Then build Qt Creator in Qt Command Prompt. Run the below commands in an independent build directory, which can be created in parallel with the source directory and named 'qt-creator-*-rc1-build'.

>qmake -r DEFINES+=QTCREATOR_WITH_QML CONFIG-=console -config release ..\qt-creator-2.1.0-rc1-src\qtcreator.pro
>nmake

- Post Build

After building Qt Creator with VS2008 and Qt by Nokia v4.7.1 (VS 2008), we manually copy everything via

1. xcopy /Y /R /E /EXCLUDE:%SCRIPT_DIRECTORY%\install_creator_step_excludes.txt %REPOSITORY_DIRECTORY%\creator %TARGET_LOCATION%\

  •  %REPOSITORY_DIRECTORY%: The build directory of Qt Creator, which should already contain \bin, \lib, \share and \src.
  •  %TARGET_LOCATION%: Create an independent folder manually to store the target files, which named 'qtcreator'.

For instance,

>xcopy /Y /R /E /EXCLUDE:C:\bin_win\install_creator_step_excludes.txt C:\build\qt-creator\qt-creator-2.1.0-rc1-build C:\build\data\qtcreator

2. xcopy /y %REPOSITORY_DIRECTORY%\creator\lib\qtcreator\plugins\Nokia\Find.dll %TARGET_LOCATION%\lib\qtcreator\plugins\Nokia\

There missed a file Find.dll unfortunately, which can be copied manually. For instance,

>xcopy /y C:\build\qt-creator\qt-creator-2.1.0-rc1-build\lib\qtcreator\plugins\Nokia\Find.dll C:\build\data\qtcreator\lib\qtcreator\plugins\Nokia\

3. Copy all the .dll and .exe files from C:\qt\4.7.1\bin to %TARGET_LOCATION%\bin.

4. Copy the following plugins to the corresponding subdirectories of %TARGET_LOCATION%\bin.

imageformats
imageformats/qgif4.dll
imageformats/qico4.dll
imageformats/qjpeg4.dll
imageformats/qmng4.dll
imageformats/qsvg4.dll
imageformats/qtiff4.dll
iconengines
iconengines/qsvgicon4.dll
sqldrivers
sqldrivers/qsqlite4.dll
codecs
codecs/qcncodecs4.dll
codecs/qjpcodecs4.dll
codecs/qkrcodecs4.dll
codecs/qtwcodecs4.dll
accessible
accessible/qtaccessiblewidgets4.dll

Compress the qtcreator into qtcreator.7z package.

MADDE

  • Please change the following line in /usr/i586-mingw32msvc/include/stdint.h from:
typedef signed char int8_t;

To:

//typedef signed char int8_t; !!!! XXX XXXX The change in the next line is a tmp edit for building MADDE only. Please change it back to this line ASAP.
typedef char int8_t;
  • MADDE builds if you have all required distfiles in place. Additionally this requires that required packages are installed on build system (wine & mingw cross-compiler among other things).
cd /path/to/madde
make w32 SUMO=meego
../berlin_gatherer.sh -e _build

Here is the file Media:Berlin-gatherer.sh‎

qt-tools 4.7.1

Follow instructions on http://meego.gitorious.org/meego-developer-tools/madde/blobs/master/docs/QtToolsForMadde.rst . Which contains my modifications.

The patch mentioned in the above link can be downloaded from here: Media:Qt qtmake option.cpp.patch.

mgen and mmoc from libmeegotouch need to be added. Source code of libmeegotouch can be downloaded from http://build.meego.com/package/show?package=libmeegotouch&project=Trunk.

mgen

To build mgen, create a file "make.bat" by copy the following lines:

set MYQTDIR=C:\Qt\4.7.1
set CL=/I%MYQTDIR%\include\QtGui /I%MYQTDIR%\include\QtCore /I%MYQTDIR%\include
set LIBRARY_PATH=%MYQTDIR%\lib
cl mgen.cpp mgen_processor.cpp %LIBRARY_PATH%\QtGui4.lib %LIBRARY_PATH%\QtCore4.lib %LIBRARY_PATH%\QtCore4.lib

Put the file "make.bat" into "mgen" sub-directory of libmeegotouch, and invoke it to build mgen.

Toolchain

I used this script http://meego.gitorious.org/meego-developer-tools/madde/blobs/master/ext/i386-toolchain-w32-meego.sh to build toolchain for IA, which is based on toolchain-w32.sh (for ARM).

Qt Simulator

Refer to: http://developer.qt.nokia.com/wiki/Qt_Simulator and http://build.meego.com/package/view_file?file=qt-simulator.spec&package=qt-simulator&project=devel%3Atools%3Asdk%3Ahost&srcmd5=e45d364bbac25fb09e70f49e9650177c (require login. Download source code from here.)

Source code of simulator need to be patched by Media:Simulator.patch.

Create a directory "simulator-depends".

Use the bat file Media:Make_bat.txt to build it. While you need to apply the following work around after building simulator-mobility and before building simulator.

cd simulator-mobility-1.1.0~git1/plugins/sensors/simulator/
mv main.cpp main.cpp.sav
Personal tools