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
------------------------------------------------------------------------------