Difference between revisions of "Compiling Core Plugins"

From LinuxMCE
Jump to: navigation, search
(some small changes.)
Line 38: Line 38:
 
==Other packages and Source==
 
==Other packages and Source==
 
You will also need to install the build-essential package
 
You will also need to install the build-essential package
  sudo apt-get install build-essential
+
  sudo apt-get install pluto-dcegen pluto-sql2cpp subversion build-essential libmysqld-dev
  
  

Revision as of 02:37, 31 July 2011

This is development entry explaining the how-to behind compiling linuxMCE standard plugins. These plugins represent different functionality that communicates with the core and other devices. The significance of plugins is that they run in the DCERouter memory space, so a non functioning one can cause serious stability issues.

It should be noted that a familiarity with svn and command line compiling arguments is quite helpful in this process.

Note: This document is relevant for: *LinuxMCE 810 *LinuxMCE 1004

The Plugins

  • File Grids Plugin
  • General info Plugin
  • Climate Plugin
  • Datagrid Plugin
  • Infrared Plugin
  • Lighting Plugin
  • Orbiter Plugin
  • Media Plugin
  • Telecom Plugin
  • Event Plugin
  • Security Plugin
  • Plug and Play Plugin
  • Xine Plugin
  • MythTV Plugin
  • Game Plugin

What you Need

To get started on this process, you will need to perform some initial preperation steps.

Subversion and the source

Step one, checkout the source. You will need to perform an svn checkout of the source tree. While that may sound intimidating, its quite simple actually.

  • Install subversion via apt-get, i.e. apt-get install subversion
  • Perform the subversion checkout of the source tree. In this case, this would be the /src directory. To do this you enter:
svn co http://svn.linuxmce.org/svn/branches/LinuxMCE-0810/src

Now you will have the necessary source to compile plugins, but further steps will be needed.

Other packages and Source

You will also need to install the build-essential package

sudo apt-get install pluto-dcegen pluto-sql2cpp subversion build-essential libmysqld-dev


You will also need the DCE library objects. To obtain these, copy them from /usr/pluto/lib/ to the lib directory in your source tree like in the example below:

cp /usr/pluto/lib/* /mysvncheckoutdir/src/lib

Building the Plugins

Find the directory of the plugin in question.

  • You can then type 'make so' or if not admin 'sudo make so'
  • NOTE* needs more detail

This should provide the shared library objects for the plugin. Now you will need to stop the running plugin that correlates to the one you just built, and then copy it into place.

And now you have completed the task of building a plugin from the source!

You can then copy the plugin into /usr/pluto/bin, and reload the router.