Add debian package patches.
[deb_libcec.git] / README
diff --git a/README b/README
index 5ef90e3c5f830551c79b8b23a4c46ab7ed973df1..3f2ee2214009c741e1bf2ccb2a7cc4e37b0104fe 100644 (file)
--- a/README
+++ b/README
 This library provides support for the Pulse-Eight USB-CEC adapter.
 
-To install libCEC on Linux:
-# autoreconf -vif
-# ./configure --prefix=/usr
+You can find a list of frequently asked questions on the following page:
+                    http://libcec.pulse-eight.com/faq
+
+===============================================================================
+                             === Linux & BSD ===
+===============================================================================
+
+libCEC needs the following dependencies in order to work correctly:
+* udev v151 or later
+* cdc-acm support compiled into the kernel or available as module
+* liblockdev 1.0 or later
+
+To compile libCEC on Linux, you'll need the following dependencies:
+* autoconf 2.13 or later
+* automake 1.11 or later
+* libtool
+* gcc 4.2 or later
+* liblockdev 1.0 development headers
+
+The following dependencies are recommended. Without them, the adapter can not
+be auto-detected.
+* pkg-config
+* udev development headers v151 or later
+
+To compile, execute the following commands:
+# ./bootstrap 
+# ./configure
 # make
 # sudo make install
 
-To install libCEC on Windows:
-* open /project/libcec.sln with Visual C++ 2010 or Visual Studio 2010.
+===============================================================================
+                                === OS-X ===
+===============================================================================
+
+To compile libCEC on OS-X, you'll need the following dependencies:
+* autoconf 2.13 or later
+* automake 1.11 or later
+* pkg-config
+* xcode 3.2.6 or later
+
+To compile, execute the following command:
+# ./bootstrap 
+# ./configure
+# make
+# sudo make install
+
+# Note: You may need to copy pkg.m4 to your m4 sources directory
+
+===============================================================================
+                              === Windows ===
+===============================================================================
+
+To compile libCEC on Windows, you'll need Visual Studio 2012 and Visual Studio
+or Visual C++ 2008. The latter is needed to build LibCecSharp for .Net
+Framework 2.0.
+
+The adapter detection code needs the Windows DDK (Driver Development Kit).
+
+To create an installer, you'll need Nullsoft's NSIS.
+
+To compile libCEC, follow these instructions:
+* open /project/libcec.sln with Visual Studio 2012.
 * build the project.
-* copy libcec.dll and pthreadVC2.dll to your desired destination.
 
 To build an installer on Windows:
-* download and install the Windows DDK.
 * download and install NSIS.
-* go to /project and execute create-installer.cmd to create the installer.
-* the installer is stored as /project/libCEC-installer.exe
+* go to /project and execute create-installer.bat to create the installer.
+* the installer is stored as /build/libCEC-installer.exe
+
+===============================================================================
+                           === Raspberry Pi ===
+===============================================================================
+
+We've included a script that builds libCEC with support for the Raspberry Pi
+in /project/RPi/build.sh. This script pulls in the latest toolchain and
+firmware, builds the necessary dependencies, and finally builds libCEC. The
+result will be a softfp build.
 
-Test the device:
-* run "cec-client -h" to display the options of the test client.
+To build libCEc on your development machine, follow these instructions:
+* run '/project/RPi/build.sh /desired/destination/path/for/binaries'
+* run 'make install'
 
-For developers:
-* see /include/cec.h for the C++ API and /include/cecc.h for the C version.
-* see src/testclient/main.cpp for an example
+To build libCEC on the Pi itself, just follow the instructions for Linux.
+The configure script automatically checks whether the required headers and
+libraries can be found.
 
-For .NET developers:
-* build project/libcec.sln first
+To specify the path of the Raspberry Pi's development headers, use the
+following option for 'configure':
+--with-rpi-include-path="/path/to/opt/vc/include"
+
+To specify the path of the Raspberry Pi's libraries, use the following option
+for 'configure':
+--with-rpi-lib-path="/path/to/libbcm_host.so"
+
+===============================================================================
+                           === CuBox / TDA995x ===
+===============================================================================
+
+Solid-Run's CuBox uses a combined HDMI tranceiver / CEC controller by NXP. The
+device driver for it is based on an SDK by the chip vendor and is compiled into
+the Linux kernel. The following options for 'configure' have been introduced:
+
+To enable support for the CuBox / TDA995x:
+--enable-tda995x
+
+To specify the path to the SDK part of the kernel driver:
+--with-tda995x-toolkit-path='path/to/linux/drivers/video/dovefb/nxp_hdmi'
+
+If the toolkit path is not specified, it is assumed that a directory named
+'nxp_hdmi' (or a link to it) exists in the top level of the source tree.
+
+===============================================================================
+                            === Debugging / Testing ===
+===============================================================================
+
+To compile libCEC with extensive debugging output, pass the following argument
+to configure on Linux/OS-X/BSD:
+--enable-debug
+
+We provide a test client, named cec-client, to debug the device.
+To check whether the device can be detected, execute the following command:
+* cec-client -l
+
+"cec-client -h" shows a list of commands and options that are available.
+
+===============================================================================
+                              === Developers ===
+===============================================================================
+
+We provide a C, C++ and .NET CLR interface to the adapter.
+
+C++ developers:
+* the API can be found in /include/cec.h
+* an example implementation can be found in /src/testclient/main.cpp
+
+C developers:
+* the API can be found in /include/cecc.h
+
+.NET developers:
 * add a reference to LibCecSharp.dll
-* see src\CecSharpTester\CecSharpClient.cs for an example
+* an example can be found in \src\CecSharpTester\CecSharpClient.cs
+
+===============================================================================
+                        === Developers Agreement ===
+===============================================================================
 
-If you wish to contribute to this project, you must first sign our contributors agreement
-Please see http://www.pulse-eight.net/contributors for more information
\ No newline at end of file
+If you wish to contribute to this project, you must first sign our contributors
+agreement. Please see http://www.pulse-eight.net/contributors for more
+information.