Updated the date in the renderer-service-upnp.changes file
[profile/ivi/renderer-service-upnp.git] / README
1 Introduction:
2 -------------
3
4 Renderer-service-upnp is a high level d-Bus API that allows
5 client applications to discover and manipulate UPNP and DLNA media
6 renderers.  Renderer-service-upnp is a d-Bus service implemented on
7 top of the GUPnP libraries.  It is designed to facilitate the creation
8 of Digital Media Controllers (DMCs), in conjunction with
9 media-service-upnp, and to implement the DLNA 2-box push use case. The
10 use of renderer-service-upnp boasts a number of advantages:
11
12 1. It provides a language and toolkit neutral API that can be used by
13    any programming environment that supports d-Bus bindings.
14
15 2. It exposes high level APIs that are specifically designed for
16    manipulating  Digital Media Renderers (DMRs).
17
18 3. It reduces network traffic by communicating with Digital Media
19    Renderers on behalf of its clients.  This means that the device upon
20    which renderer-service-upnp runs, only downloads and parses a DMR's device
21    and service description files once, regardless of the number of
22    media applications making use of its services.
23
24 Compilation
25 ------------
26
27 Renderer-service-upnp is built using autotools and gcc.  It also has a
28 number of dependencies on third party libraries, notably glib, gupnp,
29 gssdp, gupnp-av and libsoup.  Both development versions of these
30 libraries and autotools need to be installed before
31 renderer-service-upnp can be compiled.  On Ubuntu 11.10 autotools, and
32 the glib and libsoup development libraries can be installed with the
33 following commands.
34
35 sudo apt-get install autoconf
36 sudo apt-get install libglib2.0-dev
37 sudo apt-get install libsoup2.4-dev
38
39 The GUPnP libraries in Ubuntu are a little out of date so it is best to
40 download the latest versions of these projects from their source code
41 repositories:
42
43 git://git.gnome.org/gupnp
44 git://git.gnome.org/gssdp
45 git://git.gnome.org/gupnp-av
46
47 Renderer-service-upnp should however, compile against older versions of
48 GUPnP, although you might see some warnings.  On Ubuntu the development
49 versions of the GUPnP libraries can be installed as follows:
50
51 sudo apt-get install libgupnp-1.0-dev
52 sudo apt-get install libgupnp-av-1.0-dev
53 sudo apt-get install libgssdp-1.0-dev
54
55 The development version of d-Bus is also required.  This can be
56 installed on Ubuntu by typing:
57
58 sudo apt-get install libdbus-1-dev
59
60 Although renderer-service-upnp does not link against the d-Bus libraries,
61 the development version of this package is required by its build
62 system to determine where to install the .service files.
63
64
65 Working with the source code repository
66 ---------------------------------------
67
68 Renderer-service-upnp can be downloaded, compiled and installed as
69 follows:
70
71    Clone repository
72      # git clone git://github.com/01org/renderer-service-upnp.git
73      # cd renderer-service-upnp
74
75    Configure and build
76      # ./autoreconf -i
77      # ./configure
78      # make
79
80    Final installation
81      # sudo make install
82
83 These instructions are suitable for users who simply want to install
84 and run renderer-service-upnp.  However, developers wishing to contribute
85 to the project should follow a separate "Configure and build" step.
86
87    Configure and build
88      # ./bootstrap-configure
89      # make
90
91 The script "bootstrap-configure" cleans the repository, calls
92 autreconf and then invokes configure with proper settings for
93 development.  These settings include the enabling of
94 maintainer mode and debugging.
95
96 Developers can remove autogenerated files with the following command
97
98      # make maintainer-clean
99
100 Configure Options:
101 ------------------
102
103 --enable-werror
104
105 This option is disabled by default.  To enable use --enable-werror.
106 When enabled, all warnings are treated as errors during compilation.
107 Should be enabled during development to ensure that errors do not
108 creep into the code base.  This option is enabled by
109 bootstrap-configure.
110
111 --enable-debug
112
113 This option is disabled by default.  To enable use
114 --enable-debug. When enabled, the make files produce debug builds.
115 This option is enabled by bootstrap-configure.
116
117 --enable-optimization
118
119 This option is enabled by default. To disable use
120 --disable-optimization. When enabled it turns on compiler
121 optimizations. Disable = -O0, enable = -O2.