blob: 71d26b65e595ff3f0e92d2a861a5ee48bce72b8d [file] [log] [blame]
DRC2c0ea902010-04-16 07:33:41 +00001*******************************************************************************
DRC667df922011-06-23 10:11:22 +00002** Building TigerVNC
DRC2c0ea902010-04-16 07:33:41 +00003*******************************************************************************
4
5
DRC667df922011-06-23 10:11:22 +00006================================
7Build Requirements (All Systems)
8================================
DRC2c0ea902010-04-16 07:33:41 +00009
DRC667df922011-06-23 10:11:22 +000010-- CMake (http://www.cmake.org) v2.8 or later
11
Peter Åstrande7370bd2013-01-22 08:11:05 +000012-- FLTK 1.3.2
Pierre Ossmanc656bac2012-08-17 08:10:27 +000013 * Must be a patched snapshot to get full functionality
Peter Åstrand956a6362012-08-09 07:33:08 +000014 * See "Building FLTK" below.
15
DRC69854b42011-05-13 09:31:24 +000016-- If building TLS support:
Pierre Ossmanec3dfe62014-10-17 10:36:58 +020017 * GnuTLS
DRC69854b42011-05-13 09:31:24 +000018
DRCce355e32011-06-24 04:58:01 +000019-- If building native language support (NLS):
20 * Gnu gettext 0.14.4 or later
21 * See "Building Native Language Support" below.
22
Pierre Ossman3e4281b2014-10-17 10:40:07 +020023-- libjpeg-turbo
24 * "Normal" libjpegv6 is also supported, although it is not
25 recommended as it is much slower.
DRC667df922011-06-23 10:11:22 +000026
27
28=========================
29Build Requirements (Unix)
30=========================
31
32-- Non-Mac platforms:
33 * X11 development kit
34
DRC2c0ea902010-04-16 07:33:41 +000035-- If building Xvnc:
DRC667df922011-06-23 10:11:22 +000036 * autoconf 2.57 or later
37 * automake 1.7 or later
38 * libtool 1.4 or later
39 * OpenSSL v0.9.7 or later
DRC2c0ea902010-04-16 07:33:41 +000040 * Python v2.3 or later
41 * zlib v1.2 or later
DRC2c0ea902010-04-16 07:33:41 +000042
DRC69854b42011-05-13 09:31:24 +000043 * pkgconfig 0.20 or later
44 If you are using an older RPM-based system which does not meet this
45 minimum requirement (such as Red Hat Enterprise Linux 4), then you can
46 build pkgconfig 0.20 from the Fedora 5 source RPM:
47 http://archive.fedoraproject.org/pub/archive/fedora/linux/core/5/source/SRPMS/pkgconfig-0.20-2.2.1.src.rpm
48
DRC69854b42011-05-13 09:31:24 +000049 * gettext 0.14.4 or later
50 If you are using an older RPM-based system which does not meet this
51 minimum requirement (such as Red Hat Enterprise Linux 4), then you can
52 build gettext 0.14.5 from the Fedora 5 source RPM:
53 http://archive.fedoraproject.org/pub/archive/fedora/linux/core/5/source/SRPMS/gettext-0.14.5-3.src.rpm
54 NOTE: gcj and libgcj are required when building the above source RPM.
DRC2b0b1942011-02-09 03:10:44 +000055
DRC2c0ea902010-04-16 07:33:41 +000056
DRC667df922011-06-23 10:11:22 +000057============================
58Build Requirements (Windows)
59============================
DRC180c0162010-10-27 07:20:27 +000060
DRCccc09692011-11-08 06:57:58 +000061-- MinGW or MinGW-w64
DRC180c0162010-10-27 07:20:27 +000062
DRC180c0162010-10-27 07:20:27 +000063-- Inno Setup (needed to build the TigerVNC installer)
64 Inno Setup can be downloaded from http://www.jrsoftware.org/isinfo.php.
65 You also need the Inno Setup Preprocessor, which is available in the
66 Inno Setup QuickStart Pack.
67
68 Add the directory containing iscc.exe (for instance,
69 C:\Program Files\Inno Setup 5) to the system or user PATH environment
70 variable prior to building TigerVNC.
71
DRC667df922011-06-23 10:11:22 +000072
DRC15b6e052011-10-06 01:20:52 +000073=========================
74Build Requirements (Java)
75=========================
76
77-- Sun/Oracle JDK v5 or later or OpenJDK
78
79-- See "Building Java Support" below.
80
81
Peter Åstrand956a6362012-08-09 07:33:08 +000082=============
83Building FLTK
84=============
85
Pierre Ossman1d36ed82014-08-22 14:41:03 +020086TigerVNC requires FLTK 1.3.2 (or later). Although it will build and work
87with plain 1.3.2, to get full functionality and the best behaviour you
Pierre Ossmanc656bac2012-08-17 08:10:27 +000088need to build a patched version:
Peter Åstrand956a6362012-08-09 07:33:08 +000089
Peter Åstrande7370bd2013-01-22 08:11:05 +0000901. Check out FLTK 1.3.2 using Subversion:
91$ svn co http://svn.easysw.com/public/fltk/fltk/tags/release-1.3.2 fltk-1.3.2
Peter Åstrand956a6362012-08-09 07:33:08 +000092
Pierre Ossman2f11bd92014-08-22 14:43:33 +0200932. For full functionality, apply patches. All patches can be found in
94 the contrib/fltk/ directory. There are also some general fixes to
95 FLTK that can be found in the contrib/fltk/fixes/ directory that
96 might be useful.
Brian Hinz1ff04d12013-11-28 16:26:08 +000097
Peter Åstrand956a6362012-08-09 07:33:08 +0000983. Use CMake to build FLTK using the same procedures described below for
99 building TigerVNC. The recipes in the "Build Recipes" section also apply.
Peter Åstrandfc3e86e2013-01-07 09:59:00 +0000100 If you want optimized code, make sure to build with
101 -DCMAKE_BUILD_TYPE=Release.
Peter Åstrand956a6362012-08-09 07:33:08 +0000102
1034. (optional) Use 'make install' to install FLTK into a directory of your
104 choosing.
105
1065. When building TigerVNC, set the FLTK_FLUID_EXECUTABLE CMake variable to the
107 location of the fluid executable that was built in Step 3 or installed in
108 Step 4. This gives CMake a hint as to where to find the FLTK library.
Pierre Ossmanbbb0c612012-08-17 08:05:59 +0000109
Peter Åstrand956a6362012-08-09 07:33:08 +00001106. If you did not install FLTK, then set the FLTK_INCLUDE_DIR CMake variable to
111 the location of the FLTK source directory.
112
113
DRC180c0162010-10-27 07:20:27 +0000114==================
115Out-of-Tree Builds
116==================
117
118Binary objects, libraries, and executables are generated in the same directory
119from which cmake was executed (the "binary directory"), and this directory need
120not necessarily be the same as the TigerVNC source directory. You can create
121multiple independent binary directories, in which different versions of
122TigerVNC can be built from the same source tree using different compilers or
123settings. In the sections below, {build_directory} refers to the binary
124directory, whereas {source_directory} refers to the TigerVNC source directory.
125For in-tree builds, these directories are the same.
126
127
128=================
129Building TigerVNC
130=================
131
132
DRC62f3a662011-08-24 00:03:31 +0000133Building the TigerVNC Viewer on Unix/Mac Systems
134------------------------------------------------
DRC667df922011-06-23 10:11:22 +0000135
136The following procedure will build the TigerVNC Viewer on Linux and Unix
137systems. On 64-bit systems, this will build a 64-bit version of TigerVNC. See
138"Build Recipes" for specific build instructions for building a 32-bit version
139of TigerVNC on 64-bit systems.
140
141 cd {build_directory}
DRC240a5ff2011-07-06 07:28:30 +0000142 cmake -G "Unix Makefiles" [additional CMake flags] {source_directory}
DRC667df922011-06-23 10:11:22 +0000143 make
144
DRC62f3a662011-08-24 00:03:31 +0000145
146Building the TigerVNC Server on Modern Unix/Linux Systems
147---------------------------------------------------------
148
DRC667df922011-06-23 10:11:22 +0000149Building the TigerVNC Server (Xvnc) is a bit trickier. On newer systems
150containing Xorg 7.4 or later (such as Fedora), Xvnc is typically built to use
151the X11 shared libraries provided with the system. The procedure for this is
DRC62f3a662011-08-24 00:03:31 +0000152system-specific, since it requires specifying such things as font directories,
153but the general outline is as follows (this procedure assumes that the viewer
154has already been built, per above.)
155
156 > cd {build_directory}
157
158 If performing an out-of-tree build:
159 > mkdir unix
160 > cp -R {source_directory}/unix/xserver unix/
161
162 > cp -R {xorg_source}/* unix/xserver/
163 (NOTE: {xorg_source} is the directory containing the Xorg source for the
164 machine on which you are building TigerVNC. The most recent versions of
165 Red Hat/CentOS/Fedora, for instance, provide an RPM called
166 "xorg-x11-server-source", which installs the Xorg source under
167 /usr/share/xorg-x11-server-source.)
168
169 > cd unix/xserver/
170 > patch -p1 < {source_directory}/unix/xserver{version}.patch
171 (where {version} matches the X server version you are building, such as
172 "17" for version 1.7.x.)
173 > autoreconf -fiv
174
Peter Åstrand01b24332011-10-31 08:14:40 +0000175 > ./configure --with-pic --without-dtrace --disable-static --disable-dri \
DRC62f3a662011-08-24 00:03:31 +0000176 --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg \
177 --disable-dmx --disable-xwin --disable-xephyr --disable-kdrive \
178 --disable-config-dbus --disable-config-hal --disable-config-udev \
179 --disable-dri2 --enable-install-libxf86config --enable-glx \
180 --with-default-font-path="catalogue:/etc/X11/fontpath.d,built-ins" \
181 --with-fontdir=/usr/share/X11/fonts \
182 --with-xkb-path=/usr/share/X11/xkb \
183 --with-xkb-output=/var/lib/xkb \
DRC0bb7e132011-08-24 00:26:54 +0000184 --with-xkb-bin-directory=/usr/bin \
DRC62f3a662011-08-24 00:03:31 +0000185 --with-serverconfig-path=/usr/lib[64]/xorg \
186 --with-dri-driver-path=/usr/lib[64]/dri \
187 {additional configure options}
188 (NOTE: This is merely an example that works with Red Hat Enterprise/CentOS
189 6 and recent Fedora releases. You should customize it for your particular
190 system. In particular, it will be necessary to customize the font, XKB,
191 and DRI directories.)
192
193 > make TIGERVNC_SRCDIR={source_directory}
194
195
196Building the TigerVNC Server on Legacy Unix/Linux Systems
197---------------------------------------------------------
DRC667df922011-06-23 10:11:22 +0000198
199Those using systems with older versions of Xorg must build a "legacy-friendly"
200version of the TigerVNC Server. This is accomplished by downloading and
201building the more recent Xorg modules in a local directory and then building
202Xvnc such that it links against the local build of these libraries, not the X11
203libraries installed on the system. The "build-xorg" script in the TigerVNC
204source distribution (located under unix/) automates this process.
205
206The following procedure will build both the TigerVNC Viewer and a
207"legacy-friendly" version of the TigerVNC Server:
208
209 cd {build_directory}
210 sh {source_directory}/unix/build-xorg init
211 sh {source_directory}/unix/build-xorg build [additional CMake flags]
212
213build-xorg generates a version of Xvnc that has no external dependencies on the
214X11 shared libraries or any other distribution-specific shared libraries. This
215version of Xvnc should be transportable across multiple O/S distributions.
216build-xorg should work on Red Hat Enterprise 4, its contemporaries, and later
217systems. It probably will not work on older systems. It has not been tested
218on non-Linux systems (yet).
219
220build-xorg can also be used to rebuild just the TigerVNC Server and Viewer,
221once the X11 modules and other dependencies have been built for the first time.
222This is convenient for testing changes that just apply to the TigerVNC source
223code. To accomplish this, run:
224
225 sh {source_directory}/unix/build-xorg rebuild [additional make flags]
226
227For instance,
228
229 sh {source_directory}/unix/build-xorg rebuild clean
230
231will clean both the Xvnc and vncviewer builds without destroying any of the
232build configuration or module dependencies.
233
234
DRCe4e604f2011-10-01 17:54:36 +0000235Building the Windows TigerVNC Viewer with MinGW
236-----------------------------------------------
DRC180c0162010-10-27 07:20:27 +0000237
DRCccc09692011-11-08 06:57:58 +0000238If building the Windows version of TigerVNC on a Windows build system, use
239the following procedure.
240
DRC180c0162010-10-27 07:20:27 +0000241 cd {build_directory}
DRC240a5ff2011-07-06 07:28:30 +0000242 cmake -G "MSYS Makefiles" [additional CMake flags] {source_directory}
DRC180c0162010-10-27 07:20:27 +0000243 make
244
DRCccc09692011-11-08 06:57:58 +0000245If cross-compiling on a Unix/Linux system, then see the "Build Recipes" section
246below.
DRC180c0162010-10-27 07:20:27 +0000247
248
249Debug Build
250-----------
251
DRCccc09692011-11-08 06:57:58 +0000252Add "-DCMAKE_BUILD_TYPE=Debug" to the CMake command line.
DRC180c0162010-10-27 07:20:27 +0000253
254
DRCe4e604f2011-10-01 17:54:36 +0000255Self-Contained GCC Build
256------------------------
DRC8290dd62011-02-10 22:54:36 +0000257
DRCe4e604f2011-10-01 17:54:36 +0000258If TigerVNC is built using GCC (including MinGW), then it may depend on the
259libgcc or libstdc++ dynamic libraries. To eliminate this dependency, add
DRC8290dd62011-02-10 22:54:36 +0000260
DRCe4e604f2011-10-01 17:54:36 +0000261 -DBUILD_STATIC=1
DRC8290dd62011-02-10 22:54:36 +0000262
Adam Tkacf586b842011-04-27 11:20:18 +0000263to the CMake command line.
DRC8290dd62011-02-10 22:54:36 +0000264
265
DRC15b6e052011-10-06 01:20:52 +0000266=====================
267Building Java Support
268=====================
269
270TigerVNC includes a Java version of the TigerVNC Viewer, which can be used on
271any platform that has a Java Runtime Environment (JRE) installed. The Java
272viewer works similarly to the native viewer, but with lower performance.
273
274To build the Java TigerVNC Viewer, add
275
276 -DBUILD_JAVA=1
277
278to the CMake or build-xorg command line. The build system will attempt to find
279an installed Java Development Kit (JDK) and determine the appropriate paths for
280the Java compiler (javac) and the JAR creation utility (jar). You can override
281these paths by setting the Java_JAVAC_EXECUTABLE and Java_JAR_EXECUTABLE CMake
282variables. You can also override the default flags that are passed to javac
283by setting the JAVACFLAGS CMake variable. The build system will look for
284keytool and jarsigner in the same directory as Java_JAR_EXECUTABLE. These
285tools are needed to sign the JAR file, which is necessary to enable certain
286functionality (such as clipboard transfers) when the Java viewer is used as an
287applet.
288
289If the Java viewer is built along with the Windows TigerVNC Server (WinVNC),
290then the build system will embed the Java viewer into WinVNC4.exe so that it
291will automatically be served up using WinVNC's built-in HTTP server.
292Similarly, if the Java viewer is built along with the Unix TigerVNC Server
293(Xvnc), then the build system will include the Java viewer in the server
294tarball.
295
Brian Hinzf88b3ad2013-12-02 02:53:10 +0000296By default, a self-signed certificate will be generated and used to sign the
297jar file. By specifying the following command line arguments to the CMake
298command line, an alternate certificate may be used for signing.
299
300 -DJAVA_KEYSTORE=${keystore_location_or_url}
301 -DJAVA_KEYSTORE_TYPE=${keystore_type} (Default: "jks")
302 -DJAVA_KEY_ALIAS=${keytore_key_alias}
303 -DJAVA_STOREPASS=${keystore_password}
304 -DJAVA_KEYPASS=${keystore_entry_password}
305 -DJAVA_TSA_URL=${url_of_timestamping_authority}
306
307The values of the JAVA_STOREPASS and JAVA_KEYPASS arguments may optionally be
308read from file or environment variables by prefixing the value with ":env "
309or ":file " (see the jarsigner documentation for more info):
310
311 export StorePass=tigervnc
312 export KeyPass=tigervnc
313 cmake \
314 ...
315 -DJAVA_STOREPASS=":env StorePass"
316 -DJAVA_KEYPASS=":env KeyPass"
317
DRC15b6e052011-10-06 01:20:52 +0000318
DRC240a5ff2011-07-06 07:28:30 +0000319======================================
DRCce355e32011-06-24 04:58:01 +0000320Building Native Language Support (NLS)
321======================================
322
DRCccc09692011-11-08 06:57:58 +0000323NLS requires gettext, which is supplied with most Linux distributions and
324with MinGW for Windows and which can easily be built from source on OS X and
325other Unix variants.
DRCce355e32011-06-24 04:58:01 +0000326
327You can override the ICONV_LIBRARIES and LIBINTL_LIBRARY CMake variables to
328specify the locations of libiconv and libintl, respectively. For instance,
329adding
330
331 -DLIBINTL_LIBRARY=/opt/gettext/lib/libintl.a
332
333to the CMake command line would link TigerVNC against a static version of
334libintl located under /opt/gettext. Adding
335
336 -DICONV_INCLUDE_DIR=/mingw/include \
337 -DICONV_LIBRARIES=/mingw/lib/libiconv.a \
338 -DGETTEXT_INCLUDE_DIR=/mingw/include \
339 -DLIBINTL_LIBRARY=/mingw/lib/libintl.a
340
341to the CMake command line would link TigerVNC against the static versions of
342libiconv and libintl included in the MinGW Developer Toolkit.
343
344
DRC180c0162010-10-27 07:20:27 +0000345===================
346Installing TigerVNC
347===================
348
349You can use the build system to install TigerVNC into a directory of your
DRC667df922011-06-23 10:11:22 +0000350choosing. To do this, add:
DRC180c0162010-10-27 07:20:27 +0000351
352 -DCMAKE_INSTALL_PREFIX={install_directory}
353
DRCccc09692011-11-08 06:57:58 +0000354to the CMake command line. Then, you can run 'make install' to build and
355install it.
DRC180c0162010-10-27 07:20:27 +0000356
357If you don't specify CMAKE_INSTALL_PREFIX, then the default is
DRC667df922011-06-23 10:11:22 +0000358c:\Program Files\TigerVNC on Windows and /usr/local on Unix.
DRC180c0162010-10-27 07:20:27 +0000359
360
DRC667df922011-06-23 10:11:22 +0000361=========================
362Creating Release Packages
363=========================
364
365The following commands can be used to create various types of release packages:
366
367
368Unix
369----
370
DRC667df922011-06-23 10:11:22 +0000371make tarball
372
373 Create a binary tarball containing the TigerVNC Viewer
374
375make servertarball
376
377 Create a binary tarball containing both the TigerVNC Server and Viewer
378
379make dmg
380
DRCaab38302011-06-25 20:24:02 +0000381 Create Macintosh disk image file that contains an application bundle of the
382 TigerVNC Viewer
DRC667df922011-06-23 10:11:22 +0000383
DRCaab38302011-06-25 20:24:02 +0000384make udmg
DRC667df922011-06-23 10:11:22 +0000385
386 On 64-bit OS X systems, this creates a version of the Macintosh package and
387 disk image which contains universal i386/x86-64 binaries. You should first
388 configure a 32-bit out-of-tree build of TigerVNC, then configure a 64-bit
389 out-of-tree build, then run 'make udmg' from the 64-bit build directory. The
390 build system will look for the 32-bit build under {source_directory}/osxx86
DRCaab38302011-06-25 20:24:02 +0000391 by default, but you can override this by setting the OSX_X86_BUILD CMake
392 variable to the directory containing your configured 32-bit build. Either
393 the 64-bit or 32-bit build can be configured to be backward compatible by
394 using the instructions in the "Build Recipes" section.
DRC667df922011-06-23 10:11:22 +0000395
396
397Windows
398-------
399
DRCccc09692011-11-08 06:57:58 +0000400make installer
DRC667df922011-06-23 10:11:22 +0000401
DRCccc09692011-11-08 06:57:58 +0000402 Create a Windows installer using Inno Setup. The installer package
403 (TigerVNC[64].exe) will be located under {build_directory}.
DRC667df922011-06-23 10:11:22 +0000404
405
406=============
407Build Recipes
408=============
409
410
41132-bit Build on 64-bit Linux/Unix (including OS X)
412--------------------------------------------------
413
DRCdc4f3542011-08-24 00:30:49 +0000414Set the following environment variables before building TigerVNC.
DRC667df922011-06-23 10:11:22 +0000415
416 CFLAGS='-O3 -m32'
417 CXXFLAGS='-O3 -m32'
418 LDFLAGS=-m32
419
DRCdc4f3542011-08-24 00:30:49 +0000420If you are building the TigerVNC Server on a modern Unix/Linux system, then
421you will also need to pass the appropriate --host argument when configuring the
422X server source (for instance, --host=i686-pc-linux-gnu).
423
DRC667df922011-06-23 10:11:22 +0000424
42564-bit Backward-Compatible Build on 64-bit OS X
426-----------------------------------------------
427
428Add
429
430 -DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.5.sdk \
431 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.5
432
433to the CMake command line. The OS X 10.5 SDK must be installed.
434
435
43632-bit Backward-Compatible Build on 64-bit OS X
437-----------------------------------------------
438
439Set the following environment variables:
440
441 CC=gcc-4.0
442 CXX=g++-4.0
443 CFLAGS='-O3 -m32'
444 CXXFLAGS='-O3 -m32'
445 LDFLAGS=-m32
446
447and add
448
449 -DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.4u.sdk \
450 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.4
451
452to the CMake command line. The OS X 10.4 SDK must be installed.
DRC180c0162010-10-27 07:20:27 +0000453
454
45564-bit MinGW Build on Cygwin
456----------------------------
457
458 cd {build_directory}
459 CC=/usr/bin/x86_64-w64-mingw32-gcc CXX=/usr/bin/x86_64-w64-mingw32-g++ \
460 RC=/usr/bin/x86_64-w64-mingw32-windres \
461 cmake -G "Unix Makefiles" -DCMAKE_SYSTEM_NAME=Windows \
462 -DCMAKE_AR=/usr/bin/x86_64-w64-mingw32-ar \
463 -DCMAKE_RANLIB=/usr/bin/x86_64-w64-mingw32-ranlib {source_directory}
464 make
465
466This produces a 64-bit build of TigerVNC that does not depend on cygwin1.dll or
467other Cygwin DLL's. The mingw64-x86_64-gcc-core and mingw64-x86_64-gcc-g++
468packages (and their dependencies) must be installed.
469
470
47132-bit MinGW Build on Cygwin
472----------------------------
473
474 cd {build_directory}
475 CC=/usr/bin/i686-w64-mingw32-gcc CXX=/usr/bin/i686-w64-mingw32-g++ \
476 RC=/usr/bin/i686-w64-mingw32-windres \
477 cmake -G "Unix Makefiles" -DCMAKE_SYSTEM_NAME=Windows \
478 -DDCMAKE_AR=/usr/bin/i686-w64-mingw32-ar \
479 -DCMAKE_RANLIB=/usr/bin/i686-w64-mingw32-ranlib {source_directory}
480 make
481
482This produces a 32-bit build of TigerVNC that does not depend on cygwin1.dll or
483other Cygwin DLL's. The mingw64-i686-gcc-core and mingw64-i686-gcc-g++
484packages (and their dependencies) must be installed.
485
486
487MinGW-w64 Build on Windows
488--------------------------
489
490This produces a 64-bit build of TigerVNC using the "native" MinGW-w64 toolchain
491(which is faster than the Cygwin version):
492
493 cd {build_directory}
494 CC={mingw-w64_binary_path}/x86_64-w64-mingw32-gcc \
495 CXX={mingw-w64_binary_path}/x86_64-w64-mingw32-g++ \
496 RC={mingw-w64_binary_path}/x86_64-w64-mingw32-windres \
497 cmake -G "MSYS Makefiles" \
498 -DCMAKE_AR={mingw-w64_binary_path}/x86_64-w64-mingw32-ar \
499 -DCMAKE_RANLIB={mingw-w64_binary_path}/x86_64-w64-mingw32-ranlib \
500 {source_directory}
501 make
502
503
504MinGW Build on Linux
505--------------------
506
507 cd {build_directory}
508 CC={mingw_binary_path}/i386-mingw32-gcc \
509 CXX={mingw_binary_path}/i386-mingw32-g++ \
510 RC={mingw_binary_path}/i386-mingw32-windres \
511 cmake -G "Unix Makefiles" -DCMAKE_SYSTEM_NAME=Windows \
512 -DCMAKE_AR={mingw_binary_path}/i386-mingw32-ar \
513 -DCMAKE_RANLIB={mingw_binary_path}/i386-mingw32-ranlib \
514 {source_directory}
515 make
Brian Hinz1ff04d12013-11-28 16:26:08 +0000516
517
518===============================
519Distribution-Specific Packaging
520===============================
521
522
523RPM Packages for RHEL / CentOS
524------------------------------
525
526The RPM spec files and patches used to create the nightly builds
527and releases can be found in the "contrib/rpm/el{5,6}" directories
528of the TigerVNC subversion trunk. All external source tarballs
529must be fetched manually and placed into the 'SOURCES' directory
530under the rpmbuild root. Additonally, the following macros need
531to be defined:
532
533 EL6:
534 %debug_package %{nil}
535
536 EL5:
537 %dist .el5
538 %_smp_mflags -j3
539 %debug_package %{nil}
540 %__arch_install_post /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot
541
542
543Debian packages for Ubuntu 12.04LTS
544-----------------------------------
545The debian folder used to create the nightly builds and releases
546can be found in the "contrib/deb/ubuntu-precise" directory of the
547TigerVNC subversion trunk.