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