TOM MACHINES, $Id: MACHINES,v 1.43 1999/08/21 18:34:49 tiggr Exp $
This file lists machines on which TOM is available, and their weirdnesses.

MULTI-MACHINE REMARKS

    i[3456789]86-*-*		(Intel Pentum-style machines)

	When using `-O2', GCC 2.7.2.1 will fail on `trt/perform.c'.  Not
	using optimization is a bad idea too, since it has been observed
	to fail on some tomc-generated C code.  Thus, always use `-O'.
	This can be specified to configure by running it thus:

		CFLAGS=-O ./configure

	It appears that GCC 2.8.1 does not have these problems.

    *-*-*			(all machines)

	If you experience an Objective-C program (e.g, tomc, tomr, or gi)
	reporting things like `Unknown error', then you are somehow using a
	threads library, and one of the other libraries can't stand it.  To
	solve this, remove config.cache and rerun configure with
	--with-threads=none --with-objc-threads=no.

MACHINES

	[This list is alphabetically sorted on the target name.]

    alpha-unknown-linux-gnu

	Tested on RedHat 5.

	This port was made possible by Andreas Kostyrka.

    hppa*-hp-hpux9*

	Do not use GNU CC 2.8.0, since it generates bogus code for both -O
	and -O2 (but at different places).

	When compiling code to be dynamically loaded, make sure that
	trt_send is never invoked, i.e. pass `-flookup-lookup' to otmc.
	(This is actually the default now, so you just have to make sure
	-flookup-send is _not_ used.  The reason for this is that calls
	from a shared library or loaded code go through a stub which tries
	to be invisible in the same way that trt_send does.  And since the
	return address of a function is stored in the caller's stack
	frame, an infinite loop results.)

	Multi-threading is available if DCE threads are available on the
	machine (need both -ldce and #include <pthread.h>).

	Command-line to configure:
		./configure

	The shell will complain about an internal 2K buffer overflow, the
	result of which will be an empty config.cache.  It doesn't matter.

    hppa*-hp-hpux10*

	Remarks of the hpux9 target apply.

	When using `-O2' optimization with GNU CC 2.7.2.1, the tomc that
	is built will behave oddly.  Therefore, make sure you pass -O to
	gcc instead of -O2.

	Command-line to configure:
		CFLAGS=-O ./configure

    i386-apple-rhapsody5

	This target is recognized, compiles, but has not been well tested yet.

    i386-unknown-freebsd2*

	This has been tested on FreeBSD 2.2.7.  Shared library building
	using libtool seems to be broken (ld dumps core).  Whether
	multi-threading or dynamic loading are functional has not been
	verified.

	Command-line to configure:
		CFLAGS=-O ./configure --disable-shared

	This port was made possible by Geert Janssen.
	Recent maintenance was made possible by geekville.org.

    i386-next-nextstep3

	Command-line to configure:
		CFLAGS=-O ./configure

    i386-next-nextstep4

	Yet untested, but expected to work as soon as FSF's GNU CC is up
	and running on that box.

    i[3456789]86-pc-linux*

	Ensure that `-O' is passed to GCC.

	Command-line to configure:
		CFLAGS=-O ./configure

    m68k-next-nextstep3

	It Just Works(TM).

    m68k-unknown-linux*

	Works.  Port by Roman Hodek.

    ppc-apple-rhapsody5

	This target is recognized, compiles, but has not been well tested yet.

    ppc-unknown-linux*
    powerpc-unknown-linux*

	This is LinuxPPC.  See the remark about threads above (at *-*-*).

	This port was made possible by LinuxPPC.org.

    sgi-mips-irix6*

	Currently only works with the O32 ABI.  Other than that, Irix is
	pretty hopeless.  If nm is giving trouble, set NM to the one that
	works in the environment.  If -g is giving trouble with
	Objective-C, set DEBUGGING to empty in the enironment, and specify
	a CFLAGS that does not include -g.  If RANLIB is giving trouble,
	set RANLIB to echo in the environment.  For now, use
	--with-threads=none, since pthreads as expected by TOM is not what
	is provided by Irix.

	This port was made possible by Shawn Pearce.

    sparc-sun-solaris*

	Compile with GNU CC 2.95 or later and use -O2 optimization or
	otherwise trt/perform.c will get bad code.

	Command-line to configure:
		CFLAGS=-O2 ./configure

	Port by Miroslav Silovic <silovic@zesoi.fer.hr>.
