sync LibCecSharp
[deb_libcec.git] / README
... / ...
CommitLineData
1This library provides support for the Pulse-Eight USB-CEC adapter.
2
3===============================================================================
4 === Linux ===
5===============================================================================
6
7libCEC needs the following dependencies in order to work correctly:
8* udev v151 or later
9* cdc-acm support compiled into the kernel or available as module
10* liblockdev 1.0 or later
11
12To compile libCEC on Linux, you'll need the following dependencies:
13* autoconf 2.13 or later
14* automake 1.11 or later
15* libtool
16* gcc 4.2 or later
17* liblockdev 1.0 development headers
18
19The following dependencies are recommended. Without them, the adapter can not
20be auto-detected.
21* pkg-config
22* udev development headers v151 or later
23
24To compile, execute the following commands:
25# autoreconf -vif
26# ./configure
27# make
28# sudo make install
29
30===============================================================================
31 === OS-X ===
32===============================================================================
33
34To compile libCEC on OS-X, you'll need the following dependencies:
35* autoconf 2.13 or later
36* automake 1.11 or later
37* pkg-config
38* xcode 3.2.6 or later
39
40To compile, execute the following commands (TODO: please verify):
41# autoreconf -vif
42# ./configure
43# make
44# sudo make install
45
46# Note: You may need to copy pkg.m4 to your m4 sources directory
47
48===============================================================================
49 === Windows ===
50===============================================================================
51
52To compile libCEC on Windows, you'll need Visual C++ 2010 or Visual Studio 2010
53The installer needs the Windows DDK (Driver Development Kit) and Nullsoft's
54NSIS.
55
56To compile LibCecSharp on Windows, you'll need Visual C++ 2008 or Visual Studio
572008, because it is compiled against .NET 2.0.
58
59To compile libCEC, follow these instructions:
60* open /project/libcec.sln with Visual C++ 2010 or Visual Studio 2010.
61* build the project.
62
63To build an installer on Windows:
64* download and install NSIS.
65* go to /project and execute create-installer.bat to create the installer.
66* the installer is stored as /build/libCEC-installer.exe
67
68You will need both Visual Studio 2008 and Visual Studio 2010 to build the
69installer from the command line. To build with Visual C++ 2008 and 2010,
70you will need to manually build libcec with Visual C++ 2010 and then
71build LibCecSharp.sln with Visual Studio 2008. See create-installer.bat
72for the required steps.
73
74===============================================================================
75 === Debugging / Testing ===
76===============================================================================
77
78We provide a test client, named cec-client, to debug the device.
79To check whether the device can be detected, execute the following command:
80* cec-client -l
81
82"cec-client -h" shows a list of commands and options that are available.
83
84===============================================================================
85 === Developers ===
86===============================================================================
87
88We provide a C, C++ and .NET CLR interface to the adapter.
89
90C++ developers:
91* the API can be found in /include/cec.h
92* an example implementation can be found in /src/testclient/main.cpp
93
94C developers:
95* the API can be found in /include/cecc.h
96
97.NET developers:
98* add a reference to LibCecSharp.dll
99* an example can be found in \src\CecSharpTester\CecSharpClient.cs
100
101===============================================================================
102 === Developers Agreement ===
103===============================================================================
104
105If you wish to contribute to this project, you must first sign our contributors
106agreement. Please see http://www.pulse-eight.net/contributors for more
107information.