C C++ Lua
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
Dietetic Ginga.ar ----------------- This is a patched version of Ginga.ar. Currently, the main goals of this project are: * Strip the CMake build system and replace by plain GNU makefiles. * Strip Boost library dependency, and replace its functionality by POSIX interfaces. If you are wondering why anyone would do this --------------------------------------------- There is nothing wrong with CMake or Boost, they are both great, widely used tools. However, for embedded platforms it may be of interest to tweak the building process, changing compile and linker flags, using specific headers and/or linking to specifically located libraries. For this, it may be easier to use makefiles. As for the Boost removal, it simply obeys a matter of size reduction, as Boost libraries are not small and its funcionality can be achieved by standard Posix interfaces. This can be compared to Busybox vs. GNU (Busybox replaces standard tools) or ulibc vs glibc (ulibc is a reduced version of glibc aimed at embedded platforms). In the end, this is just my own experiment. If you want to report any bugs, place an issue on github, send me patch or a pull request. UPDATE: Since v1.2.0 boost removal is no longer an important issue. The reason is that Ginga no longer depends on boost_serialization, a large boost component. The remaining Boost dependences are not large enough to matter. Dependencies ------------ * DirectFB 1.4.x * Boost: system, thread, filesystem * png, jpeg, tiff, gif libraries * lua 5.1 * xerces-c (for XML parsing) * ssl * curl Installation ------------ Once you execute 'make' the whole ginga middleware is installed inside build/ directory. There you'll find three different kind of stuff: * headers inside (build/include/) * static libraries (build/lib/) * Ginga binary executable (build/bin/) * config and data files The first two, headers and static libs, are only required for development, not to run Ginga. So, you won't need this unless you need to link against some internal (static) library. The last two are required if you want to run Ginga, and if you don't want to run it, why are you wasting your time reading this? Configuration files ------------------- The Ginga binary requires config and data files. These are located under directories according to their subsystem (system, ncl, etc). So to run Ginga correctly you will have to copy them to a suitable location. This location is configurable with PREFIX_PATH make variable in config.mk. The default value is /home/zeta/ginga. So you'll have to copy files to this directory. They should look like this: /home/zeta/ginga/ |-- contextmanager |-- ncl | `-- config |-- ncl-presenter | |-- config | |-- epgFactory | `-- img |-- player | |-- fonts | |-- images | `-- scripts `-- system `-- config When running Ginga if you find any of these messages (or similar) then you should check you've install these files properly: can't open input file:/home/zeta/ginga/system/config/input.cfg can't open mimedefs.ini can't open config file '/home/zeta/ginga/contextmanager/users.ini' can't open cfg file '/home/zeta/ginga/contextmanager/contexts.ini' Scripts files ------------- Some Ginga NCL applications also require a few Lua scripts. They are installed inside build/player/scripts. There are two ways of handling this: 1. You can copy them to Lua predefined paths, so Lua can find them. This paths are usually, /usr/local/share/lua/5.1/ or usr/share/lua/5.1/. 2. You can define LUA_PATH in your environment (.bashrc, bash_profile, etc) so it looks like this: LUA_PATH="$LUA_PATH;/home/zeta/ginga/player/scripts/?.lua;" If you find a message like: PANIC: unprotected error in call to Lua API (module 'tcp_event' not found: then probably you haven't installed this files properly. Bloat-o-meter ------------- For x86 the resulting Ginga executable is 4.8 MB. The rest of the distributable config/resource files total < 1 MB. Authors ------- The Ginga project was originally developed by Telemidia Laboratory at PUC-RIO. Further development was carried by LIFIA at UNLP, you can get the original Ginga.ar source from here: http://comunidad.ginga.org.ar/ http://tvd.lifia.info.unlp.edu.ar/ginga.ar/ This project is based in Ginga.ar version 1.2.0. License ------- Copyright: 1989-2007 PUC-RIO/LABORATORIO TELEMIDIA, All Rights Reserved. Copyright: 2010 LIFIA - Facultad de Informatica - Univ. Nacional de La Plata This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 2 for more details. You should have received a copy of the GNU General Public License version 2 along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA For further information contact: ncl @ telemidia.puc-rio.br http://www.ncl.org.br http://www.ginga.org.br http://www.telemidia.puc-rio.br