summaryrefslogtreecommitdiffstats
path: root/doc/src/emb-install.qdoc
blob: 5ee9e8fcf557b1f8ff24646187ea6850d675b6c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain
** additional rights.  These rights are described in the Nokia Qt LGPL
** Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
** package.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
**
**
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \page qt-embedded-install.html

    \title Installing Qt for Embedded Linux
    \ingroup qt-embedded-linux
    \ingroup installation
    \brief How to install Qt for Embedded Linux.

    This document describes how to install \l{Qt for Embedded Linux} in your
    development environment:

    \tableofcontents

    Please see the \l{Cross-Compiling Qt for Embedded Linux Applications}{cross
    compiling} and \l{Deploying Qt for Embedded Linux Applications}{deployment}
    documentation for details on how to install \l{Qt for Embedded Linux} on
    your target device.

    Note also that this installation procedure is written for Linux,
    and that it may need to be modified for other platforms.

    \section1 Step 1: Installing the License File (commercial editions only)

    If you have the commercial edition of \l{Qt for Embedded Linux}, the first step
    is to install your license file as \c $HOME/.qt-license.

    For the open source version you do not need a license file.

    \section1 Step 2: Unpacking the Archive

    First uncompress the archive in the preferred location, then
    unpack it:

    \snippet doc/src/snippets/code/doc_src_emb-install.qdoc 0

    This document assumes that the archive is unpacked in the
    following directory:

    \snippet doc/src/snippets/code/doc_src_emb-install.qdoc 1

    \section1 Step 3: Building the Library

    Before building the \l{Qt for Embedded Linux} library, run the \c
    ./configure script to configure the library for your development
    architecture. You can list all of the configuration system's
    options by typing \c {./configure -help}.

    Note that by default, \l{Qt for Embedded Linux} is configured for
    installation in the \c{/usr/local/Trolltech/QtEmbedded-%VERSION%}
    directory, but this can be changed by using the \c{-prefix}
    option. Alternatively, the \c{-prefix-install} option can be used
    to specify a "local" installation within the source directory.

    The configuration system is also designed to allow you to specify
    your platform architecture:

    \snippet doc/src/snippets/code/doc_src_emb-install.qdoc 2

    In general, all Linux systems which have framebuffer support can
    use the \c generic architecture. Other typical architectures are
    \c x86, \c arm and \c mips.

    \note If you want to build Qt for Embedded Linux for use with a virtual
    framebuffer, pass the \c{-qvfb} option to the \c configure
    script.

    To create the library and compile all the demos, examples, tools,
    and tutorials, type:

    \snippet doc/src/snippets/code/doc_src_emb-install.qdoc 3

    On some systems the \c make utility is named differently, e.g. \c
    gmake. The \c configure script tells you which \c make utility to
    use.

    If you did not configure \l{Qt for Embedded Linux} using the \c{-prefix-install}
    option, you need to install the library, demos, examples, tools,
    and tutorials in the appropriate place. To do this, type:

    \snippet doc/src/snippets/code/doc_src_emb-install.qdoc 4

    and enter the root password.

    \note You can use the \c INSTALL_ROOT environment variable to specify
    the location of the installed files when invoking \c{make install}.

    \section1 Step 4: Adjusting the Environment Variables

    In order to use \l{Qt for Embedded Linux}, the \c PATH variable must be extended
    to locate \c qmake, \c moc and other \l{Qt for Embedded Linux} tools, and the \c
    LD_LIBRARY_PATH must be extended for compilers that do not support
    \c rpath.

    To set the \c PATH variable, add the following lines to your \c
    .profile file if your shell is bash, ksh, zsh or sh:

    \snippet doc/src/snippets/code/doc_src_emb-install.qdoc 5

    In case your shell is csh or tcsh, add the following line to the
    \c .login file instead:

    \snippet doc/src/snippets/code/doc_src_emb-install.qdoc 6

    If you use a different shell, please modify your environment
    variables accordingly.

    For compilers that do not support \c rpath you must also extend
    the \c LD_LIBRARY_PATH environment variable to include
    \c /usr/local/Trolltech/QtEmbedded-%VERSION%/lib. Note that on Linux
    with GCC, this step is not needed.

    \section1 Step 5: Building the Virtual Framebuffer

    For development and debugging, \l{Qt for Embedded Linux} provides a virtual
    framebuffer as well as the option of running \l{Qt for Embedded Linux} as a VNC
    server. For a description of how to install the virtual
    framebuffer and how to use the VNC protocol, please consult the
    documentation at:

    \list
       \o \l {The Virtual Framebuffer}
       \o \l {The VNC Protocol and Qt for Embedded Linux}
    \endlist

    Note that the virtual framebuffer requires a Qt for X11
    installation. See \l {Installing Qt on X11 Platforms} for details.

    The Linux framebuffer, on the other hand, is enabled by default on
    all modern Linux distributions. For information on older versions,
    see \l http://en.tldp.org/HOWTO/Framebuffer-HOWTO.html. To test
    that the Linux framebuffer is set up correctly, use the program
    provided by the \l {Testing the Linux Framebuffer} document.

    That's all. \l{Qt for Embedded Linux} is now installed.

    \table 100%
    \row
    \o
    \bold {Customizing the Qt for Embedded Linux Library}

    When building embedded applications on low-powered devices,
    reducing the memory and CPU requirements is important.

    A number of options tuning the library's performance are
    available. But the most direct way of saving resources is to
    fine-tune the set of Qt features that is compiled. It is also
    possible to make use of accelerated graphics hardware.

    \list
        \o \l {Fine-Tuning Features in Qt}
        \o \l {Qt Performance Tuning}
        \o \l {Adding an Accelerated Graphics Driver to Qt for Embedded Linux}
    \endlist

    \endtable
*/