Mercurial > hg > xemacs-beta
diff src/m/luna88k.h @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | 0132846995bd |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/m/luna88k.h Mon Aug 13 08:45:50 2007 +0200 @@ -0,0 +1,95 @@ +/* m- file for LUNA 88000 running Mach. + +originaly wrote by + Jun. 26th '90 + Akitoshi MORISHIMA + ohm@astem.or.jp + +modified for mule-2.0 by + Sep. 10th '94 + MUKAIGAWA Shin'ichi + shin@ari.ncl.omron.co.jp + + Copyright (C) 1990 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY. No author or distributor +accepts responsibility to anyone for the consequences of using it +or for whether it serves any particular purpose or works at all, +unless he says so in writing. Refer to the GNU Emacs General Public +License for full details. + +Everyone is granted permission to copy, modify and redistribute +GNU Emacs, but only under the conditions described in the +GNU Emacs General Public License. A copy of this license is +supposed to have been given to you along with GNU Emacs so you +can know your rights and responsibilities. It should be in a +file named COPYING. Among other things, the copyright notice +and this notice must be preserved on all copies. */ + +/* Synched up with: Mule 2.0. Not in FSF. */ + +/* Define how to take a char and sign-extend into an int. + On machines where char is signed, this is a no-op. */ + +#define SIGN_EXTEND_CHAR(c) (c) + +/* XINT must explicitly sign-extend */ + +#define EXPLICIT_SIGN_EXTEND + +/* Data type of load average, as read out of kmem. */ + +#define LOAD_AVE_TYPE long + +/* Convert that into an integer that is 100 for a load average of 1.0 */ + +#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) + +/* On Mach, LSCALE is defined instead of FSCALE, in h/kernel.h, as 1000. */ + +#define FSCALE 1000 + +/* Mask for address bits within a memory segment */ +/* In other words, data segment starts from the address that is end of + text segment rounded up to next (SEGMENT_MASK + 1) boundary. */ + +#define SEGSIZ 0x20000 +#define SEGMENT_MASK (SEGSIZ - 1) + +/* macros to make unexec work right */ + +#define A_TEXT_OFFSET(HDR) sizeof(HDR) +#define A_TEXT_SEEK(HDR) sizeof(HDR) + +/* Define HAVE_ALLOCA to say that the system provides a properly + working alloca function and it should be used. + At least, gcc for 88000 supports inline alloca. */ + +#define HAVE_ALLOCA + +/* Memory management mechanism is different on Mach, so emacs-supplied + malloc.c does not work. */ + +#define SYSTEM_MALLOC + +/* We want errno in crt0.c */ + +#define NEED_ERRNO + +/* Mach has 'init_process()' in libc.a, conflicting with emacs' + 'init_process()', causing make to stop. So redefining that. */ + +#define init_process init_process_emacs + +#define C_COMPILER gcc + +#define LOAD_AVE_MACH + +#define LIBS_MACHINE -lmach + +#define LIB_X11_LIB -L/usr/lib/X11 -lX11 -lXwchar + +#define CRT0_COMPILE cc -c -O -Demacs $(ALL_CFLAGS)