ginga.ar-diet's Introduction
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
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.