aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsumikawa <sumikawa@FreeBSD.org>2004-03-22 19:14:12 +0800
committersumikawa <sumikawa@FreeBSD.org>2004-03-22 19:14:12 +0800
commitfc4c614779191bdde69f45de3c9045e839e4e042 (patch)
treee3736ff66bdbd309adb9083c3201cd4bf9624d4c
parent9708b573c0d41f7d4bbc044bc2f2b0479ff9747e (diff)
downloadfreebsd-ports-gnome-fc4c614779191bdde69f45de3c9045e839e4e042.tar.gz
freebsd-ports-gnome-fc4c614779191bdde69f45de3c9045e839e4e042.tar.zst
freebsd-ports-gnome-fc4c614779191bdde69f45de3c9045e839e4e042.zip
Sync with editors/emacs: Make compilable on amd64.
Submitted by: NAKAJI Hiroyuki <nakaji@tutrp.tut.ac.jp>
-rw-r--r--japanese/emacs-emcws/files/patch-configure.in13
-rw-r--r--japanese/emacs-emcws/files/patch-src:alloc.c14
-rw-r--r--japanese/emacs-emcws/files/patch-src:m:amd64.h184
-rw-r--r--japanese/emacs-emcws/files/patch-src:m:ia64.h11
-rw-r--r--japanese/emacs-emcws/files/patch-src:m:sparc.h11
-rw-r--r--japanese/emacs-emcws/files/patch-src:mem-limits.h11
-rw-r--r--japanese/emacs21-emcws/files/patch-configure.in13
-rw-r--r--japanese/emacs21-emcws/files/patch-src:alloc.c14
-rw-r--r--japanese/emacs21-emcws/files/patch-src:m:amd64.h184
-rw-r--r--japanese/emacs21-emcws/files/patch-src:m:ia64.h11
-rw-r--r--japanese/emacs21-emcws/files/patch-src:m:sparc.h11
-rw-r--r--japanese/emacs21-emcws/files/patch-src:mem-limits.h11
12 files changed, 478 insertions, 10 deletions
diff --git a/japanese/emacs-emcws/files/patch-configure.in b/japanese/emacs-emcws/files/patch-configure.in
index 8412683f9d91..8d85d454258f 100644
--- a/japanese/emacs-emcws/files/patch-configure.in
+++ b/japanese/emacs-emcws/files/patch-configure.in
@@ -1,5 +1,5 @@
---- configure.in.orig Wed Apr 10 16:53:13 2002
-+++ configure.in Wed Apr 10 16:54:43 2002
+--- configure.in.orig Fri Mar 19 11:20:26 2004
++++ configure.in Fri Mar 19 11:22:24 2004
@@ -36,18 +36,26 @@
dnl A case that the LEIM package does not exist.
dnl
@@ -31,7 +31,7 @@
docdir='${datadir}/emacs/${version}$(EMACS_POSTFIX)/etc'
AC_ARG_WITH(gcc,
-@@ -224,6 +232,15 @@
+@@ -224,6 +232,18 @@
machine='' opsys='' unported=no
case "${canonical}" in
@@ -40,14 +40,17 @@
+ opsys=freebsd
+ case "${canonical}" in
+ alpha*-*-freebsd*) machine=alpha ;;
++ amd64-*-freebsd*) machine=amd64 ;;
++ ia64-*-freebsd*) machine=ia64 ;;
+ i[3456]86-*-freebsd*) machine=intel386 ;;
++ sparc64-*-freebsd*) machine=sparc ;;
+ esac
+ ;;
+
## NetBSD ports
*-*-netbsd* )
opsys=netbsd
-@@ -1069,7 +1086,6 @@
+@@ -1077,7 +1097,6 @@
;;
*-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
*-386bsd* ) opsys=386bsd ;;
@@ -55,7 +58,7 @@
*-nextstep* ) opsys=nextstep ;;
## Otherwise, we'll fall through to the generic opsys code at the bottom.
esac
-@@ -2095,6 +2111,7 @@
+@@ -2131,6 +2150,7 @@
# Solaris requires -lintl if you want strerror (which calls dgettext)
# to return localized messages.
AC_CHECK_LIB(intl, dgettext)
diff --git a/japanese/emacs-emcws/files/patch-src:alloc.c b/japanese/emacs-emcws/files/patch-src:alloc.c
new file mode 100644
index 000000000000..0ae9270b0d1f
--- /dev/null
+++ b/japanese/emacs-emcws/files/patch-src:alloc.c
@@ -0,0 +1,14 @@
+--- src/alloc.c.orig Thu Sep 12 13:50:01 2002
++++ src/alloc.c Thu Sep 12 13:48:11 2002
+@@ -3723,7 +3723,11 @@
+ /* This trick flushes the register windows so that all the state of
+ the process is contained in the stack. */
+ #ifdef sparc
++#ifdef __sparc64__
++ asm ("flushw");
++#else
+ asm ("ta 3");
++#endif
+ #endif
+
+ /* Save registers that we need to see on the stack. We need to see
diff --git a/japanese/emacs-emcws/files/patch-src:m:amd64.h b/japanese/emacs-emcws/files/patch-src:m:amd64.h
new file mode 100644
index 000000000000..3129433e59b5
--- /dev/null
+++ b/japanese/emacs-emcws/files/patch-src:m:amd64.h
@@ -0,0 +1,184 @@
+--- src/m/amd64.h~ Wed Dec 31 18:00:00 1969
++++ src/m/amd64.h Thu Dec 18 00:21:51 2003
+@@ -0,0 +1,181 @@
++/* machine description file For the amd64 chip.
++ Copyright (C) 1994, 1997, 1999 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 1, 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. */
++
++
++/* The following line tells the configuration script what sort of
++ operating system this machine is likely to run.
++ USUAL-OPSYS="note"
++
++NOTE-START
++Use -opsystem=freebsd
++NOTE-END
++
++*/
++
++#define BITS_PER_LONG 64
++#define BITS_PER_EMACS_INT 64
++#ifndef _LP64
++#define _LP64
++#endif
++
++/* 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
++
++/* 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 */
++
++/* __amd64__ defined automatically */
++
++
++/* Use type EMACS_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. */
++
++#undef 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 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 HAVE_ALLOCA
++
++/* GNU malloc and the relocating allocator do not work together
++ with X. [Who wrote that?] */
++
++/* May 1995: reportedly [Rainer Schoepf <schoepf at uni-mainz.de>] both the
++ system and the gnu malloc system work with "alpha-dec-osf3.0" and
++ "alpha-dec-osf3.2". */
++
++/* May 1995: it seems to me [Morten Welinder <terra at diku.dk>] that both
++ mallocs work with "alpha-dec-osf2.0", but I daren't break anything
++ right now. Feel free to play if you want. */
++
++/* #define SYSTEM_MALLOC */
++
++#ifdef __ELF__
++/* With ELF, make sure that all common symbols get allocated to in the
++ data section. Otherwise, the dump of temacs may miss variables in
++ the shared library that have been initialized. For example, with
++ GNU libc, __malloc_initialized would normally be resolved to the
++ shared library's .bss section, which is fatal. */
++# ifdef __GNUC__
++# define C_SWITCH_MACHINE -fno-common
++# else
++# error What gives? Fix me if DEC Unix supports ELF now.
++# endif
++#endif
++
++#if defined(__OpenBSD__)
++#define ORDINARY_LINK
++#endif
++
++#ifdef __ELF__
++#undef UNEXEC
++#define UNEXEC unexelf.o
++#endif
++
++#if defined (LINUX) && __GNU_LIBRARY__ - 0 < 6
++/* This controls a conditional in main. */
++#define LINUX_SBRK_BUG
++#endif
++
++
++#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)
++
++#ifndef NOT_C_CODE
++/* We need these because pointers are larger than the default ints. */
++#if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__FreeBSD__)
++#include <alloca.h>
++#endif
++#endif /* not NOT_C_CODE */
++
++/* On the Alpha it's best to avoid including TERMIO since struct
++ termio and struct termios are mutually incompatible. */
++/* #define NO_TERMIO */
++
++#if defined (LINUX) || defined (__NetBSD__) || defined (__OpenBSD__)
++# define TEXT_END ({ extern int _etext; &_etext; })
++# ifndef __ELF__
++# define COFF
++# define DATA_END ({ extern int _EDATA; &_EDATA; })
++# endif /* notdef __ELF__ */
++#endif
++
++#if (defined (__NetBSD__) || defined (__OpenBSD__)) && defined (__ELF__)
++#define HAVE_TEXT_START
++#endif
++
++/* Many Alpha implementations (e.g. gas 2.8) can't handle DBL_MIN:
++ they generate code that uses a signaling NaN instead of DBL_MIN.
++ Define DBL_MIN_REPLACEMENT to be the next value larger than DBL_MIN:
++ this avoids the assembler bug. */
++/* #define DBL_MIN_REPLACEMENT 2.2250738585072019e-308 */
diff --git a/japanese/emacs-emcws/files/patch-src:m:ia64.h b/japanese/emacs-emcws/files/patch-src:m:ia64.h
new file mode 100644
index 000000000000..34f7a1eec276
--- /dev/null
+++ b/japanese/emacs-emcws/files/patch-src:m:ia64.h
@@ -0,0 +1,11 @@
+--- src/m/ia64.h.orig Fri Sep 29 06:00:37 2000
++++ src/m/ia64.h Thu Nov 20 13:44:02 2003
+@@ -147,7 +147,7 @@
+
+ #ifndef NOT_C_CODE
+ /* We need these because pointers are larger than the default ints. */
+-# if !defined(__NetBSD__) && !defined(__OpenBSD__)
++# if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__FreeBSD__)
+ # include <alloca.h>
+ # else
+ # include <stdlib.h>
diff --git a/japanese/emacs-emcws/files/patch-src:m:sparc.h b/japanese/emacs-emcws/files/patch-src:m:sparc.h
new file mode 100644
index 000000000000..8d594f5b5cef
--- /dev/null
+++ b/japanese/emacs-emcws/files/patch-src:m:sparc.h
@@ -0,0 +1,11 @@
+--- src/m/sparc.h.orig Thu Sep 12 02:25:09 2002
++++ src/m/sparc.h Thu Sep 12 12:33:36 2002
+@@ -89,7 +89,7 @@
+ #define PURESIZE 130000
+ #endif
+
+-#if !defined (__NetBSD__) && !defined (__linux__) && !defined (__OpenBSD__)
++#if !defined (__NetBSD__) && !defined (__linux__) && !defined (__OpenBSD__) && !defined(__FreeBSD__)
+ /* This really belongs in s/sun.h. */
+
+ /* Say that the text segment of a.out includes the header;
diff --git a/japanese/emacs-emcws/files/patch-src:mem-limits.h b/japanese/emacs-emcws/files/patch-src:mem-limits.h
new file mode 100644
index 000000000000..c58dd778e2ec
--- /dev/null
+++ b/japanese/emacs-emcws/files/patch-src:mem-limits.h
@@ -0,0 +1,11 @@
+--- src/mem-limits.h.~1~ Wed Mar 8 12:49:46 2000
++++ src/mem-limits.h Wed Dec 17 03:15:24 2003
+@@ -98,7 +98,7 @@
+ static POINTER data_space_start;
+
+ /* Number of bytes of writable memory we can expect to be able to get */
+-static unsigned long lim_data;
++static rlim_t lim_data;
+
+ #ifdef NO_LIM_DATA
+ static void
diff --git a/japanese/emacs21-emcws/files/patch-configure.in b/japanese/emacs21-emcws/files/patch-configure.in
index 8412683f9d91..8d85d454258f 100644
--- a/japanese/emacs21-emcws/files/patch-configure.in
+++ b/japanese/emacs21-emcws/files/patch-configure.in
@@ -1,5 +1,5 @@
---- configure.in.orig Wed Apr 10 16:53:13 2002
-+++ configure.in Wed Apr 10 16:54:43 2002
+--- configure.in.orig Fri Mar 19 11:20:26 2004
++++ configure.in Fri Mar 19 11:22:24 2004
@@ -36,18 +36,26 @@
dnl A case that the LEIM package does not exist.
dnl
@@ -31,7 +31,7 @@
docdir='${datadir}/emacs/${version}$(EMACS_POSTFIX)/etc'
AC_ARG_WITH(gcc,
-@@ -224,6 +232,15 @@
+@@ -224,6 +232,18 @@
machine='' opsys='' unported=no
case "${canonical}" in
@@ -40,14 +40,17 @@
+ opsys=freebsd
+ case "${canonical}" in
+ alpha*-*-freebsd*) machine=alpha ;;
++ amd64-*-freebsd*) machine=amd64 ;;
++ ia64-*-freebsd*) machine=ia64 ;;
+ i[3456]86-*-freebsd*) machine=intel386 ;;
++ sparc64-*-freebsd*) machine=sparc ;;
+ esac
+ ;;
+
## NetBSD ports
*-*-netbsd* )
opsys=netbsd
-@@ -1069,7 +1086,6 @@
+@@ -1077,7 +1097,6 @@
;;
*-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
*-386bsd* ) opsys=386bsd ;;
@@ -55,7 +58,7 @@
*-nextstep* ) opsys=nextstep ;;
## Otherwise, we'll fall through to the generic opsys code at the bottom.
esac
-@@ -2095,6 +2111,7 @@
+@@ -2131,6 +2150,7 @@
# Solaris requires -lintl if you want strerror (which calls dgettext)
# to return localized messages.
AC_CHECK_LIB(intl, dgettext)
diff --git a/japanese/emacs21-emcws/files/patch-src:alloc.c b/japanese/emacs21-emcws/files/patch-src:alloc.c
new file mode 100644
index 000000000000..0ae9270b0d1f
--- /dev/null
+++ b/japanese/emacs21-emcws/files/patch-src:alloc.c
@@ -0,0 +1,14 @@
+--- src/alloc.c.orig Thu Sep 12 13:50:01 2002
++++ src/alloc.c Thu Sep 12 13:48:11 2002
+@@ -3723,7 +3723,11 @@
+ /* This trick flushes the register windows so that all the state of
+ the process is contained in the stack. */
+ #ifdef sparc
++#ifdef __sparc64__
++ asm ("flushw");
++#else
+ asm ("ta 3");
++#endif
+ #endif
+
+ /* Save registers that we need to see on the stack. We need to see
diff --git a/japanese/emacs21-emcws/files/patch-src:m:amd64.h b/japanese/emacs21-emcws/files/patch-src:m:amd64.h
new file mode 100644
index 000000000000..3129433e59b5
--- /dev/null
+++ b/japanese/emacs21-emcws/files/patch-src:m:amd64.h
@@ -0,0 +1,184 @@
+--- src/m/amd64.h~ Wed Dec 31 18:00:00 1969
++++ src/m/amd64.h Thu Dec 18 00:21:51 2003
+@@ -0,0 +1,181 @@
++/* machine description file For the amd64 chip.
++ Copyright (C) 1994, 1997, 1999 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 1, 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. */
++
++
++/* The following line tells the configuration script what sort of
++ operating system this machine is likely to run.
++ USUAL-OPSYS="note"
++
++NOTE-START
++Use -opsystem=freebsd
++NOTE-END
++
++*/
++
++#define BITS_PER_LONG 64
++#define BITS_PER_EMACS_INT 64
++#ifndef _LP64
++#define _LP64
++#endif
++
++/* 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
++
++/* 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 */
++
++/* __amd64__ defined automatically */
++
++
++/* Use type EMACS_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. */
++
++#undef 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 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 HAVE_ALLOCA
++
++/* GNU malloc and the relocating allocator do not work together
++ with X. [Who wrote that?] */
++
++/* May 1995: reportedly [Rainer Schoepf <schoepf at uni-mainz.de>] both the
++ system and the gnu malloc system work with "alpha-dec-osf3.0" and
++ "alpha-dec-osf3.2". */
++
++/* May 1995: it seems to me [Morten Welinder <terra at diku.dk>] that both
++ mallocs work with "alpha-dec-osf2.0", but I daren't break anything
++ right now. Feel free to play if you want. */
++
++/* #define SYSTEM_MALLOC */
++
++#ifdef __ELF__
++/* With ELF, make sure that all common symbols get allocated to in the
++ data section. Otherwise, the dump of temacs may miss variables in
++ the shared library that have been initialized. For example, with
++ GNU libc, __malloc_initialized would normally be resolved to the
++ shared library's .bss section, which is fatal. */
++# ifdef __GNUC__
++# define C_SWITCH_MACHINE -fno-common
++# else
++# error What gives? Fix me if DEC Unix supports ELF now.
++# endif
++#endif
++
++#if defined(__OpenBSD__)
++#define ORDINARY_LINK
++#endif
++
++#ifdef __ELF__
++#undef UNEXEC
++#define UNEXEC unexelf.o
++#endif
++
++#if defined (LINUX) && __GNU_LIBRARY__ - 0 < 6
++/* This controls a conditional in main. */
++#define LINUX_SBRK_BUG
++#endif
++
++
++#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)
++
++#ifndef NOT_C_CODE
++/* We need these because pointers are larger than the default ints. */
++#if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__FreeBSD__)
++#include <alloca.h>
++#endif
++#endif /* not NOT_C_CODE */
++
++/* On the Alpha it's best to avoid including TERMIO since struct
++ termio and struct termios are mutually incompatible. */
++/* #define NO_TERMIO */
++
++#if defined (LINUX) || defined (__NetBSD__) || defined (__OpenBSD__)
++# define TEXT_END ({ extern int _etext; &_etext; })
++# ifndef __ELF__
++# define COFF
++# define DATA_END ({ extern int _EDATA; &_EDATA; })
++# endif /* notdef __ELF__ */
++#endif
++
++#if (defined (__NetBSD__) || defined (__OpenBSD__)) && defined (__ELF__)
++#define HAVE_TEXT_START
++#endif
++
++/* Many Alpha implementations (e.g. gas 2.8) can't handle DBL_MIN:
++ they generate code that uses a signaling NaN instead of DBL_MIN.
++ Define DBL_MIN_REPLACEMENT to be the next value larger than DBL_MIN:
++ this avoids the assembler bug. */
++/* #define DBL_MIN_REPLACEMENT 2.2250738585072019e-308 */
diff --git a/japanese/emacs21-emcws/files/patch-src:m:ia64.h b/japanese/emacs21-emcws/files/patch-src:m:ia64.h
new file mode 100644
index 000000000000..34f7a1eec276
--- /dev/null
+++ b/japanese/emacs21-emcws/files/patch-src:m:ia64.h
@@ -0,0 +1,11 @@
+--- src/m/ia64.h.orig Fri Sep 29 06:00:37 2000
++++ src/m/ia64.h Thu Nov 20 13:44:02 2003
+@@ -147,7 +147,7 @@
+
+ #ifndef NOT_C_CODE
+ /* We need these because pointers are larger than the default ints. */
+-# if !defined(__NetBSD__) && !defined(__OpenBSD__)
++# if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__FreeBSD__)
+ # include <alloca.h>
+ # else
+ # include <stdlib.h>
diff --git a/japanese/emacs21-emcws/files/patch-src:m:sparc.h b/japanese/emacs21-emcws/files/patch-src:m:sparc.h
new file mode 100644
index 000000000000..8d594f5b5cef
--- /dev/null
+++ b/japanese/emacs21-emcws/files/patch-src:m:sparc.h
@@ -0,0 +1,11 @@
+--- src/m/sparc.h.orig Thu Sep 12 02:25:09 2002
++++ src/m/sparc.h Thu Sep 12 12:33:36 2002
+@@ -89,7 +89,7 @@
+ #define PURESIZE 130000
+ #endif
+
+-#if !defined (__NetBSD__) && !defined (__linux__) && !defined (__OpenBSD__)
++#if !defined (__NetBSD__) && !defined (__linux__) && !defined (__OpenBSD__) && !defined(__FreeBSD__)
+ /* This really belongs in s/sun.h. */
+
+ /* Say that the text segment of a.out includes the header;
diff --git a/japanese/emacs21-emcws/files/patch-src:mem-limits.h b/japanese/emacs21-emcws/files/patch-src:mem-limits.h
new file mode 100644
index 000000000000..c58dd778e2ec
--- /dev/null
+++ b/japanese/emacs21-emcws/files/patch-src:mem-limits.h
@@ -0,0 +1,11 @@
+--- src/mem-limits.h.~1~ Wed Mar 8 12:49:46 2000
++++ src/mem-limits.h Wed Dec 17 03:15:24 2003
+@@ -98,7 +98,7 @@
+ static POINTER data_space_start;
+
+ /* Number of bytes of writable memory we can expect to be able to get */
+-static unsigned long lim_data;
++static rlim_t lim_data;
+
+ #ifdef NO_LIM_DATA
+ static void