Add debian package patches.
[deb_libcec.git] / README
1 This library provides support for the Pulse-Eight USB-CEC adapter.
2
3 You can find a list of frequently asked questions on the following page:
4 http://libcec.pulse-eight.com/faq
5
6 ===============================================================================
7 === Linux & BSD ===
8 ===============================================================================
9
10 libCEC needs the following dependencies in order to work correctly:
11 * udev v151 or later
12 * cdc-acm support compiled into the kernel or available as module
13 * liblockdev 1.0 or later
14
15 To compile libCEC on Linux, you'll need the following dependencies:
16 * autoconf 2.13 or later
17 * automake 1.11 or later
18 * libtool
19 * gcc 4.2 or later
20 * liblockdev 1.0 development headers
21
22 The following dependencies are recommended. Without them, the adapter can not
23 be auto-detected.
24 * pkg-config
25 * udev development headers v151 or later
26
27 To compile, execute the following commands:
28 # ./bootstrap
29 # ./configure
30 # make
31 # sudo make install
32
33 ===============================================================================
34 === OS-X ===
35 ===============================================================================
36
37 To compile libCEC on OS-X, you'll need the following dependencies:
38 * autoconf 2.13 or later
39 * automake 1.11 or later
40 * pkg-config
41 * xcode 3.2.6 or later
42
43 To compile, execute the following command:
44 # ./bootstrap
45 # ./configure
46 # make
47 # sudo make install
48
49 # Note: You may need to copy pkg.m4 to your m4 sources directory
50
51 ===============================================================================
52 === Windows ===
53 ===============================================================================
54
55 To compile libCEC on Windows, you'll need Visual Studio 2012 and Visual Studio
56 or Visual C++ 2008. The latter is needed to build LibCecSharp for .Net
57 Framework 2.0.
58
59 The adapter detection code needs the Windows DDK (Driver Development Kit).
60
61 To create an installer, you'll need Nullsoft's NSIS.
62
63 To compile libCEC, follow these instructions:
64 * open /project/libcec.sln with Visual Studio 2012.
65 * build the project.
66
67 To build an installer on Windows:
68 * download and install NSIS.
69 * go to /project and execute create-installer.bat to create the installer.
70 * the installer is stored as /build/libCEC-installer.exe
71
72 ===============================================================================
73 === Raspberry Pi ===
74 ===============================================================================
75
76 We've included a script that builds libCEC with support for the Raspberry Pi
77 in /project/RPi/build.sh. This script pulls in the latest toolchain and
78 firmware, builds the necessary dependencies, and finally builds libCEC. The
79 result will be a softfp build.
80
81 To build libCEc on your development machine, follow these instructions:
82 * run '/project/RPi/build.sh /desired/destination/path/for/binaries'
83 * run 'make install'
84
85 To build libCEC on the Pi itself, just follow the instructions for Linux.
86 The configure script automatically checks whether the required headers and
87 libraries can be found.
88
89 To specify the path of the Raspberry Pi's development headers, use the
90 following option for 'configure':
91 --with-rpi-include-path="/path/to/opt/vc/include"
92
93 To specify the path of the Raspberry Pi's libraries, use the following option
94 for 'configure':
95 --with-rpi-lib-path="/path/to/libbcm_host.so"
96
97 ===============================================================================
98 === CuBox / TDA995x ===
99 ===============================================================================
100
101 Solid-Run's CuBox uses a combined HDMI tranceiver / CEC controller by NXP. The
102 device driver for it is based on an SDK by the chip vendor and is compiled into
103 the Linux kernel. The following options for 'configure' have been introduced:
104
105 To enable support for the CuBox / TDA995x:
106 --enable-tda995x
107
108 To specify the path to the SDK part of the kernel driver:
109 --with-tda995x-toolkit-path='path/to/linux/drivers/video/dovefb/nxp_hdmi'
110
111 If the toolkit path is not specified, it is assumed that a directory named
112 'nxp_hdmi' (or a link to it) exists in the top level of the source tree.
113
114 ===============================================================================
115 === Debugging / Testing ===
116 ===============================================================================
117
118 To compile libCEC with extensive debugging output, pass the following argument
119 to configure on Linux/OS-X/BSD:
120 --enable-debug
121
122 We provide a test client, named cec-client, to debug the device.
123 To check whether the device can be detected, execute the following command:
124 * cec-client -l
125
126 "cec-client -h" shows a list of commands and options that are available.
127
128 ===============================================================================
129 === Developers ===
130 ===============================================================================
131
132 We provide a C, C++ and .NET CLR interface to the adapter.
133
134 C++ developers:
135 * the API can be found in /include/cec.h
136 * an example implementation can be found in /src/testclient/main.cpp
137
138 C developers:
139 * the API can be found in /include/cecc.h
140
141 .NET developers:
142 * add a reference to LibCecSharp.dll
143 * an example can be found in \src\CecSharpTester\CecSharpClient.cs
144
145 ===============================================================================
146 === Developers Agreement ===
147 ===============================================================================
148
149 If you wish to contribute to this project, you must first sign our contributors
150 agreement. Please see http://www.pulse-eight.net/contributors for more
151 information.