Adapt this package to NetBSD.

XXX "xemacs" still complains about missing files during startup. This
XXX should be fixed by the "xemacs-packages" package.
This commit is contained in:
tron 1999-06-29 23:13:37 +00:00
parent b2f51312ee
commit 9a0ffdc772
15 changed files with 1630 additions and 1078 deletions

View file

@ -1,96 +1,64 @@
# New ports collection makefile for: X-Emacs
# Version required: 21.1
# Date created: 24 Apr 1999
# Whom: Michael Elbel (me@FreeBSD.org)
#
# FreeBSD Id: Makefile,v 1.28 1999/06/22 22:01:23 gj Exp
#
# $NetBSD: Makefile,v 1.3 1999/06/29 23:13:37 tron Exp $
# FreeBSD Id: Makefile,v 1.1.1.1 1997/09/03 19:27:57 gj Exp
DISTNAME= xemacs-21.1.2
PKGNAME= xemacs-21.1
DISTNAME= xemacs-21.1.3
CATEGORIES= editors
MASTER_SITES= \
ftp://ftp.xemacs.org/pub/xemacs/${PKGNAME}/ \
ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/ftp.xemacs.org/xemacs/${PKGNAME}/ \
ftp://ftp.usyd.edu.au/pub/Xemacs/${PKGNAME}/ \
ftp://ftp.lab.kdd.co.jp/xemacs/${PKGNAME}/ \
ftp://ftp.th-darmstadt.de/pub/editors/xemacs/${PKGNAME}/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${DISTNAME}-elc${EXTRACT_SUFX} ${DISTNAME}-info${EXTRACT_SUFX}
MASTER_SITES= ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.1/ \
ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/ftp.xemacs.org/xemacs/xemacs-21.1/ \
ftp://ftp.usyd.edu.au/pub/Xemacs/xemacs-21.1/ \
ftp://ftp.lab.kdd.co.jp/xemacs/xemacs-21.1/ \
ftp://ftp.th-darmstadt.de/pub/editors/xemacs/xemacs-21.1/
DISTFILES= xemacs-21.1.3.tar.gz xemacs-21.1.3-info.tar.gz
MAINTAINER= me@FreeBSD.org
MAINTAINER= packages@netbsd.org
HOMEPAGE= http://www.xemacs.org/
RUN_DEPENDS= ${PREFIX}/lib/xemacs/xemacs-packages/etc/enriched.doc:${PORTSDIR}/editors/xemacs-packages
#LIB_DEPENDS= Xpm.4:${PORTSDIR}/graphics/xpm \
# jpeg.9:${PORTSDIR}/graphics/jpeg \
# png.3:${PORTSDIR}/graphics/png
DEPENDS+= Xaw3d-1.5:../../x11/Xaw3d
DEPENDS+= gdbm-1.7.3:../../databases/gdbm
DEPENDS+= png-1.0.3:../../graphics/png
DEPENDS+= tiff-3.4:../../graphics/tiff
DEPENDS+= xpm-3.4k:../../graphics/xpm
XEMACS_VER= 21.1-p2
DIST_SUBDIR= xemacs
NOT_FOR_PLATFORM= *-*-alpha *-*-mips #fails purespace dumping
USE_GMAKE= yes
STRIP=
HAS_CONFIGURE= yes
XEMACS_ARCH= ${MACHINE_ARCH}--freebsd
CONFIGURE_ARGS= ${XEMACS_ARCH} --prefix=${PREFIX} \
--with-clash-detection \
--lockdir=/var/run/emacs/lock \
--with-sound=native \
--site-includes=${PREFIX}/include \
--site-libraries=${PREFIX}/lib \
--with-session=yes \
${WITH_XFACE} ${WITH_MULE} ${WITH_DIALOGS} ${WITH_OFFIX}
MAN1= ctags.1 etags.1 gnuattach.1 gnuclient.1 gnudoit.1 \
gnuserv.1 xemacs.1
ALL_TARGET= all dist
PLIST_SUB= XEMACS_VER=${XEMACS_VER} XEMACS_ARCH=${XEMACS_ARCH}
.include "../../mk/bsd.prefs.mk"
# Have
pre-fetch:
.if !defined(USE_MULE)
@echo "To compile in the MULE features, set the environment variable USE_MULE"
.endif
.if defined(HAVE_MOTIF)
.if !defined(MOTIF_STATIC)
@echo ""
@echo "If your MOTIF library is actually lesstif, you might occasionally"
@echo "experience locked-up frames."
@echo "In this case, set the environment variable MOTIF_STATIC and recompile, "
@echo "which will force the use of athena widgets for dialogs."
.endif
WITH_DIALOGS= --with-dialogs=athena3d
.if defined(USE_XFACE)
WITH_XFACE= --with-xface=yes
DEPENDS+= faces-1.6.1:../../mail/faces
.else
WITH_XFACE= --with-xface=no
.endif
.if defined(USE_MULE)
WITH_MULE= --with-mule
# MULEDISTFILE= ${DISTNAME}-mule.tar.gz
# PLIST= ${PKGDIR}/PLIST.mule
.endif
CONFIGURE_ARGS+= ${MACHINE_GNU_ARCH}--netbsd --prefix=${PREFIX} \
--with-clash-detection --with-mule=yes \
--with-ncurses=no --with-session=yes \
${WITH_DIALOGS} ${WITH_XFACE} \
--infopath="${PREFIX}/info:${X11BASE}/info:/usr/local/info" \
--lockdir=/var/tmp/xemacs.lock \
--site-includes=${PREFIX}/include \
--site-libraries=${PREFIX}/lib
# hack to avoid shipping binaries linked with Motif
.if defined(MOTIF_STATIC)
WITH_DIALOGS= --with-dialogs=athena
.endif
MAKE_ENV+= INSTALL_MAN="${INSTALL_MAN}" \
INSTALL_SCRIPT="${INSTALL_SCRIPT}"
PLIST_SRC= ${WRKDIR}/PLIST.tmp
# Drop faces (libcompface) and offix (libDnd) if building package,
# autodetect otherwise
.if defined(PACKAGE_BUILDING)
WITH_XFACE?= --with-xface=no
WITH_OFFIX?= --with-offix=no
.endif
post-patch:
@${RM} -f ${WRKSRC}/etc/ctags.1.orig
pre-configure:
@${ECHO} "To compile in the support for xface, set the environment variable USE_XFACE."
post-install:
ln -s xemacs-${XEMACS_VER} ${PREFIX}/bin/xemacs21
.for file in b2m ctags etags gnuclient xemacs-${XEMACS_VER}
strip ${PREFIX}/bin/${file}
.endfor
# ``make install'' does not set the permissions like pkg_add does.
chmod 1777 /var/run/emacs/lock
# ${MKDIR} ${PREFIX}/lib/xemacs
${RM} -f ${PREFIX}/bin/send-pr
# install xemacs21.sh into ${PREFIX}/etc/rc.d
@if [ ! -d ${PREFIX}/etc/rc.d ]; then ${MKDIR} ${PREFIX}/etc/rc.d; fi
${INSTALL_SCRIPT} ${FILESDIR}/xemacs21.sh ${PREFIX}/etc/rc.d
chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/lib/xemacs-21.1-p3
@if [ "X${MANZ}" != X"" ]; then \
${WRKSRC}/lib-src/gzip-el.sh ${PREFIX}/lib/xemacs-21.1-p3; \
GZSUFFIX=.gz; \
fi; \
${SED} -e 's|@.GZ@|'$$GZSUFFIX'|g' ${PKGDIR}/PLIST >${PLIST_SRC}
IGNORE= package is not ready yet
.include <../../mk/bsd.pkg.mk>
.include "../../mk/bsd.pkg.mk"

View file

@ -1,3 +1,4 @@
MD5 (xemacs/xemacs-21.1.2.tar.gz) = d6c3027d8efb56d265dda522392fa8bb
MD5 (xemacs/xemacs-21.1.2-elc.tar.gz) = 257d6043e6930004edba05ed74e75650
MD5 (xemacs/xemacs-21.1.2-info.tar.gz) = cf4c2eba16e1342e6cc235590cfbfdac
$NetBSD: md5,v 1.2 1999/06/29 23:13:38 tron Exp $
MD5 (xemacs-21.1.3.tar.gz) = 91595f7d2ab0a1492539cdf60ef18639
MD5 (xemacs-21.1.3-info.tar.gz) = dcbe365cc0341da5c7e89f0e1a17922f

View file

@ -1,14 +0,0 @@
#!/bin/sh
# script to create the lock directory in case it was
# removed in /etc/rc
#echo -n ' Xemacs'
if [ -d /var/run/emacs/lock ]
then
# delete any junk which may have been left around
rm -f /var/run/emacs/lock/*
else
mkdir -p /var/run/emacs/lock
fi
# can always do this
chmod 1777 /var/run/emacs/lock
exit 0

View file

@ -0,0 +1,33 @@
$NetBSD: patch-aa,v 1.1 1999/06/29 23:13:39 tron Exp $
--- configure.orig Wed May 12 16:29:01 1999
+++ configure Tue Jun 29 21:44:35 1999
@@ -1007,6 +1007,7 @@
machine='' opsys=''
case "$canonical" in
+ arm*-*-* ) machine=arm ;;
sparc-*-* ) machine=sparc ;;
alpha*-*-* ) machine=alpha ;;
vax-*-* ) machine=vax ;;
@@ -1075,9 +1076,10 @@
case "$canonical" in
i[3-9]86-*-netbsd*) machine=intel386 ;;
hp300-*-netbsd* | amiga-*-netbsd* | sun3-*-netbsd* | mac68k-*-netbsd* | da30-*-netbsd* | m68k-*-netbsd* )
- machine=hp9000s300 ;;
+ machine=m68k ;;
pc532-*-netbsd* | ns32k-*-netbsd* ) machine=ns32000 ;;
pmax-*-netbsd* | mips-*-netbsd* ) machine=pmax ;;
+ alpha-*-netbsd* ) machine=alpha ;;
esac
;;
@@ -2527,7 +2529,7 @@
decosf* | linux* | irix*) dash_r="-rpath " ;;
*)
dash_r=""
- for try_dash_r in "-R" "-R " "-rpath "; do
+ for try_dash_r in "-Wl,-R" "-R" "-R " "-rpath "; do
xe_check_libs="${try_dash_r}/no/such/file-or-directory"
if test "$GCC" = "yes"; then

View file

@ -0,0 +1,47 @@
$NetBSD: patch-ab,v 1.1 1999/06/29 23:13:39 tron Exp $
--- lib-src/Makefile.in.in.orig Sun Oct 12 03:39:30 1997
+++ lib-src/Makefile.in.in Wed Feb 25 01:34:51 1998
@@ -186,7 +186,7 @@
## Install the internal utilities. Until they are installed, we can
## just run them directly from lib-src.
-${archlibdir}: all
+install-archlibdir: all
@echo; echo "Installing utilities run internally by XEmacs."
./make-path ${archlibdir}
if test `(cd ${archlibdir} && $(pwd))` != `$(pwd)`; then \
@@ -197,19 +197,29 @@
if test `(cd ${archlibdir} && $(pwd))` \
!= `(cd ${srcdir} && $(pwd))`; then \
for f in ${SCRIPTS}; do \
- (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$$f ${archlibdir}/$$f); \
+ (cd .. && $(INSTALL_SCRIPT) ${srcdir}/$$f ${archlibdir}/$$f); \
done ; \
fi
## We do not need to install "wakeup" explicitly, because it will be
## copied when this whole directory is copied.
-install: ${archlibdir}
+install: install-archlibdir
@echo; echo "Installing utilities for users to run."
for file in ${INSTALLABLES} ; do \
- (cd .. && $(INSTALL_PROGRAM) lib-src/$${file} ${bindir}/$${file}) ; \
+ if [ $${file} = etags ] || [ $${file} = ctags ] || [ $${file} = b2m ] ; \
+ then \
+ (cd .. && $(INSTALL_PROGRAM) lib-src/$${file} ${bindir}/xemacs-$${file}) ; \
+ else \
+ (cd .. && $(INSTALL_PROGRAM) lib-src/$${file} ${bindir}/$${file}) ; \
+ fi \
done
for file in ${INSTALLABLE_SCRIPTS} ; do \
- (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$${file} ${bindir}/$${file}) ; \
+ if [ $${file} = rcs-checkin ] || [ $${file} = send-pr ] ; \
+ then \
+ (cd .. && $(INSTALL_SCRIPT) ${srcdir}/$${file} ${bindir}/xemacs-$${file}) ; \
+ else \
+ (cd .. && $(INSTALL_SCRIPT) ${srcdir}/$${file} ${bindir}/$${file}) ; \
+ fi \
done
uninstall:

View file

@ -0,0 +1,19 @@
$NetBSD: patch-ac,v 1.1 1999/06/29 23:13:40 tron Exp $
--- Makefile.in.orig Fri Nov 21 01:07:10 1997
+++ Makefile.in Sun Feb 22 23:22:43 1998
@@ -467,8 +467,12 @@
fi
cd ${srcdir}/etc && \
for page in xemacs etags ctags gnuserv gnuclient gnuattach gnudoit; do \
- ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
- chmod 0644 ${mandir}/$${page}${manext} ; \
+ if [ $${page} = etags ] || [ $${page} = ctags ] ; \
+ then \
+ ${INSTALL_MAN} ${srcdir}/etc/$${page}.1 ${mandir}/xemacs-$${page}${manext} ; \
+ else \
+ ${INSTALL_MAN} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
+ fi \
done
@echo "If you would like to save approximately 15M of disk space, do"
@echo "make gzip-el"

View file

@ -0,0 +1,7 @@
$NetBSD: patch-ad,v 1.1 1999/06/29 23:13:40 tron Exp $
--- etc/ctags.1.orig Wed Dec 18 23:42:17 1996
+++ etc/ctags.1 Sun Feb 22 23:20:23 1998
@@ -1 +1 @@
-.so man1/etags.1
+.so man1/xemacs-etags.1

View file

@ -0,0 +1,327 @@
$NetBSD: patch-ae,v 1.1 1999/06/29 23:13:40 tron Exp $
--- /dev/null Fri Jul 24 04:57:05 1998
+++ src/netbsd.elf.h Fri Jul 24 05:41:01 1998
@@ -0,0 +1,322 @@
+/* ELF support for BFD.
+ Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
+
+ Written by Fred Fish @ Cygnus Support, from information published
+ in "UNIX System V Release 4, Programmers Guide: ANSI C and
+ Programming Support Tools".
+
+This file is part of BFD, the Binary File Descriptor library.
+
+This program 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 of the License, or
+(at your option) any later version.
+
+This program 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 this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+
+/* This file is part of ELF support for BFD, and contains the portions
+ that are common to both the internal and external representations.
+ For example, ELFMAG0 is the byte 0x7F in both the internal (in-memory)
+ and external (in-file) representations. */
+
+#ifndef _ELF_COMMON_H
+#define _ELF_COMMON_H
+
+/* Fields in e_ident[] */
+
+#define EI_MAG0 0 /* File identification byte 0 index */
+#define ELFMAG0 0x7F /* Magic number byte 0 */
+
+#define EI_MAG1 1 /* File identification byte 1 index */
+#define ELFMAG1 'E' /* Magic number byte 1 */
+
+#define EI_MAG2 2 /* File identification byte 2 index */
+#define ELFMAG2 'L' /* Magic number byte 2 */
+
+#define EI_MAG3 3 /* File identification byte 3 index */
+#define ELFMAG3 'F' /* Magic number byte 3 */
+
+#define EI_CLASS 4 /* File class */
+#define ELFCLASSNONE 0 /* Invalid class */
+#define ELFCLASS32 1 /* 32-bit objects */
+#define ELFCLASS64 2 /* 64-bit objects */
+
+#define EI_DATA 5 /* Data encoding */
+#define ELFDATANONE 0 /* Invalid data encoding */
+#define ELFDATA2LSB 1 /* 2's complement, little endian */
+#define ELFDATA2MSB 2 /* 2's complement, big endian */
+
+#define EI_VERSION 6 /* File version */
+
+#define EI_PAD 7 /* Start of padding bytes */
+
+
+/* Values for e_type, which identifies the object file type */
+
+#define ET_NONE 0 /* No file type */
+#define ET_REL 1 /* Relocatable file */
+#define ET_EXEC 2 /* Executable file */
+#define ET_DYN 3 /* Shared object file */
+#define ET_CORE 4 /* Core file */
+#define ET_LOPROC 0xFF00 /* Processor-specific */
+#define ET_HIPROC 0xFFFF /* Processor-specific */
+
+/* Values for e_machine, which identifies the architecture */
+
+#define EM_NONE 0 /* No machine */
+#define EM_M32 1 /* AT&T WE 32100 */
+#define EM_SPARC 2 /* SUN SPARC */
+#define EM_386 3 /* Intel 80386 */
+#define EM_68K 4 /* Motorola m68k family */
+#define EM_88K 5 /* Motorola m88k family */
+#define EM_860 7 /* Intel 80860 */
+#define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */
+
+#define EM_MIPS_RS4_BE 10 /* MIPS R4000 big-endian */
+
+#define EM_SPARC64 11 /* SPARC v9 (not official) 64-bit */
+
+#define EM_PARISC 15 /* HPPA */
+
+#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */
+
+#define EM_PPC 20 /* PowerPC */
+
+#define EM_SH 42 /* Hitachi SH */
+
+/* If it is necessary to assign new unofficial EM_* values, please pick large
+ random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision
+ with official or non-GNU unofficial values.
+
+ NOTE: Do not just increment the most recent number by one.
+ Somebody else somewhere will do exactly the same thing, and you
+ will have a collision. Instead, pick a random number. */
+
+/* Cygnus PowerPC ELF backend. Written in the absence of an ABI. */
+#define EM_CYGNUS_POWERPC 0x9025
+
+/* Old version of PowerPC, this should be removed shortly. */
+#define EM_PPC_OLD 17
+
+
+/* Cygnus M32R ELF backend. Written in the absence of an ABI. */
+#define EM_CYGNUS_M32R 0x9041
+
+/* Alpha backend magic number. Written in the absence of an ABI. */
+#define EM_ALPHA 0x9026
+
+/* D10V backend magic number. Written in the absence of an ABI. */
+#define EM_CYGNUS_D10V 0x7650
+
+
+
+/* mn10200 and mn10300 backend magic numbers.
+ Written in the absense of an ABI. */
+#define EM_CYGNUS_MN10200 0xdead
+#define EM_CYGNUS_MN10300 0xbeef
+
+/* See the above comment before you add a new EM_* value here. */
+
+/* Values for e_version */
+
+#define EV_NONE 0 /* Invalid ELF version */
+#define EV_CURRENT 1 /* Current version */
+
+/* Values for program header, p_type field */
+
+#define PT_NULL 0 /* Program header table entry unused */
+#define PT_LOAD 1 /* Loadable program segment */
+#define PT_DYNAMIC 2 /* Dynamic linking information */
+#define PT_INTERP 3 /* Program interpreter */
+#define PT_NOTE 4 /* Auxiliary information */
+#define PT_SHLIB 5 /* Reserved, unspecified semantics */
+#define PT_PHDR 6 /* Entry for header table itself */
+#define PT_LOPROC 0x70000000 /* Processor-specific */
+#define PT_HIPROC 0x7FFFFFFF /* Processor-specific */
+
+/* Program segment permissions, in program header p_flags field */
+
+#define PF_X (1 << 0) /* Segment is executable */
+#define PF_W (1 << 1) /* Segment is writable */
+#define PF_R (1 << 2) /* Segment is readable */
+#define PF_MASKPROC 0xF0000000 /* Processor-specific reserved bits */
+
+/* Values for section header, sh_type field */
+
+#define SHT_NULL 0 /* Section header table entry unused */
+#define SHT_PROGBITS 1 /* Program specific (private) data */
+#define SHT_SYMTAB 2 /* Link editing symbol table */
+#define SHT_STRTAB 3 /* A string table */
+#define SHT_RELA 4 /* Relocation entries with addends */
+#define SHT_HASH 5 /* A symbol hash table */
+#define SHT_DYNAMIC 6 /* Information for dynamic linking */
+#define SHT_NOTE 7 /* Information that marks file */
+#define SHT_NOBITS 8 /* Section occupies no space in file */
+#define SHT_REL 9 /* Relocation entries, no addends */
+#define SHT_SHLIB 10 /* Reserved, unspecified semantics */
+#define SHT_DYNSYM 11 /* Dynamic linking symbol table */
+
+/* The next three section types are defined by Solaris, and are named
+ SHT_SUNW*. We use them in GNU code, so we also define SHT_GNU*
+ versions. */
+#define SHT_SUNW_verdef 0x6ffffffd /* Versions defined by file */
+#define SHT_SUNW_verneed 0x6ffffffe /* Versions needed by file */
+#define SHT_SUNW_versym 0x6fffffff /* Symbol versions */
+
+#define SHT_GNU_verdef SHT_SUNW_verdef
+#define SHT_GNU_verneed SHT_SUNW_verneed
+#define SHT_GNU_versym SHT_SUNW_versym
+
+#define SHT_LOPROC 0x70000000 /* Processor-specific semantics, lo */
+#define SHT_HIPROC 0x7FFFFFFF /* Processor-specific semantics, hi */
+#define SHT_LOUSER 0x80000000 /* Application-specific semantics */
+#define SHT_HIUSER 0x8FFFFFFF /* Application-specific semantics */
+
+/* Values of note segment descriptor types for core files. */
+
+#define NT_PRSTATUS 1 /* Contains copy of prstatus struct */
+#define NT_FPREGSET 2 /* Contains copy of fpregset struct */
+#define NT_PRPSINFO 3 /* Contains copy of prpsinfo struct */
+
+/* Values of note segment descriptor types for object files. */
+/* (Only for hppa right now. Should this be moved elsewhere?) */
+
+#define NT_VERSION 1 /* Contains a version string. */
+
+/* These three macros disassemble and assemble a symbol table st_info field,
+ which contains the symbol binding and symbol type. The STB_ and STT_
+ defines identify the binding and type. */
+
+#define ELF_ST_BIND(val) (((unsigned int)(val)) >> 4)
+#define ELF_ST_TYPE(val) ((val) & 0xF)
+#define ELF_ST_INFO(bind,type) (((bind) << 4) + ((type) & 0xF))
+
+#define STN_UNDEF 0 /* undefined symbol index */
+
+#define STB_LOCAL 0 /* Symbol not visible outside obj */
+#define STB_GLOBAL 1 /* Symbol visible outside obj */
+#define STB_WEAK 2 /* Like globals, lower precedence */
+#define STB_LOPROC 13 /* Application-specific semantics */
+#define STB_HIPROC 15 /* Application-specific semantics */
+
+#define STT_NOTYPE 0 /* Symbol type is unspecified */
+#define STT_OBJECT 1 /* Symbol is a data object */
+#define STT_FUNC 2 /* Symbol is a code object */
+#define STT_SECTION 3 /* Symbol associated with a section */
+#define STT_FILE 4 /* Symbol gives a file name */
+#define STT_LOPROC 13 /* Application-specific semantics */
+#define STT_HIPROC 15 /* Application-specific semantics */
+
+/* Special section indices, which may show up in st_shndx fields, among
+ other places. */
+
+#define SHN_UNDEF 0 /* Undefined section reference */
+#define SHN_LORESERVE 0xFF00 /* Begin range of reserved indices */
+#define SHN_LOPROC 0xFF00 /* Begin range of appl-specific */
+#define SHN_HIPROC 0xFF1F /* End range of appl-specific */
+#define SHN_ABS 0xFFF1 /* Associated symbol is absolute */
+#define SHN_COMMON 0xFFF2 /* Associated symbol is in common */
+#define SHN_HIRESERVE 0xFFFF /* End range of reserved indices */
+
+/* relocation info handling macros */
+
+#define ELF32_R_INFO(s,t) (((s) << 8) + ((t) & 0xff))
+
+#define ELF64_R_INFO(s,t) (((bfd_vma) (s) << 32) + (bfd_vma) (t))
+
+/* Dynamic section tags */
+
+#define DT_NULL 0
+#define DT_NEEDED 1
+#define DT_PLTRELSZ 2
+#define DT_PLTGOT 3
+#define DT_HASH 4
+#define DT_STRTAB 5
+#define DT_SYMTAB 6
+#define DT_RELA 7
+#define DT_RELASZ 8
+#define DT_RELAENT 9
+#define DT_STRSZ 10
+#define DT_SYMENT 11
+#define DT_INIT 12
+#define DT_FINI 13
+#define DT_SONAME 14
+#define DT_RPATH 15
+#define DT_SYMBOLIC 16
+#define DT_REL 17
+#define DT_RELSZ 18
+#define DT_RELENT 19
+#define DT_PLTREL 20
+#define DT_DEBUG 21
+#define DT_TEXTREL 22
+#define DT_JMPREL 23
+
+/* The next four dynamic tags are used on Solaris. We support them
+ everywhere. */
+#define DT_VERDEF 0x6ffffffc
+#define DT_VERDEFNUM 0x6ffffffd
+#define DT_VERNEED 0x6ffffffe
+#define DT_VERNEEDNUM 0x6fffffff
+
+/* This tag is a GNU extension to the Solaris version scheme. */
+#define DT_VERSYM 0x6ffffff0
+
+#define DT_LOPROC 0x70000000
+#define DT_HIPROC 0x7fffffff
+
+/* These section tags are used on Solaris. We support them
+ everywhere, and hope they do not conflict. */
+
+#define DT_AUXILIARY 0x7ffffffd
+#define DT_FILTER 0x7fffffff
+
+/* These constants are used for the version number of a Elf32_Verdef
+ structure. */
+
+#define VER_DEF_NONE 0
+#define VER_DEF_CURRENT 1
+
+/* These constants appear in the vd_flags field of a Elf32_Verdef
+ structure. */
+
+#define VER_FLG_BASE 0x1
+#define VER_FLG_WEAK 0x2
+
+/* These special constants can be found in an Elf32_Versym field. */
+
+#define VER_NDX_LOCAL 0
+#define VER_NDX_GLOBAL 1
+
+/* These constants are used for the version number of a Elf32_Verneed
+ structure. */
+
+#define VER_NEED_NONE 0
+#define VER_NEED_CURRENT 1
+
+/* This flag appears in a Versym structure. It means that the symbol
+ is hidden, and is only visible with an explicit version number.
+ This is a GNU extension. */
+
+#define VERSYM_HIDDEN 0x8000
+
+/* This is the mask for the rest of the Versym information. */
+
+#define VERSYM_VERSION 0x7fff
+
+/* This is a special token which appears as part of a symbol name. It
+ indictes that the rest of the name is actually the name of a
+ version node, and is not part of the actual name. This is a GNU
+ extension. For example, the symbol name `stat@ver2' is taken to
+ mean the symbol `stat' in version `ver2'. */
+
+#define ELF_VER_CHR '@'
+
+#endif /* _ELF_COMMON_H */

View file

@ -1,11 +1,25 @@
--- configure.orig Wed May 26 06:28:12 1999
+++ configure Wed May 26 06:28:08 1999
@@ -11172,7 +11172,7 @@
if test "$with_database_berkdb" != "no"; then
echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6
echo "configure:11175: checking for Berkeley db.h" >&5
- for path in "db/db.h" "db.h"; do
+ for path in "/usr/include/db.h" "db/db.h" "db.h"; do
cat > conftest.$ac_ext <<EOF
#line 11178 "configure"
#include "confdefs.h"
$NetBSD: patch-af,v 1.2 1999/06/29 23:13:41 tron Exp $
--- configure.in.orig Mon Feb 9 20:58:57 1998
+++ configure.in Sat Mar 6 11:09:17 1999
@@ -940,6 +940,7 @@
dnl Straightforward machine determination
case "$canonical" in
+ arm-*-* ) machine=arm ;;
sparc-*-* ) machine=sparc ;;
alpha-*-* ) machine=alpha ;;
vax-*-* ) machine=vax ;;
@@ -1013,10 +1014,10 @@
case "$canonical" in
i[[3-9]]86-*-netbsd*) machine=intel386 ;;
hp300-*-netbsd* | amiga-*-netbsd* | sun3-*-netbsd* | mac68k-*-netbsd* | da30-*-netbsd* | m68k-*-netbsd* )
- dnl Yes, this is somewhat bogus.
- machine=hp9000s300 ;;
+ machine=m68k ;;
pc532-*-netbsd* | ns32k-*-netbsd* ) machine=ns32000 ;;
pmax-*-netbsd* | mips-*-netbsd* ) machine=pmax ;;
+ alpha-*-netbsd* ) machine=alpha ;;
esac
;;

View file

@ -0,0 +1,12 @@
$NetBSD: patch-ag,v 1.1 1999/06/29 23:13:41 tron Exp $
--- src/s/netbsd.h.orig Fri Jul 24 05:57:27 1998
+++ src/s/netbsd.h Fri Jul 24 05:58:34 1998
@@ -60,3 +60,7 @@
#define ORDINARY_LINK
+#ifdef __ELF__
+#define UNEXEC "unexelf.o" /* we're not in an a.out world anymore friends */
+#else
#define UNEXEC "unexfreebsd.o" /* ironic, considering history of unexfreebsd */
+#endif

View file

@ -0,0 +1,13 @@
$NetBSD: patch-ah,v 1.1 1999/06/29 23:13:41 tron Exp $
--- src/unexelf.c.orig Fri Jul 24 06:17:28 1998
+++ src/unexelf.c Fri Jul 24 06:17:36 1998
@@ -419,3 +419,8 @@
#include <fcntl.h>
+#ifdef __NetBSD__ /* XXX this is a hack */
+#include "netbsd.elf.h"
+#include <sys/exec_elf.h>
+#else
#include <elf.h>
+#endif
#include <sys/mman.h>

View file

@ -1,20 +1,13 @@
--- lib-src/fakemail.c.orig Tue Mar 23 22:09:58 1999
+++ lib-src/fakemail.c Tue Mar 23 22:12:20 1999
@@ -157,9 +157,17 @@
extern char *malloc (), *realloc ();
#endif
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 400000
+#define CURRENT_USER
+#endif
+
#ifdef CURRENT_USER
extern struct passwd *getpwuid ();
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 400000
+extern uid_t geteuid ();
+#else
extern unsigned short geteuid ();
+#endif
static struct passwd *my_entry;
#define cuserid(s) \
(my_entry = getpwuid (((int) geteuid ())), \
$NetBSD: patch-ai,v 1.2 1999/06/29 23:13:41 tron Exp $
--- src/unexfreebsd.c.orig Sun Oct 12 02:40:17 1997
+++ src/unexfreebsd.c Sat Mar 6 11:03:31 1999
@@ -289,7 +289,7 @@
/* 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 !defined(sparc) && !defined(__arm__)
if (ri->r_copy)
return;
#else

View file

@ -0,0 +1,116 @@
$NetBSD: patch-aj,v 1.1 1999/06/29 23:13:42 tron Exp $
--- /dev/null Sat Mar 6 04:34:35 1999
+++ src/m/arm.h Sat Mar 6 11:25:20 1999
@@ -0,0 +1,111 @@
+/* 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 */
+#ifndef __arm__
+/* Netbsd's gcc-2.7 doesn't define __arm__: it should */
+#define __arm__
+#endif
+
+/* 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. */

View file

@ -0,0 +1,13 @@
$NetBSD: patch-ak,v 1.1 1999/06/29 23:13:42 tron Exp $
--- src/Makefile.in.in.orig Sat Jun 20 02:58:42 1998
+++ src/Makefile.in.in Tue Jun 29 21:53:08 1999
@@ -52,7 +52,7 @@
RECURSIVE_MAKE=@RECURSIVE_MAKE@
c_switch_all=@c_switch_all@
-ld_switch_all=@ld_switch_all@
+ld_switch_all=@ld_switch_all@ @LDFLAGS@
ld_libs_all=@ld_libs_all@
ld_dynamic_link_flags=@ld_dynamic_link_flags@

File diff suppressed because it is too large Load diff