-
Notifications
You must be signed in to change notification settings - Fork 57
Legacy Build Instructions
When pguyot first released Einstein, it could be cross-compiled for various platforms, such as OpenZaurus and Maemo. It is currently unknown if this still works or if these instructions are still accurate. The original build instructions are kept here for reference.
Build instructions for currently maintained platforms can be found at Build Instructions.
- Install Jam 2.5. Not btjam, not ftjam, regular jam. You can get it from MacPorts on OS X. On Ubuntu, the debian package jam is fine. You can also compile it from source: ftp://ftp.perforce.com/pub/jam/jam-2.5.zip
- Make sure you have
libstdc++-devel
installed as well. - K is part of the repository. You may have to update Makefiles. Unfortunately it vanished from SourceForge
- Compile K with Jam with
cd <path_to_K>/_Build_/Jam/ && jam
- Get libffi. On OS X, I suggest getting with MacPorts. There seem to be pre-built copies for various platforms in the Einstein project in svn too.
- Compile Einstein with Jam with
cd <path_to_einstein>/_Build_/Jam/ && jam -sK=<path_to_K>
orcd <path_to_einstein>/_Build_/Jam/ && jam -sK=<path_to_K> -sC++FLAGS=-I/path/to/libffi/include -sCCFLAGS=-I/path/to/libffi/include -sLINKFLAGS=-I/path/to/libffi/include
if libffi isn't installed in a standard path that the compiler will find. For example:
jam -sjittarget=generic -sC++FLAGS="-I/usr/local/include -I/root/einstein/Einstein/libffi-linux/include/ -L/root/einstein/Einstein/libffi-linux/lib" -sCCFLAGS="-I/usr/local/include -I/root/einstein/Einstein/libffi-linux/include/ -L/root/einstein/Einstein/libffi-linux/lib" -sK=/root/K/
If you got libffi with MacPorts as suggested, you don't need to specify its path on the command line. You will very probably need to edit the Jamfile to cope with your target.
The general method is the following:
- Install Jam 2.5. Not btjam, not ftjam, regular jam. You can get it from MacPorts on OS X. On Ubuntu, the debian package jam is fine. You can also compile it from source: ftp://ftp.perforce.com/pub/jam/jam-2.5.zip
- Get K (preferably from CVS) at http://sourceforge.net/projects/KLibs/
- Edit K's Jamfile so it will work with your setup.
- Compile K with Jam with {{{cd <path_to_K>/Build/Jam/ && jam -starget=<cross_target>}}}
- Edit Einstein's Jamfile so it will work with your setup.
- Compile Einstein with Jam with {{{cd <path_to_einstein>/Build/Jam/ && jam -sK=<path_to_K> -starget=<cross_target>}}}
- OpenZaurus 3.4.5: with crosstool compilers, cf Open Zaurus Build Instructions.
- Nokia 770 OS 2005: with crosstool compilers (built with gcc3 on the Mac).
- Debian x86: with crosstool compilers.
- Nokia 770/800 OS 2006: with Code Sourcery compilers ported with MacPorts, cf Nokia Build Instructions