Subject: Re: (x)emacs
To: Ted Lemon <mellon@hoffman.vix.com>
From: Richard Earnshaw <rearnsha@arm.com>
List: port-arm32
Date: 10/14/1998 21:26:20
This is a multipart MIME message.
--==_Exmh_7171104880
Content-Type: text/plain; charset=us-ascii
>
> You might be able to apply the emacs-20.3 patches to the xemacs
> package to get it to build on arm32, BTW - I just added an arm32.h
> file and some minor crud in the configure script.
>
> _MelloN_
You were right, it wasn't too hard, though I started from the template
file and just hacked that after looking at the old acorn.h file.
Anyway, I now have xemacs 20.4 running, though I can't say I've bashed
very hard on it yet. I've enclosed my patches below, does anyone know how
to get these integrated into pkgsrc?
--==_Exmh_7171104880
Content-Type: application/x-patch ; name="xemacs.patch"
Content-Description: xemacs.patch
Content-Disposition: attachment; filename="xemacs.patch"
*** configure.orig Tue Feb 10 03:59:34 1998
--- configure Wed Oct 14 15:38:08 1998
*************** fi
*** 835,840 ****
--- 835,841 ----
machine='' opsys=''
case "$canonical" in
+ arm*-*-* ) machine=arm ;;
sparc-*-* ) machine=sparc ;;
alpha-*-* ) machine=alpha ;;
vax-*-* ) machine=vax ;;
*** src/unexfreebsd.c.orig Wed Oct 14 21:17:07 1998
--- src/unexfreebsd.c Wed Oct 14 19:51:54 1998
*************** copy_relocation_site (struct relocation_
*** 289,295 ****
/* We can get relocation sites in the bss region, for objects whose
contents are copied from a shared library. We don't need or want
to restore these at present. */
! #ifndef sparc
if (ri->r_copy)
return;
#else
--- 289,295 ----
/* We can get relocation sites in the bss region, for objects whose
contents are copied from a shared library. We don't need or want
to restore these at present. */
! #if !defined(sparc) && !defined(__arm__)
if (ri->r_copy)
return;
#else
*** /dev/null Wed Oct 14 21:08:20 1998
--- src/m/arm.h Wed Oct 14 19:45:33 1998
***************
*** 0 ****
--- 1,109 ----
+ /* machine description file template.
+ Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+
+ This file is part of GNU Emacs.
+
+ GNU Emacs is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GNU Emacs is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with XEmacs; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+ /* Synched up with: FSF 19.31. */
+
+ /* The following line tells the configuration script what sort of
+ operating system this machine is likely to run.
+ USUAL-OPSYS="<name of system .h file here, without the .h>" */
+
+ /* Define WORD_MACHINE if addresses and such have
+ * to be corrected before they can be used as byte counts. */
+
+ #undef WORD_MACHINE
+
+ /* Now define a symbol for the cpu type, if your compiler
+ does not define it automatically:
+ Ones defined so far include vax, m68000, ns16000, pyramid,
+ orion, tahoe, APOLLO and many others */
+ /* Netbsd's gcc doesn't define __arm__: it should */
+ #define __arm__
+
+ /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
+ the bit field into an int. In other words, if bit fields
+ are always unsigned.
+
+ If you use NO_UNION_TYPE, this flag does not matter. */
+
+ #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)
+
+ /* Define CANNOT_DUMP on machines where unexec does not work.
+ Then the function dump-emacs will not be defined
+ and temacs will do (load "loadup") automatically unless told otherwise. */
+
+ /* #undef CANNOT_DUMP */
+
+ /* Define VIRT_ADDR_VARIES if the virtual addresses of
+ pure and impure space as loaded can vary, and even their
+ relative order cannot be relied on.
+
+ Otherwise Emacs assumes that text space precedes data space,
+ numerically. */
+
+ /* #define VIRT_ADDR_VARIES */
+
+ /* Define C_ALLOCA if this machine does not support a true alloca
+ and the one written in C should be used instead.
+ Define HAVE_ALLOCA to say that the system provides a properly
+ working alloca function and it should be used.
+ Define neither one if an assembler-language alloca
+ in the file alloca.s should be used. */
+
+ /* #define C_ALLOCA */
+ #define HAVE_ALLOCA
+
+ /* Define NO_REMAP if memory segmentation makes it not work well
+ to change the boundary between the text section and data section
+ when Emacs is dumped. If you define this, the preloaded Lisp
+ code will not be sharable; but that's better than failing completely. */
+
+ /* #define NO_REMAP */
+
+ /* Some really obscure 4.2-based systems (like Sequent DYNIX)
+ * do not support asynchronous I/O (using SIGIO) on sockets,
+ * even though it works fine on tty's. If you have one of
+ * these systems, define the following, and then use it in
+ * config.h (or elsewhere) to decide when (not) to use SIGIO.
+ *
+ * You'd think this would go in an operating-system description file,
+ * but since it only occurs on some, but not all, BSD systems, the
+ * reasonable place to select for it is in the machine description
+ * file.
+ */
+
+ /* #define NO_SOCK_SIGIO */
+
+
+ /* After adding support for a new system, modify the large case
+ statement in the `configure' script to recognize reasonable
+ configuration names, and add a description of the system to
+ `etc/MACHINES'.
+
+ If you've just fixed a problem in an existing configuration file,
+ you should also check `etc/MACHINES' to make sure its descriptions
+ of known problems in that configuration should be updated. */
--==_Exmh_7171104880--