How do i develop GPE applications on my PC?
What you need is basically a PC running Linux and X with compiler and some libraries installed. GPE applications are basically just GTK applications like many others. In this context GPE application development is quite uncomplicated. What do i need to install?
- GCC and a basic development system.
- GTK2 and GTK2 development packages.
- libglade for some applications.
- sqlite and its devel packages.
GPE Subversion structure and access
First step is to check out your local Subversion tree. It should be the preferred method to get SVN source for development.
How to access the sources is described [http://projects.linuxtogo.org/scm/?group_id=21 here].
Compiling
To get familiar with GPE it is a good idea to check out the GPE SVN tree and start to compile the basic libraries and applications there. The best way to start is by compiling a basic library and a basic application.
Do it in this order:
libgpewidget: Run "./autogen.sh", "./configure", "make" it its source dierectory (default prefix for "make install" is /usr/local). If you don't have the cairo library installed ([http://cairographics.org/introduction cairo] is a vector graphics library for display and printed output) just pass "--disable-cairo" to configure.
- gpe-calculator: having compiled and installed libgpewidget, you should be able to compile and install the calculator from the base/gpe-calculator directory.
From then on, it's mostly a case of figuring out any dependencies that an application or library may have, installing the appropriate development libraries and running "make" in the directory of the application or library. One thing you need to take care about is that some bits use autotools and some still not, so for the autotools built bits you need to run autogen.sh and configure and for the others just "make".
One important detail that is often left out is that many of the dependencies for gpe applications use pkg-config for automating the location of include files and libraries. You may need to set the PKG_CONFIG_PATH environment variable before some packages compile properly. For example, if you were to compile libgpewidget without passing "CAIRO=no" to the "make" command, the build process would fail even if you had the cairo library installed on your system if the PKG_CONFIG_PATH variable wasn't set correctly. Try the following:
- locate cairo.pc (this is the pkg-config file that tells the build process where to look for includes and libraries)
- the most likely place for cairo.pc to be found is /usr/local/lib/pkgconfig (as it is the default target)
for bash do export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig to add the location of the library to your pkg-config search path
- now the "make" should be able to locate the cairo.pc file and hence you should be able to build an application that depends on it
Useful tools
To simulate a PDA running X you want to use [http://projects.o-hand.com/xoo/ Xoo].
Searching for a GTK reference? install devhelp
Examples and Documentation
Communication and Coordiantion