Commit | Line | Data |
---|---|---|
e4e13f5b LOK |
1 | This library provides support for the Pulse-Eight USB-CEC adapter. |
2 | ||
a1a112ac LOK |
3 | You 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 | ||
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 | |
4b215264 | 13 | * liblockdev 1.0 or later |
0e8ac6a7 LOK |
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 | |
80feba65 | 18 | * libtool |
0e8ac6a7 | 19 | * gcc 4.2 or later |
4b215264 | 20 | * liblockdev 1.0 development headers |
0e8ac6a7 | 21 | |
2b44051c LOK |
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 | ||
0e8ac6a7 | 27 | To 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 | ||
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 | |
10ccd54d | 40 | * pkg-config |
4777f253 | 41 | * xcode 3.2.6 or later |
0e8ac6a7 | 42 | |
38280939 LOK |
43 | To 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 | ||
55 | To compile libCEC on Windows, you'll need Visual C++ 2010 or Visual Studio 2010 | |
56 | The installer needs the Windows DDK (Driver Development Kit) and Nullsoft's | |
57 | NSIS. | |
58 | ||
9e58420e LOK |
59 | To compile LibCecSharp on Windows, you'll need Visual C++ 2008 or Visual Studio |
60 | 2008, because it is compiled against .NET 2.0. | |
61 | ||
0e8ac6a7 | 62 | To 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 | |
66 | To 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 |
71 | You will need both Visual Studio 2008 and Visual Studio 2010 to build the |
72 | installer from the command line. To build with Visual C++ 2008 and 2010, | |
73 | you will need to manually build libcec with Visual C++ 2010 and then | |
74 | build LibCecSharp.sln with Visual Studio 2008. See create-installer.bat | |
75 | for the required steps. | |
76 | ||
29104708 LOK |
77 | =============================================================================== |
78 | === Raspberry Pi === | |
79 | =============================================================================== | |
80 | ||
81 | We've included a script that builds libCEC with support for the Raspberry Pi | |
82 | in /project/RPi/build.sh. This script pulls in the latest toolchain and | |
83 | firmware, builds the necessary dependencies, and finally builds libCEC. The | |
84 | result will be a softfp build. | |
85 | ||
86 | To 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 | ||
90 | To build libCEC on the Pi itself, just follow the instructions for Linux. | |
91 | The configure script automatically checks whether the required headers and | |
92 | libraries can be found. | |
93 | ||
94 | To specify the path of the Raspberry Pi's development headers, use the | |
95 | following option for 'configure': | |
96 | --with-rpi-include-path="/path/to/opt/vc/include" | |
97 | ||
98 | To specify the path of the Raspberry Pi's libraries, use the following option | |
99 | for 'configure': | |
100 | --with-rpi-lib-path="/path/to/libbcm_host.so" | |
101 | ||
4d3a7562 | 102 | =============================================================================== |
79e50026 | 103 | === CuBox / TDA995x === |
4d3a7562 | 104 | =============================================================================== |
105 | ||
51b611bc | 106 | Solid-Run's CuBox uses a combined HDMI tranceiver / CEC controller by NXP. The |
107 | device driver for it is based on an SDK by the chip vendor and is compiled into | |
108 | the Linux kernel. The following options for 'configure' have been introduced: | |
4d3a7562 | 109 | |
79e50026 LOK |
110 | To enable support for the CuBox / TDA995x: |
111 | --enable-tda995x | |
4d3a7562 | 112 | |
51b611bc | 113 | To 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 | |
116 | If 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 |
123 | To compile libCEC with extensive debugging output, pass the following argument |
124 | to configure on Linux/OS-X/BSD: | |
125 | --enable-debug | |
126 | ||
0e8ac6a7 LOK |
127 | We provide a test client, named cec-client, to debug the device. |
128 | To 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 |
137 | We provide a C, C++ and .NET CLR interface to the adapter. |
138 | ||
139 | C++ developers: | |
140 | * the API can be found in /include/cec.h | |
141 | * an example implementation can be found in /src/testclient/main.cpp | |
142 | ||
143 | C 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 |
154 | If you wish to contribute to this project, you must first sign our contributors |
155 | agreement. Please see http://www.pulse-eight.net/contributors for more | |
156 | information. |