Author Topic: Best Dev Method/environment For The Zaurus?  (Read 5172 times)

PaulJolliffe

  • Newbie
  • *
  • Posts: 4
    • View Profile
Best Dev Method/environment For The Zaurus?
« on: March 08, 2005, 05:55:51 am »
I have had my Z for sometime now and am more than a little impressed, but I would like to start developing some programs for it, more out of "cos I can" as opposed to plugging some gaping gap in the market.  I have had a browse round and there seems to be various options for performing the task from C++ to Java, plus some odd balls in between.

What is the groups concensious as to the best environment/language to use, I have used most things in the past so it makes no real odds to me, but I would like to exploit the full GUI front end.

Ideally I would like to do the bulk of the devlopment on my PC (Redhat/Win98), but would also like to be able to tweak and recompile on the Z.

Thanks in advance for any advice/pointers.

- Paul

------------
SL-C860 with 1GB Viking SD card
-

Paul

--
Paul Jolliffe
C860 with Origional Sharp Rom, 1 GB SD card.

Pyrates

  • Full Member
  • ***
  • Posts: 198
    • View Profile
    • http://www.pipsfrank.de
Best Dev Method/environment For The Zaurus?
« Reply #1 on: March 08, 2005, 06:42:00 am »
Check out OpenEmbedded, it seems to be very usable and helping. Check the wiki: http://openembedded.org/cgi-bin/moin.cgi/FrontPage

Cheers
Philipp
\" ... and the Vogon will do things to you that you wish you\'d never been born, or, if you\'re a clearer minded thinker, that the Vogon had never been born.\"

marshmn

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
    • http://www.mattmarsh.net/
Best Dev Method/environment For The Zaurus?
« Reply #2 on: March 08, 2005, 06:45:53 am »
I've only just bought my Zaurus, so I too am in the process of setting up a build environment etc...

I suppose it depends on what ROM you're writing your apps for, but assuming that you're using the Sharp ROM or one of the derivants (eg. Cacko), then using the C++ Qtopia libraries would allow your app to be most in-tune with the underlying environment... That's certainly the way I intend to start...

I shall be developing on my Linux system, though developing C++ Qtopia apps using windows should work just fine too... and yes, you should be able to build them on the Z too if necessary.

Note that the above is what I've learnt from reading up on this rather than practical experience though! (Well so far anyway!)

Matt
SL-C860 - Cacko 1.22a

http://www.mattmarsh.net/

ashikase

  • Sr. Member
  • ****
  • Posts: 280
    • View Profile
    • http://
Best Dev Method/environment For The Zaurus?
« Reply #3 on: March 08, 2005, 07:50:52 pm »
There are many languages that can be used with the Z; some of the more popular are C++, Java, Ruby, and Python. I've seen other languages used as well, such as Smalltalk, LISP, and OCaml. Then of course, there's always shell scripts. If there is a linux compiler/interpreter available for a language, there's a chance it will work on the Z.

As marshmn said, if you want to stay in-tune with Qtopia, your best bet is C++. While many languages have binding for QT, QT itself is written in C++. It's possible to setup a build environment with simulator under Linux, OS X, and Windows (using cygwin). It is also possible to build on the Zaurus itself; I recommend trying user maslovsky's developers' image: https://www.oesf.org/forums/index.php?showtopic=8465

I would like to recommend Java, as it would be more portable, but unfortunately there are no JVMs available for the Z which support Java 1.4.2 - what I consider 'modern Java'; this means you're stuck using AWT instead of Swing or SWT (as far as I know, SWT has not been ported to the Z yet). The most recent Java version supported is 1.3, using a JVM made available by IBM (called J9, I believe).

Ruby and Python might be a good alternative for programming on the Z itself, as they do not require compilation, and can be quickly and easily modified. I've recently started using some nice Ruby applications for the Z (EBt, dmblogger) which use the Ruby-QTE bindings.

One suggestion... if you plan to do any compiling on the Z, I would recommend setting up a swap file; I've found that gcc/g++ can require a lot of memory (in fact, without a swap file, it slows my Zaurus to a dead crawl). Also, as compiling can cause a lot of writing to a drive, especially if you compile often, it would probably be best to use external memory, such as SD or CF, or more preferably, a microdrive, which can supposedly handle more read/write cycles than SD/CF flash cards.

- ashikase
- anpachi, gifu, japan
SL-C3100 & SL-C760

ashikase

  • Sr. Member
  • ****
  • Posts: 280
    • View Profile
    • http://
Best Dev Method/environment For The Zaurus?
« Reply #4 on: March 08, 2005, 07:45:43 pm »
<duplicate post removed>
« Last Edit: March 08, 2005, 07:59:34 pm by ashikase »
SL-C3100 & SL-C760

guylhem

  • Hero Member
  • *****
  • Posts: 577
    • View Profile
Best Dev Method/environment For The Zaurus?
« Reply #5 on: March 10, 2005, 02:37:51 pm »
Hello

Well I recently had this problem for qualendar (I may become the maintainer - so I had to set up a good cross compile env for that app which needs libsl libzdtm etc.)

Get both embedix.tgz and qtopia.tgz from externe.net/zaurus/sdk
Use them with with the following script (dev-x86-qpe for native x86 to try with qvfb, dev-arm-qpe to cross compile for your zaurus)

I didn't find any good solution so I made my own...

Guylhem

dev-x86-qpe:


#!/bin/bash

if [ -z ${ORG_PATH} ]
then
ORG_PATH=${PATH}
export ORG_PATH
fi
if [ -z ${ORG_LD_LIBRARY_PATH} ]
then
ORG_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
export ORG_LD_LIBRARY_PATH
fi

PS1="$PS1-x86 \n"
CROSSCOMPILE=/opt/Embedix/tools
NATIVE=/opt/Embedix/native
QPEDIR=/opt/Qtopia
QTDIR=/opt/Qtopia
PATH=$NATIVE/bin:$QTDIR/bin:$QPEDIR/bin:${ORG_PATH}
LD_LIBRARY_PATH=$QTDIR/lib:$NATIVE/lib:${ORG_LD_LIBRARY_PATH}
TMAKEPATH=$QTDIR/tmake/lib/qws/linux-x86-g++/
export QPEDIR QTDIR PATH TMAKEPATH LD_LIBRARY_PATH PS1
echo "Altered environment for Sharp Zaurus Development x86"
/bin/bash --noprofile --norc



dev-arm-qpe:



#!/bin/bash

if [ -z ${ORG_PATH} ]
then
ORG_PATH=${PATH}
export ORG_PATH
fi
if [ -z ${ORG_LD_LIBRARY_PATH} ]
then
ORG_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
export ORG_LD_LIBRARY_PATH
fi

PS1="$PS1-arm\n "
CROSSCOMPILE=/opt/Embedix/tools
NATIVE=/opt/Embedix/native
QPEDIR=/opt/Qtopia/sharp
QTDIR=/opt/Qtopia/sharp
PATH==$CROSSCOMPILE/bin:$CROSSCOMPILE/arm-linux/bin:$QTDIR/bin:$QPEDIR/bin:_PATH}
LD_LIBRARY_PATH=$QTDIR/lib:$NATIVE/lib:$QTDIR.rom.us/lib:${ORG_LD_LIBRARY_PTMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-sharp-g++/
export QPEDIR QTDIR PATH LD_LIBRARY_PATH TMAKEPATH PS1
echo "Altered environment for Sharp Zaurus Development ARM"
/bin/bash --noprofile -norc

ashikase

  • Sr. Member
  • ****
  • Posts: 280
    • View Profile
    • http://
Best Dev Method/environment For The Zaurus?
« Reply #6 on: March 10, 2005, 08:06:07 pm »
New maintainer for Qualendar? Hope your Japanese is good (^^)

- ashikase
- anpachi, gifu, japan
SL-C3100 & SL-C760