Subject: Re: porting to unsupported macs...
To: MacBSD Development <macbsd-development@sun-lamp.cs.berkeley.edu>
From: Allen X Briggs <briggs@csugrad.cs.vt.edu>
List: macbsd-development
Date: 12/02/1993 09:39:30
> With regards to the porting effort and the currently unsupported Macs:

I thought that this might be better suited to development ;-)

Here's what I used to build gcc-2.5.5.  There are three files that
follow.  The first is a patch  to configure.  I used m68k--netbsd
for the machine.  (I wonder if rms will accept patches for NetBSD/Mac
with the GNU position on supporting Apple products...  This isn't in
a decent form for that, yet, but it might be nice someday.) The 
second file is x-netbsd and the third is netbsd.h.  Both of these go
in config/m68k.  This might be enough to get some people started on
a cross compiler.  I was able to build all three stages and stages
2 and 3 compared OK.

Have fun...

-allen

--== configure.patch ==--
	m68k-tti-*)
		tm_file=m68k/pbb.h
		xm_file=m68k/xm-m68kv.h
		header_files=math-68881.h
		;;
+ 	m68k-*-netbsd)		# m68K running NetBSD
+ 		tm_file=m68k/netbsd.h
+ 		xmake_file=m68k/x-netbsd
+ #		use_collect2=yes Turned off because we use GNU ld
+ 		header_files=math-68881.h
+ 		;;
	m68k-hp-hpux7*)	# HP 9000 series 300 running HPUX version 7.

--== x-netbsd ==--

INSTALL_HEADERS=

--== netbsd.h ==--

#include <machine/ansi.h>
#include "m68k/m68k.h"

/* See m68k.h.  7 means 68020 with 68881.  */

#define TARGET_DEFAULT 7

/* Define __HAVE_68881__ in preprocessor, unless -msoft-float is specified.
   This will control the use of inline 68881 insns in certain macros.  */

#define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__ -D__HAVE_FPU__}"

/* Names to predefine in the preprocessor for this target machine.  */

#define CPP_PREDEFINES "-Dmac68k -Dmc68000 -Dmc68020 -Dunix -D__BSD_NET2__ -D__NetBSD__ -Asystem(unix)  -Asystem(bsd) -Acpu(m68k) -Amachine(m68k)"

/* No more libg.a */

#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"

/* Make gcc agree with <machine/ansi.h> */

#define SIZE_TYPE "unsigned int"
#define PTRDIFF_TYPE "int"
#undef WCHAR_TYPE
#define WCHAR_TYPE "short unsigned int"
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 16

/* Every structure or union's size must be a multiple of 2 bytes.  */

#define STRUCTURE_SIZE_BOUNDARY 16

/* This is BSD, so it wants DBX format.  */

#define DBX_DEBUGGING_INFO

/* Do not break .stabs pseudos into continuations.  */

#define DBX_CONTIN_LENGTH 0

/* This is the char to use for continuation (in case we need to turn
   continuation back on).  */

#define DBX_CONTIN_CHAR '?'

/* Don't use the `xsfoo;' construct in DBX output; this system
   doesn't support it.  */

#define DBX_NO_XREFS

/* Don't default to pcc-struct-return, because gcc is the only compiler, and
   we want to retain compatibility with older gcc versions.  */
#define DEFAULT_PCC_STRUCT_RETURN 0

------------------------------------------------------------------------------