Changeset 15653 in project


Ignore:
Timestamp:
08/30/09 13:16:06 (10 years ago)
Author:
felix winkelmann
Message:

updates; added qt, irc and xosd

Location:
wiki
Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • wiki/cross-compilation

    r15615 r15653  
    1414example, a Linux system is used to generate binaries for an ARM based
    1515embedded system
    16 ([[http://www.fs-net.de/Home_Eng/Products/NetDCU/NetDCU10/netdcu10.html]]).
     16[[http://www.globalscaletechnologies.com/p-26-sheevaplug-dev-kit-europe.aspx|SheevaPlug]].
    1717
    1818=== Building the native library (and tools)
     
    6262on the target system, though.
    6363
    64 ==== OpenMoko
    65 
    66 [[http://www.openembedded.org]] now includes the Chicken recipe, so you can just do <tt>bitbake chicken</tt> and get 4 packages: chicken, chicken-dbg, chicken-dev and chicken-doc.
    67 
    68 But in case you want to do it manually:  To compile chicken for OpenMoko, first install the [[http://wiki.openmoko.org/wiki/Toolchain|Toolchain]].  Then
    69   . /usr/local/openmoko/arm/setup-env
    70   make PLATFORM=linux HOST=arm-angstrom-linux-gnueabi \
    71     C_COMPILER=arm-angstrom-linux-gnueabi-gcc LIBRARIAN=arm-angstrom-linux-gnueabi-ar \
    72     PREFIX=/usr ARCH= DESTDIR=$HOME/tmp/arm-chicken install
    73   cd $HOME/tmp/arm-chicken
    74   tar zcvf ../chicken-pkg.tgz .
    75   scp ../chicken-pkg.tgz root@moko:/tmp
    76   ssh root@moko
    77   cd /
    78   tar zxvf /tmp/chicken-pkg.tgz
    79 
    80 You will have the binaries under /usr/bin, libraries under /usr/lib/chicken.  csc and chicken-setup can work for compiling eggs, etc. if you have installed the native compiler, headers, and libs on the phone, but that requires a lot of space (e.g. mount a MicroSD card with ext3 filesystem at /usr, or boot from a MicroSD card; then <code>opkg install task-openmoko-native-sdk</code>).
    81 
    8264=== Building the "cross" CHICKEN
    8365
     
    10385 
    10486    CHICKEN
    105     Version 2.733 - linux-unix-gnu-x86  [ manyargs dload ptables applyhook cross ]
    106     (c)2000-2007 Felix L. Winkelmann    compiled 2007-11-19 on moehre (Linux)
    107  
     87    Version 4.XXX - linux-unix-gnu-x86  [ manyargs dload ptables applyhook cross ]
     88    ...
    10889 
    10990    Enter "chicken -help" for information on how to use it.
     
    11899  % arm-csc -cc-name
    119100  arm-linux-gcc
    120 
    121 ==== OpenMoko
    122 
    123 Assuming you have installed the toolchain (see above), and also assuming you have installed arm-chicken with DESTDIR=/opt/arm-chicken rather than DESTDIR=$HOME/tmp/arm-chicken:
    124 
    125   . /usr/local/openmoko/arm/setup-env
    126   make PLATFORM=linux TARGET_PREFIX=/opt/arm-chicken \
    127     TARGETSYSTEM=arm-angstrom-linux-gnueabi  PREFIX=/opt/arm-cross-chicken \
    128     TARGET_RUN_PREFIX=/usr PROGRAM_PREFIX=arm- install
    129101
    130102=== Compiling simple programs
     
    167139''Host'' extensions are extensions that have to execute on the build
    168140platform, like for example compiled macro extension
    169 packages. {{syntax-case}} is one of those and we have to compile the
    170 extension with the {{-host}} option, which instructs {{csc}} to use
    171 the normal C toolchain, i.e. the compiler and linker that was used to
    172 actually create the cross CHICKEN. In this case it is not necessary,
    173 since the {{syntax-case}} extension has already been prepared and
    174 passes the {{-host-extension}} option itself. We just mention it here so that
    175 egg creators and users of eggs that haven't been prepared yet know
    176 what to do:
     141packages. Use the {{-host-extension}} option to {{chicken-install}}
     142to force building and installing an extension for the cross CHICKEN
     143(and not the native target):
    177144
    178145  % arm-chicken-install -host-extension matchable
     
    183150  matchable
    184151
    185 In general, all compiled code that should run ''during'' compilation must
    186 be compiled by {{arm-csc}} with the {{-host}} option. This can get complicated in
    187 extensions that provide both compile-time and run-time code and must be handled
    188 properly in an egg's {{.setup}} script - a process that hasn't yet begun for
    189 all currently existing eggs. In the meantime you will have to download and modify
    190 extensions that give trouble.
    191 
    192 === Compiling a simple program with a host extension
    193 
    194   % arm-csc hello.scm -R matchable -v
    195   hello: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.0.0, \
    196   dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped
     152Since some extensions are used at compile-time and some at runtime,
     153the easiest approach is to install extensions twice: first for the
     154cross CHICKEN (using the {{-host-extension}} option) and once for
     155the native one (using {{-prefix}}).
  • wiki/eggref/4/protobj

    r15401 r15653  
    218218{{val}}s.
    219219
     220You can override the method {{print}} to customize printing ogf objects:
     221
     222<scheme>
     223(define x (%))
     224(! x print
     225   (lambda (self #!optional (port (current-output-port)))
     226     (fprintf port "#<my object>")))
     227</scheme>
     228
    220229==== References
    221230
     
    246255=== Changelog
    247256
     257* 0.3 Added {{print}} method
    248258* 0.2 Bugfix, {{$}} changed to {{?}}
    249259* 0.1 Initial release
  • wiki/hygienic-egg-port-a-mania

    r15644 r15653  
    3535<td>BSD</td>
    3636<td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td></td></tr>
    37 <tr><td>advice</td><td>`advise' functionality
    38 </td><td>misc</td>
    39 <td>BSD</td>
    40 <td>felix winkelmann</td>x<td></td></tr>
    4137<tr><td>ajax</td><td>Using xmlHttpRequest with the Spiffy web-server
    4238</td><td>web</td>
     
    271267<td>Public Domain</td>
    272268<td>Zbigniew Szadkoswski</td><td>x</td></tr>
    273 <tr><td>dollar</td><td>FFI convenience macro
    274 </td><td>ffi</td>
    275 <td>BSD</td>
    276 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td>x</td></tr>
    277269<tr><td>dpfw</td><td>A lightweight distributed programming framework
    278270</td><td>net</td>
     
    283275<td>GPL-3</td>
    284276<td>Ivan Raikov</td><td>x</td></tr>
    285 <tr><td>easyffi</td><td>Generates bindings from C/C++ declarations
    286 </td><td>ffi</td>
    287 <td>BSD</td>
    288 <td>[[/users/felix winkelmann|felix winkelmann]]</td><td>x</td></tr>
    289277<tr><td>eformat</td><td>extended formatting procedures
    290278</td><td>io</td>
     
    294282</td><td>misc</td>
    295283<td>BSD</td>
    296 <td>felix winkelmann</td><td></td></tr>
     284<td>felix winkelmann</td><td>3</td></tr>
    297285<tr><td>eggdoc</td><td>An egg documentation tool
    298286</td><td>doc-tools</td>
     
    409397<td>BSD</td>
    410398<td>Kon Lovett</td><td></td></tr>
    411 <tr><td>ftl</td><td>Interface based sequence library
    412 </td><td>data</td>
    413 <td>LGPL-2.1</td>
    414 <td>Sergei Egorov, partially reimplemented by felix winkelmann</td><td>x</td></tr>
    415399<tr><td>ftl-peg</td><td>Parsing expression grammars for FTL
    416400</td><td>data</td>
    417401<td>BSD</td>
    418402<td>Thomas Chust</td><td></td></tr>
    419 <tr><td>ftp</td><td>Simple FTP client
    420 </td><td>net</td>
    421 <td>BSD</td>
    422 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td>x</td></tr>
    423403<tr><td>futures</td><td>Concurrent evaluation of expressions
    424404</td><td>hell</td>
     
    465445<td>GPL-3</td>
    466446<td>Ivan Raikov</td><td>x</td></tr>
    467 <tr><td>glut</td><td>GLUT bindings
    468 </td><td>graphics</td>
    469 <td>BSD</td>
    470 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td></td></tr>
    471447<tr><td>gmp</td><td>Bindings for the <b>GNU Multiprecision Arithmetic Library</b>
    472448</td><td>math</td>
     
    625601<td>BSD</td>
    626602<td>felix winkelmann</td><td></td></tr>
    627 <tr><td>javahack</td><td>A simple interface to Java(tm)
    628 </td><td>ffi</td>
    629 <td>BSD</td>
    630 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td>x</td></tr>
    631603<tr><td>jni</td><td>An interface to Java(tm) via JNI
    632604</td><td>ffi</td>
     
    653625<td>GPL-2</td>
    654626<td>Dominique Boucher</td><td>x</td></tr>
    655 <tr><td>lazy-ffi</td><td>A foreign function interface for lazy people
    656 </td><td>ffi</td>
    657 <td>BSD</td>
    658 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td>x</td></tr>
    659627<tr><td>lazy-ssax</td><td>A specialized lazy XML->SXML parser
    660628</td><td>xml</td>
     
    784752</td><td>egg-tools</td>
    785753<td>BSD</td>
    786 <td>felix winkelmann</td><td></td></tr>
     754<td>felix winkelmann</td>3<td></td></tr>
    787755<tr><td>metakit</td><td>An interface to the Metakit database
    788756</td><td>db</td>
     
    805773<td>BSD</td>
    806774<td>Kon Lovett</td><td></td></tr>
    807 <tr><td>miscmacros</td><td>Various helper macros
    808 </td><td>lang-exts</td>
    809 <td>BSD</td>
    810 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td>x</td></tr>
    811 <tr><td>mistie</td><td>A programmable filter
    812 </td><td>parsing</td>
    813 <td>BSD</td>
    814 <td>Dorai Sitaram</td><td>x</td></tr>
    815775<tr><td>modds</td><td>A prototype based object system with multiple object dynamic dispatch
    816776</td><td>oop</td>
     
    865825<td>GPL-3</td>
    866826<td>Ivan Raikov</td><td>x</td></tr>
    867 <tr><td>numbers</td><td>Full numeric tower support
    868 </td><td>math</td>
    869 <td>BSD</td>
    870 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td>x</td></tr>
    871827<tr><td>numspell</td><td>Spelling Numbers as English in Scheme
    872828</td><td>misc</td>
     
    881837<td>BSD</td>
    882838<td>felix</td><td></td></tr>
    883 <tr><td>oblist</td><td>Obtain list of all interned symbols and variables
    884 </td><td>obsolete</td>
    885 <td>BSD</td>
    886 <td>[[/users/felix winkelmann|felix winkelmann]]</td><td>x</td></tr>
    887839<tr><td>octave</td><td>Interface to GNU/Octave
    888840</td><td>graphics</td>
     
    897849<td>GPL-3</td>
    898850<td>Ivan Raikov</td><td></td></tr>
    899 <tr><td>openal</td><td>OpenAL 1.1 bindings
    900 </td><td>sound</td>
    901 <td>BSD</td>
    902 <td>felix winkelmann</td><td>x</td></tr>
    903 <tr><td>opengl</td><td>OpenGL bindings
    904 </td><td>graphics</td>
    905 <td>BSD</td>
    906 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td>x</td></tr>
    907851<tr><td>openssl</td><td>Bindings to the OpenSSL SSL/TLS library
    908852</td><td>net</td>
    909853<td>BSD</td>
    910854<td>Thomas Chust</td><td>x</td></tr>
    911 <tr><td>operations</td><td>The object system from the T Lisp system
    912 </td><td>oop</td>
    913 <td>BSD</td>
    914 <td>felix winkelmann</td><td>x</td></tr>
    915855<tr><td>orders</td><td>Functions useful for defining orders (for sorting)
    916856</td><td>data</td>
     
    941881<td>BSD</td>
    942882<td>Category 5</td><td></td></tr>
    943 <tr><td>peep</td><td>Explore the compiler's symbol database
    944 </td><td>misc</td>
    945 <td>BSD</td>
    946 <td>felix winkelmann</td><td>x</td></tr>
    947883<tr><td>perfect-hash</td><td>Provides perfect hashing
    948884</td><td>data</td>
     
    1033969<td>GPL</td>
    1034970<td>Sven Hartrumpf</td><td></td></tr>
    1035 <tr><td>qt</td><td>A leightweight Qt 4 interface
    1036 </td><td>ui</td>
    1037 <td>BSD</td>
    1038 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td></td></tr>
    1039971<tr><td>r6rs-libraries</td><td>Simple, hygienic macros (SRFI-72 compliant) and R6RS (draft) libraries
    1040972</td><td>obsolete</td>
     
    10731005<td>Public Domain</td>
    10741006<td>David Carlton, Aubrey Jaffer</td><td>x</td></tr>
    1075 <tr><td>regex-case</td><td>Provides an easy to use <code>case</code> construct for regular expression matching
    1076 </td><td>lang-exts</td>
    1077 <td>BSD</td>
    1078 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td>x</td></tr>
    10791007<tr><td>regex-extras</td><td>Access to PCRE Structures
    10801008</td><td>misc</td>
     
    11331061<td>BSD</td>
    11341062<td>felix winkelmann</td><td></td></tr>
    1135 <tr><td>s11n</td><td>Serialization of arbitrary data.
    1136 </td><td>parsing</td>
    1137 <td>BSD</td>
    1138 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td>x</td></tr>
    11391063<tr><td>salmonella</td><td>A tool for testing eggs
    11401064</td><td>egg-tools</td>
     
    15211445<td>BSD</td>
    15221446<td>[[/users/felix winkelmann|felix winkelmann]]</td><td></td></tr>
    1523 <tr><td>tcp-server</td><td>A simple generic multithreaded tcp-server
    1524 </td><td>net</td>
    1525 <td>BSD</td>
    1526 <td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td>x</td></tr>
    15271447<tr><td>tcp6</td><td>A replacement for the <code>tcp</code> library unit that supports IPv6
    15281448</td><td>net</td>
     
    16811601<td>BSD</td>
    16821602<td><a href="mailto:felix@call-with-current-continuation.org">felix</a></td><td>x</td></tr>
    1683 <tr><td>xosd</td><td>An interface to the XOSD (On Screen Display) library
    1684 </td><td>ui</td>
    1685 <td>BSD</td>
    1686 <td>felix winkelmann</td><td></td></tr>
    16871603<tr><td>xxexpr</td><td>Manipulation of eXtended Xml EXPRessions
    16881604</td><td>xml</td>
     
    16931609<td>SRFI</td>
    16941610<td>Kenneth Dickey</td><td></td></tr>
    1695 <tr><td>z3</td><td>A gzip (RFC1952) compression and decompression library
    1696 </td><td>data</td>
    1697 <td>BSD</td>
    1698 <td>Oskar Schirmer and felix winkelmann</td><td>x</td></tr>
    16991611</table>
    17001612
  • wiki/portability

    r15642 r15653  
    1414<tr><td>Linux</td>              <td>ARM/XScale</td>     <td></td>       <td>x</td><td>2.704</td>
    1515<td>Built on Angstrom on a Zaurus and on OpenMoko using task-native-sdk (gcc 4.1)</td>
     16<tr><td>Linux</td>              <td>ARM 88F6281</td>    <td></td>       <td>x</td><td>4.1.5</td>
     17<td>Built for SheevaPlug plug computer</td>
    1618</tr>
    1719<tr><td>Linux</td>      <td>PowerPC</td>        <td>x</td>      <td>x</td>      <td>3.4.0</td><td></td></tr>
Note: See TracChangeset for help on using the changeset viewer.