Description
Mica is a common plugin architecture for creating Debian Linux and Maemo cross-development environments based on Eclipse.
| Maemo IDE Common Architecture
Setting up the environment
Mica is based on Eclipse and has a number of (mostly optional) dependencies from other Eclipse projects as well as some modified upstream project sources. Please read this page carefully to ensure your environment matches ours when developing plugins or Mica itself.
Installing from archive
The build environments are pre-built and checked into Mica SVN, for Linux/x86, Win32, and OS X hosts.
For all environments, get and extract the following archives:
Common:

Unzip one of these archives over the common environment:



Linux host compatibility
If you are using a newer Linux distro (Ubuntu Karmic, Fedora 11, etc.), Eclipse will not launch without some manual fixes on the command line. Unfortunately these issues persist with Eclipse 3.5.
Use a script like this to launch your development environment, and apply the given environment and vmargs to your PDE launch configuration:
#!/bin/sh
# This script sets up the environment to run Eclipse in newer
# versions of Linux which are slightly incompatible with Eclipse 3.4.2.
help() {
echo "Note: xulrunner 1.8 should be installed if Eclipse crashes unexpectedly"
echo " on startup, hangs with an empty dialog, fails to show hover help,"
echo " crashes in certain wizards, etc."
echo ""
echo "Try: sudo apt-get install xulrunner in Ubuntu"
echo ""
echo "See https://garage.maemo.org/tracker/index.php?func=detail&aid=4689&group_id=192&atid=1420"
}
check_version() {
PROG="$1"
if [ ! -z "$PROG" ] && [ -e "$PROG" ] ; then
VERSION=`$PROG -v 2>&1 | awk '{print $3}' | cut -d. -f1,2`
test "$VERSION" = "1.8"
else
return 1
fi
}
# first, Eclipse depends on an old version of xulrunner.
if [ -z "$XULRUNNER" ] ; then
XULRUNNER=`which xulrunner`
if ! check_version $XULRUNNER ; then
XULRUNNER=/usr/lib/xulrunner/xulrunner
if ! check_version $XULRUNNER ; then
XULRUNNER=""
fi
fi
fi
XULOPTS=""
if [ -z "$XULRUNNER" ] ; then
help
else
XULOPTS="-vmargs -Dorg.eclipse.swt.browser.XULRunnerPath=$XULRUNNER"
echo "Using xulrunner: $XULRUNNER"
fi
# This is a fix for dependencies on GTK 2.16 (and older) behavior, which
# if unfixed, results in annoying dialog behavior where the mouse cannot
# properly click buttons, use tables, etc.
export GDK_NATIVE_WINDOWS=true
PROGRAM=eclipse
INSTALL_DIR=`dirname $0`
if [ ! -e "$INSTALL_DIR/$PROGRAM" ] ; then INSTALL_DIR=. ; fi
"$INSTALL_DIR"/$PROGRAM $XULOPTS "$@"
CDT development
If you're developing with CDT and want to see sources while debugging, download this archive:

and use
to add it as as a new Archived Site. Then install the "Eclipse C/C++ Development Tooling Source" package.Modified external dependencies
For all environments, check out these sources to modified external plugins to complete your build environment:
Use
to include them in your build.Installing Manually
If you already have an Eclipse development environment, ensure you are using the same baseline software. Some components like CDT and Pydev have routine API breakage, so we can only provide support for one version at a time.
Current Baseline
Note: only Eclipse Ganymede SR2 and EMF 2.4.2 are absolute dependencies. Other projects are dependencies of specific Mica features, which may or may not be used, at your discretion.
- Eclipse Ganymede SR2
- EMF 2.4.2
- CDT 5.0.2
- Pydev 1.4.4 (with changes)
- Linux Tools Project / Autotools Plugin 1.0.2
- DSF 1.1 (with changes)
- TmL VNC Viewer (with changes)