			prc-tools Version 0.4.2

This is minimal release notes for the utilities that make up the public
release of prc-tools version 0.4.2.  To install code in the Pilot
device, you will need to get the pilot-link package as well.

This is a minor release, it updates pilrc to Wes' version 1.3 and
adds optional support for run time relocation in obj-res (with the
-reloc option, well, actually anything that makes argc == 3) and crt0.
If you want to use relocation, read the file README.reloc

As of version 0.4.0, this code can actually be used to build a working 
application using gcc without any special hacks.  Thanks to Wes Cherry, 
pilrc 1.1 is included so resources can be built. Andy Sackheim's txt2bitm
with endin bugs fixes is included to compile bitmap resources.  USR headers
changed to be compatible with gcc are included.  The patches to gcc are 
thanks to Kresten Krab Thorup mailto:krab@california.daimi.aau.dk  This is a 
complete port of gcc, versions of prc-tools < 0.4.0 provided macros to be
compatible with PalmOS.  Many thanks to Kresten for eliminating the need for
them!

The gcc patch included here is newer than Kresten's 022097, but with
only minor changes.  The first part of the patch lists the changes, have
a look, you might not want to rebuild gcc if you built it from
prc-tools.0.4.0, if you don't, manually remove setjmp.h from you

To use test this stuff out, you need the following...

1. GNU binutils configured --target=m68k-palmos-coff --prefix=/usr/local
   installed and working correctly. Apply the patch 'gcc-2.7.2.2.palmos.diff'
   to a gcc-2.7.2.2 source tree, Then configure and build gcc the same as 
   you did binutils.

   The gcc patch included here is newer than Kresten's 022097, but with
   only minor changes.  The first part of the patch lists the changes, have
   a look, you might not want to rebuild gcc if you built it from
   prc-tools.0.4.0, if you don't, manually remove setjmp.h from your
   <prefix>/lib/gcc-lib/2.7.2.2/sys-include directory.

2. Installing the binutils stuff should have given you a
   libbfd.a and libiberty.a in /usr/local/lib and a bfd.h in 
   /usr/local/include.  If those libs and include file are not installed
   correctly, obj-res will not build.  Solaris (and probabily other) users 
   take note to make certain that the libbfd.a and libiberty.a you link
   against are the ones built with the cross tools, not native Sparc ones.

3. Optionally apply the patch 'gdb-4.16.palmos.diff' to a gdb-4.16 source
   tree, then configure and build the same as binutils.

Do a ...

# make

Iff all goes well, you should get...

obj-res		Takes an m68k-palmos-coff executable and produces code, data
		and pref resources to be included in the .prc file.

pilrc		Takes a resource spec and produces binary resources.

txt2bitm	Takes a description of bitmap and makes a binary resource.

build-prc	Takes a pile of binary resources and builds a .prc file
		out of them.

gnuhello.prc	In the example directory.  This is the .prc file that gets
		built from the code in hello-world.c and resources.

libc.a		Some standard libc type stuff, printf and friends.  putchar()
		and printf() send output to the LCD (even does scrolling!).
		I would not expect this to be terribly useful for anything
		except debugging, or perhaps a terminal program.  String
		functions are also included, as are memmove, bcopy and
		those sorts of things.  Much of this library thanks to
		Linus Torvalds, from the Linux kernel lib directory.  He
		gave me permission to release this stuff _without_ GPL
		encumberance.

libm.a		Single precision math library.  The standard kind of stuff
		(like multiply, add etc) will be included with libgcc.a
		when the compiler was built, this stuff is what one expects
		from a complete libm.a.  This library was ported from
		the Cephes Math Library Release 2.2:  June, 1992 and is
		Copyright 1984, 1987, 1988 by Stephen L. Moshier.  Really
		neet stuff!

libgdb.a	A gdb stub that allows you to build applications that
		can be debugged remotely with gdb.

# make install

Will put everything in place.  You'll have to go into the Makefiles and
change the PREFIX if you did'nt install the GNU tools with
--prefix=/usr/local beforehand.

Do a ...

# make send

And hit the HotSync button.  This will send over gnuhello.prc. In your 
Applications menu you should see the "GNU Rules!".  Launching it will bring 
up a main form with an entry field, an OK button and such.  Go ahead and 
play around, nothing really does anything useful, though.  Kresten reports
having been able to build a working version of reptoids with gcc, and
a few ppl have built real programs with the 0.4.0alpha releases.  I expect
we'll go to 1.0 RSN :-)

The new compiler will correctly generate code for access to global data
and .text section stuff.  No macros are required any longer.

FTP site ftp://ftp.netcom.com/pub/pa/palm/os_sdk has the USR SDK docs in
.pdf format.  A must if you're going to do anything.

Until next time :-) Happy Hacking.

Jeff Dionne

Jeff@RyeHam.EE.Ryerson.Ca
jeff@maribor.pfnet.com
