|
1 | 1 | # About
|
2 |
| - |
3 | 2 | This library provides support for Pulse-Eight's USB-CEC adapter and other CEC capable hardware, like the Raspberry Pi.
|
4 | 3 |
|
5 |
| -You can find a list of frequently asked questions on [libCEC's FAQ page] (http://libcec.pulse-eight.com/faq) |
| 4 | +A list of frequently asked questions can be found on [libCEC's FAQ page] (http://libcec.pulse-eight.com/faq). |
| 5 | + |
| 6 | +This project only contains libCEC, LibCecSharp and the Python wrapper now. |
| 7 | +Client applications, previously part of this repository, have been moved to [this repository](https://github.com/Pulse-Eight/cec-utils). |
6 | 8 |
|
7 | 9 | # Supported platforms
|
8 | 10 |
|
9 | 11 | ## Linux & BSD
|
10 |
| - |
11 |
| -### Prerequisites |
12 |
| -libCEC needs the following dependencies in order to work correctly: |
13 |
| -* [p8-platform] (https://github.com/Pulse-Eight/platform) 2.0 or later |
14 |
| -* udev v151 or later |
15 |
| -* cdc-acm support compiled into the kernel or available as module |
16 |
| -* [liblockdev] (https://packages.debian.org/search?keywords=liblockdev) 1.0 or later |
17 |
| - |
18 |
| -To compile libCEC on Linux, you'll need the following dependencies: |
19 |
| -* [cmake 2.6 or better] (http://www.cmake.org/) |
20 |
| -* a supported C++ 11 compiler |
21 |
| -* [liblockdev] (https://packages.debian.org/search?keywords=liblockdev) 1.0 development headers |
22 |
| - |
23 |
| -The following dependencies are recommended. Without them, the adapter can not |
24 |
| -be (fully) auto-detected. |
25 |
| -* pkg-config |
26 |
| -* udev development headers v151 or later |
27 |
| -* X randr development headers |
28 |
| - |
29 |
| -### Compilation |
30 |
| -To compile libCEC on a new Debian/Ubuntu installation, follow these instructions: |
31 |
| -``` |
32 |
| -apt-get update |
33 |
| -apt-get install cmake liblockdev1-dev libudev-dev libxrandr-dev python-dev swig |
34 |
| -cd |
35 |
| -git clone https://github.com/Pulse-Eight/platform.git |
36 |
| -mkdir platform/build |
37 |
| -cd platform/build |
38 |
| -cmake .. |
39 |
| -make |
40 |
| -sudo make install |
41 |
| -cd |
42 |
| -git clone https://github.com/Pulse-Eight/libcec.git |
43 |
| -mkdir libcec/build |
44 |
| -cd libcec/build |
45 |
| -cmake .. |
46 |
| -make -j4 |
47 |
| -sudo make install |
48 |
| -sudo ldconfig |
49 |
| -``` |
| 12 | +See [docs/README.linux.md](docs/README.linux.md). |
50 | 13 |
|
51 | 14 | ### Raspberry Pi
|
52 |
| -If you're compiling for a Raspberry Pi, then the path to the required headers and libraries can be set manually, in case it's not in a standard system directory: |
53 |
| -``` |
54 |
| -cmake -DRPI_INCLUDE_DIR=/path/to/vc/include \ |
55 |
| - -DRPI_LIB_DIR=/path/to/vc/lib \ |
56 |
| - .. |
57 |
| -``` |
58 |
| - |
59 |
| -If you're cross compiling, then you can set the correct toolchain like this (for the Raspberry Pi): |
60 |
| -``` |
61 |
| -cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/CrossCompile.cmake \ |
62 |
| - -DXCOMPILE_BASE_PATH=/path/to/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi \ |
63 |
| - -DXCOMPILE_LIB_PATH=/path/to/firmware/hardfp/opt/vc/lib \ |
64 |
| - -DRPI_INCLUDE_DIR=/path/to/firmware/hardfp/opt/vc/include \ |
65 |
| - -DRPI_LIB_DIR=/path/to/firmware/hardfp/opt/vc/lib \ |
66 |
| - .. |
67 |
| -``` |
68 |
| - |
69 |
| -To compile libCEC on a new Raspbian installation, follow these instructions: |
70 |
| -``` |
71 |
| -sudo apt-get update |
72 |
| -sudo apt-get install cmake liblockdev1-dev libudev-dev libxrandr-dev python-dev swig |
73 |
| -cd |
74 |
| -git clone https://github.com/Pulse-Eight/platform.git |
75 |
| -mkdir platform/build |
76 |
| -cd platform/build |
77 |
| -cmake .. |
78 |
| -make |
79 |
| -sudo make install |
80 |
| -cd |
81 |
| -git clone https://github.com/Pulse-Eight/libcec.git |
82 |
| -mkdir libcec/build |
83 |
| -cd libcec/build |
84 |
| -cmake -DRPI_INCLUDE_DIR=/opt/vc/include -DRPI_LIB_DIR=/opt/vc/lib .. |
85 |
| -make -j4 |
86 |
| -sudo make install |
87 |
| -sudo ldconfig |
88 |
| -``` |
| 15 | +See [docs/README.raspberrypi.md](docs/README.raspberrypi.md). |
89 | 16 |
|
90 | 17 | ### Exynos
|
91 |
| -To compile in support for Exynos devices, you have to pass the argument -DHAVE_EXYNOS_API=1 to cmake: |
| 18 | +Follow the instructions in [docs/README.linux.md](docs/README.linux.md) and pass the argument -DHAVE_EXYNOS_API=1 to cmake: |
92 | 19 | ```
|
93 | 20 | cmake -DHAVE_EXYNOS_API=1 ..
|
94 | 21 | ```
|
95 | 22 |
|
96 | 23 | ### TDA995x
|
97 |
| -To compile in support for TDA995x devices, you have to pass the argument -DHAVE_TDA995X_API=1 to cmake: |
| 24 | +Follow the instructions in [docs/README.linux.md](docs/README.linux.md) and pass the argument -DHAVE_TDA995X_API=1 to cmake: |
98 | 25 | ```
|
99 | 26 | cmake -DHAVE_TDA995X_API=1 ..
|
100 | 27 | ```
|
101 | 28 |
|
102 | 29 | ### Debian
|
103 |
| -Use the following commands to create a debian package: |
104 |
| -``` |
105 |
| -source /etc/lsb-release |
106 |
| -sed "s/#DIST#/${DISTRIB_CODENAME}/g" debian/changelog.in > debian/changelog |
107 |
| -dpkg-buildpackage |
108 |
| -``` |
| 30 | +See [docs/README.debian.md](docs/README.debian.md). |
109 | 31 |
|
110 | 32 | ## Apple OS X
|
111 |
| - |
112 |
| -### Prerequisites |
113 |
| -To compile libCEC on OS X, you'll need the following dependencies: |
114 |
| -* [p8-platform] (https://github.com/Pulse-Eight/platform) 2.0 or later |
115 |
| -* [cmake 2.6 or better] (http://www.cmake.org/) |
116 |
| -* a supported C++ 11 compiler |
117 |
| -* xcode 3.2.6 or later |
118 |
| - |
119 |
| -### Compilation |
120 |
| -To compile, execute the following command: |
121 |
| -``` |
122 |
| -mkdir build |
123 |
| -cd build |
124 |
| -cmake .. |
125 |
| -make |
126 |
| -sudo make install |
127 |
| -``` |
128 |
| - |
129 |
| -_Note:_ You may need to copy pkg.m4 to your m4 sources directory |
| 33 | +See [docs/README.osx.md](docs/README.osx.md). |
130 | 34 |
|
131 | 35 | ## Microsoft Windows
|
132 |
| - |
133 |
| -### Prerequisites |
134 |
| -To compile libCEC on Windows, you'll need the following dependencies: |
135 |
| -* [p8-platform] (https://github.com/Pulse-Eight/platform) 2.0 or later |
136 |
| -* [cmake 2.6 or better] (http://www.cmake.org/) |
137 |
| -* [Visual Studio 2013] (https://www.visualstudio.com/) |
138 |
| -* [Windows DDK (Driver Development Kit)] (https://msdn.microsoft.com/en-us/windows/hardware/hh852365.aspx) |
139 |
| -* To create an installer, you'll need [Nullsoft's NSIS] (http://nsis.sourceforge.net/) |
140 |
| - |
141 |
| -When compiling LibCecSharp, you'll need the following versions too: |
142 |
| -* Visual Studio 2012 |
143 |
| -* Visual Studio 2010 |
144 |
| -* Visual Studio 2008 |
145 |
| - |
146 |
| -### Compilation |
147 |
| -To compile libCEC, follow these instructions: |
148 |
| -* run `support\build.cmd` to build libCEC and cec-client |
149 |
| -* open `project\libcec.sln` with Visual Studio 2013. |
150 |
| -* build the project. |
151 |
| - |
152 |
| -To develop for libCEC or cec-client in Visual Studio: |
153 |
| -* run `support\visual-studio.cmd` |
154 |
| - |
155 |
| -To build an installer on Windows: |
156 |
| -* go to `project` and execute `create-installer.bat` to create the installer. |
157 |
| -* the installer is stored as `build\libCEC-installer.exe` |
| 36 | +See [docs/README.windows.md](docs/README.windows.md). |
158 | 37 |
|
159 | 38 | # Developers
|
160 |
| - |
161 |
| -We provide a C, C++, Python and .NET CLR interface to the adapter. |
162 |
| - |
163 |
| -## C++ developers |
164 |
| -* the API can be found in `include/cec.h` |
165 |
| -* an example implementation can be found in `src/cec-client/cec-client.cpp` |
166 |
| - |
167 |
| -## C developers |
168 |
| -* the API can be found in `include/cecc.h` |
169 |
| -* an example implementation can be found in `src/cecc-client/cecc-client.cpp` |
170 |
| - |
171 |
| -## .NET developers |
172 |
| -* add a reference to `LibCecSharp.dll` |
173 |
| -* an example can be found in `src\CecSharpTester\CecSharpClient.cs` |
174 |
| - |
175 |
| -## Python developers |
176 |
| -* the API is exported to Python through Swig |
177 |
| -* an example can be found in `src/pyCecClient` |
178 |
| - |
179 |
| -# Developers Agreement |
180 |
| - |
181 |
| -If you wish to contribute to this project, you must first sign our contributors agreement. |
182 |
| -Please see [the contributors agreement] (http://www.pulse-eight.net/contributors) for more information. |
| 39 | +See [docs/README.developers.md](docs/README.developers.md). |
0 commit comments