summaryrefslogtreecommitdiff
path: root/editors/mule
diff options
context:
space:
mode:
authorryoon <ryoon>2011-12-20 18:33:40 +0000
committerryoon <ryoon>2011-12-20 18:33:40 +0000
commit689ab834af837b4f4c5af035e651f103a282fd7f (patch)
tree6c13df541ced7f77f43c05974ec8f0172100f3c8 /editors/mule
parent5b4f4a65911a0f74de49a2bae265780c978aa3e7 (diff)
downloadpkgsrc-689ab834af837b4f4c5af035e651f103a282fd7f.tar.gz
Try to support NetBSD/amd64.
It progress to temacs segfault on NetBSD/amd64 5.99.56. * Import src/m/amd64.h from editors/emacs20.
Diffstat (limited to 'editors/mule')
-rw-r--r--editors/mule/distinfo5
-rw-r--r--editors/mule/patches/patch-ad12
-rw-r--r--editors/mule/patches/patch-src_m_amd64.h146
3 files changed, 156 insertions, 7 deletions
diff --git a/editors/mule/distinfo b/editors/mule/distinfo
index 12cdab64f58..d088c41c2d1 100644
--- a/editors/mule/distinfo
+++ b/editors/mule/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.9 2011/12/19 21:36:07 ryoon Exp $
+$NetBSD: distinfo,v 1.10 2011/12/20 18:33:40 ryoon Exp $
SHA1 (mule-2.3.tar.gz) = 52737767955caf2fde34b994f367a89c5d8a045f
RMD160 (mule-2.3.tar.gz) = 52b93e746a7a796549a44104ab1898954df044bf
@@ -6,7 +6,7 @@ Size (mule-2.3.tar.gz) = 10240256 bytes
SHA1 (patch-aa) = 927ec514204ef97101fb3f4ab77eec1c71af23f1
SHA1 (patch-ab) = ffb7afcac57932cfe477b87daa5579b54aea3672
SHA1 (patch-ac) = 170fa4f6c17c805dd32a90e8bfb3e38c48a9fc20
-SHA1 (patch-ad) = 70f4a983aab2bd7c6255a448992ac717f5e962ac
+SHA1 (patch-ad) = 7a52802cd614441320221f450cf97d4e30f40f2b
SHA1 (patch-ae) = 1f020aaeb75cd7dd2b827ab34382e472add09719
SHA1 (patch-af) = 2672b9c724cfed135218a76e857fd26ebe3676ac
SHA1 (patch-ag) = 590fe919b44722f7ba1e390cf7fecbc20eeeba06
@@ -65,3 +65,4 @@ SHA1 (patch-cg) = 2fbe0de8a502a2fe083379a39aaf126148d0ded3
SHA1 (patch-ch) = f5314755074b7301ee36825c82d15763b1d3f062
SHA1 (patch-ci) = b172fe40cccba2aa622a5522fffa421cbcd299a5
SHA1 (patch-cj) = 19b158106f4fbe382084dc8e6ddd6545e506e30d
+SHA1 (patch-src_m_amd64.h) = c99d0e5c2fe4780735581354534a545a5ed44702
diff --git a/editors/mule/patches/patch-ad b/editors/mule/patches/patch-ad
index 251f0262771..4fb9141a9bf 100644
--- a/editors/mule/patches/patch-ad
+++ b/editors/mule/patches/patch-ad
@@ -1,10 +1,10 @@
-$NetBSD: patch-ad,v 1.5 2011/12/19 21:36:07 ryoon Exp $
+$NetBSD: patch-ad,v 1.6 2011/12/20 18:33:40 ryoon Exp $
* "Should be one line" test is for gcc 4.5's cpp from emacs20's patch-ab.
--- configure.orig 1995-06-05 01:11:38.000000000 +0000
+++ configure
-@@ -581,12 +581,14 @@ case "${canonical}" in
+@@ -581,13 +581,16 @@ case "${canonical}" in
*-*-netbsd* )
opsys=netbsd
case "${canonical}" in
@@ -17,9 +17,11 @@ $NetBSD: patch-ad,v 1.5 2011/12/19 21:36:07 ryoon Exp $
ns32k-*-netbsd*) machine=ns32000 ;;
+ powerpc-*-netbsd*) machine=powerpc ;;
sparc-*-netbsd*) machine=sparc ;;
++ x86_64-*-netbsd*) machine=amd64 ;;
esac
;;
-@@ -1177,6 +1179,7 @@ case "${canonical}" in
+
+@@ -1177,6 +1180,7 @@ case "${canonical}" in
*-bsd386* | *-bsdi* ) opsys=bsd386 ;;
*-386bsd* ) opsys=386bsd ;;
*-freebsd* ) opsys=freebsd ;;
@@ -27,7 +29,7 @@ $NetBSD: patch-ad,v 1.5 2011/12/19 21:36:07 ryoon Exp $
*-nextstep* ) opsys=mach2 ;;
## Otherwise, we'll fall through to the generic opsys code at the bottom.
esac
-@@ -1384,10 +1387,13 @@ if test -z "$CPP"; then
+@@ -1384,10 +1388,13 @@ if test -z "$CPP"; then
#include "confdefs.h"
#include <stdio.h>
Syntax Error
@@ -42,7 +44,7 @@ $NetBSD: patch-ad,v 1.5 2011/12/19 21:36:07 ryoon Exp $
if test -z "$ac_err"; then
:
else
-@@ -1397,10 +1403,13 @@ else
+@@ -1397,10 +1404,13 @@ else
#include "confdefs.h"
#include <stdio.h>
Syntax Error
diff --git a/editors/mule/patches/patch-src_m_amd64.h b/editors/mule/patches/patch-src_m_amd64.h
new file mode 100644
index 00000000000..e5c12840a25
--- /dev/null
+++ b/editors/mule/patches/patch-src_m_amd64.h
@@ -0,0 +1,146 @@
+$NetBSD: patch-src_m_amd64.h,v 1.1 2011/12/20 18:33:40 ryoon Exp $
+
+--- src/m/amd64.h.orig 2011-12-20 18:27:24.000000000 +0000
++++ src/m/amd64.h
+@@ -0,0 +1,141 @@
++/* machine description file for AMD x86-64.
++ Copyright (C) 2002 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 GNU Emacs; see the file COPYING. If not, write to
++the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++Boston, MA 02111-1307, USA. */
++
++/* Linux defines these in <values.h>, but they can't be used in #if's */
++#undef SHORTBITS
++#undef INTBITS
++#undef LONGBITS
++
++#define SHORTBITS 16 /* Number of bits in a short */
++
++#define INTBITS 32 /* Number of bits in an int */
++
++#define LONGBITS 64 /* Number of bits in a long */
++
++/* The following line tells the configuration script what sort of
++ operating system this machine is likely to run.
++ USUAL-OPSYS="linux" */
++
++#define BITS_PER_LONG 64
++#define BITS_PER_EMACS_INT 64
++
++/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
++ is the most significant byte. */
++
++#undef WORDS_BIG_ENDIAN
++
++/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
++ * group of arguments and treat it as an array of the arguments. */
++
++#define NO_ARG_ARRAY
++
++/* Define WORD_MACHINE if addresses and such have
++ * to be corrected before they can be used as byte counts. */
++
++/* #define 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 */
++/* __x86_64 defined automatically. */
++
++/* Use type int rather than a union, to represent Lisp_Object */
++/* This is desirable for most machines. */
++
++#define NO_UNION_TYPE
++
++/* Define the type to use. */
++#define EMACS_INT long
++#define EMACS_UINT unsigned long
++#define SPECIAL_EMACS_INT
++
++/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
++ the 24-bit 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. */
++
++/* #define 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 /* XXX */
++
++/* 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 */ /* XXX */
++#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 /* XXX */
++
++#define PNTR_COMPARISON_TYPE unsigned long
++
++/* On the 64 bit architecture, we can use 60 bits for addresses */
++
++#define VALBITS 60
++
++/* This definition of MARKBIT is necessary because of the comparison of
++ ARRAY_MARK_FLAG and MARKBIT in an #if in lisp.h, which cpp doesn't like. */
++
++#define MARKBIT 0x8000000000000000L
++
++/* Define XINT and XUINT so that they can take arguments of type int */
++#define XINT(a) (((long) (a) << (BITS_PER_LONG - VALBITS)) >> (BITS_PER_LONG - VALBITS))
++#define XUINT(a) ((long) (a) & VALMASK)
++
++/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
++
++#define XPNTR(a) XUINT (a)
++
++/* #undef START_FILES */ /* XXX */
++/* #define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o */ /* XXX */
++
++/* #undef LIB_STANDARD */ /* XXX */
++/* #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o */ /* XXX */