Kaynağa Gözat

Instructions for building with NLS and other tweaks


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4533 3789f03b-4d11-0410-bbf8-ca57d06f2519
tags/v1.1.90
DRC 13 yıl önce
ebeveyn
işleme
ce355e34d8
1 değiştirilmiş dosya ile 45 ekleme ve 11 silme
  1. 45
    11
      BUILDING.txt

+ 45
- 11
BUILDING.txt Dosyayı Görüntüle

@@ -10,15 +10,20 @@ Build Requirements (All Systems)
-- CMake (http://www.cmake.org) v2.8 or later

-- FLTK 1.3.0
* Must be patched using fltk/extensions.patch to get full functionality
* Must be patched using fltk/extensions.patch (in the TigerVNC source
directory) to get full functionality
* See "Building FLTK" below.

-- If building TLS support:
* GnuTLS and its dependencies (libgcrypt, libtasn1, libgpg-error)

-- If building native language support (NLS):
* Gnu gettext 0.14.4 or later
* See "Building Native Language Support" below.

-- libjpeg-turbo SDK
* If your system does not include libjpeg-turbo, you can download the SDK
from http://sourceforge.net/projects/libjpeg-turbo/files/
* If your system does not include libjpeg-turbo, then you can download the
SDK from http://sourceforge.net/projects/libjpeg-turbo/files/


=========================
@@ -242,13 +247,42 @@ To eliminate this dependency, add
to the CMake command line.


====================
Building TLS support
====================
======================================
Building Native Language Support (NLS)
======================================

NLS requires gettext, which is supplied with most Linux distributions but not
with most other operating systems. Building gettext from source is
straightforward on Mac and other Unix variants, but on Windows it requires
MinGW. Thus, it is not possible to enable NLS when building TigerVNC with
Visual C++.

You can override the ICONV_LIBRARIES and LIBINTL_LIBRARY CMake variables to
specify the locations of libiconv and libintl, respectively. For instance,
adding

-DLIBINTL_LIBRARY=/opt/gettext/lib/libintl.a

to the CMake command line would link TigerVNC against a static version of
libintl located under /opt/gettext. Adding

-DICONV_INCLUDE_DIR=/mingw/include \
-DICONV_LIBRARIES=/mingw/lib/libiconv.a \
-DGETTEXT_INCLUDE_DIR=/mingw/include \
-DLIBINTL_LIBRARY=/mingw/lib/libintl.a

to the CMake command line would link TigerVNC against the static versions of
libiconv and libintl included in the MinGW Developer Toolkit.


===============================================
Building Transport Layer Security (TLS) support
===============================================

VeNCrypt (the TigerVNC security and authentication extensions) can be built
with TLS support, which provides built-in encryption for VNC sessions. This
requires GnuTLS, which is not pre-installed on all platforms. This section
requires GnuTLS, which is readily available in many Linux distributions but not
as readily available in binary form on other types of systems. This section
describes the issues associated with building a version of TigerVNC with TLS
support and how to work around those issues.

@@ -263,7 +297,7 @@ automatically and link against it. However, this produces a version of
TigerVNC that depends on the GnuTLS dynamic libraries, and thus the TigerVNC
binaries are not portable.

To build a fully portable, cross-compatible version of TigerVNC with VeNCrypt
To build a fully portable, cross-compatible version of TigerVNC with TLS
support, it is necessary to link against the GnuTLS static library (as well
as the static libraries of its dependencies.) If you are lucky enough, then
your O/S distribution may include pre-packaged versions of these static
@@ -271,8 +305,8 @@ libraries. Otherwise, it will be necessary to build GnuTLS, libgcrypt,
libtasn1, and libgpg-error from source.

You can manipulate the GNUTLS_INCLUDE_DIR and GNUTLS_LIBRARY CMake variables to
accommodate a custom build of GnuTLS that is installed in a non-system
directory. For instance, adding
build TigerVNC against a custom build of GnuTLS that is installed in a
non-system directory. For instance, adding

-DGNUTLS_INCLUDE_DIR=/opt/gnutls/include \
-DGNUTLS_LIBRARY='/opt/gnutls/lib/libgnutls.a;/opt/gnutls/lib/libgcrypt.a;/opt/gnutls/lib/libgpg-error.a;/opt/gnutls/lib/libtasn1.a' \
@@ -280,7 +314,7 @@ directory. For instance, adding

to the CMake or 'build-xorg build' command line will cause TigerVNC to be
statically linked against a custom installation of GnuTLS that resides under
/opt/gnutls. GnuTLS depends on zlib, so specifying --with-included-zlib will
/opt/gnutls. GnuTLS depends on zlib, so specifying -DUSE_INCLUDED_ZLIB=1 will
satisfy that dependency using TigerVNC's in-tree version of zlib, which
prevents TigerVNC from depending on the libz dynamic library.


Loading…
İptal
Kaydet