cleanup, fix build on alpha

This commit is contained in:
naddy 2003-07-06 15:27:52 +00:00
parent 61487ca04e
commit ac9ee1a326
3 changed files with 62 additions and 179 deletions

View File

@ -1,43 +1,31 @@
# $OpenBSD: Makefile,v 1.28 2003/01/24 08:54:54 pvalchev Exp $
# $OpenBSD: Makefile,v 1.29 2003/07/06 15:27:52 naddy Exp $
COMMENT= "GNU editor"
VER= 20.7
DISTNAME= emacs-${VER}
CATEGORIES= editors
MASTER_SITES= ${MASTER_SITE_GNU:=emacs/}
MAINTAINER= Matthew Economou <xenophon@irtnog.org>
# GPL
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
SUBST_VARS= GCCARCH VER
.include <bsd.own.mk>
USE_GMAKE= Yes
CONFIGURE_STYLE= gnu dest
CONFIGURE_ARGS+= ${GCCARCH}
.if ${ELF_TOOLCHAIN} == "yes"
CONFIGURE_ENV= LDFLAGS="-Z"
.endif
MASTER_SITES= ${MASTER_SITE_GNU:=emacs/}
FLAVORS= no_x11
FLAVOR?=
M_ARCH= ${MACHINE_ARCH}
CONFIGURE_STYLE=gnu dest
CONFIGURE_ARGS= ${GCCARCH} --with-pop
CONFIGURE_ENV= LDFLAGS="${ELF_TOOLCHAIN:S/yes/-Z/:S/no//}"
GCCARCH= ${M_ARCH}-unknown-openbsd${OPSYS_VER}
GCCARCH= ${MACHINE_ARCH}-unknown-openbsd${OPSYS_VER}
# Uncomment for POP support
#CONFIGURE_ARGS+=--with-pop
# Uncomment for Kerberos support
#CONFIGURE_ARGS+=--with-kerberos
# Uncomment for Hesiod support
#CONFIGURE_ARGS+=--with-hesiod
SUBST_VARS= GCCARCH VER
.if ${FLAVOR:L} == "no_x11"
CONFIGURE_ARGS+= --without-x
@ -45,24 +33,4 @@ CONFIGURE_ARGS+= --without-x
CONFIGURE_ARGS+= --with-x-toolkit
.endif
# Do NOT strip on install. We will strip those things that can be
# stripped after install. (emacs crashes if stripped on an alpha)
# To do the job correctly temacs should be stripped, not emacs
# (which is created from temacs).
INSTALL_STRIP=
STRIP_PROGS= emacsclient etags ctags b2m
.if (${MACHINE_ARCH} != "alpha")
STRIP_PROGS+= ${DISTNAME}
.endif
STRIP_EXECS= cvtmail digest-doc emacsserver fakemail hexl movemail \
profile sorted-doc yow
post-install:
.for file in ${STRIP_PROGS}
@strip ${PREFIX}/bin/${file}
.endfor
.for file in ${STRIP_EXECS}
@strip ${PREFIX}/libexec/emacs/${VER}/${GCCARCH}/${file}
.endfor
.include <bsd.port.mk>

View File

@ -1,43 +1,38 @@
$NetBSD: patch-az,v 1.1.1.1 2003/04/11 00:31:45 uebayasi Exp $
--- src/unexelf.c.orig Mon May 15 02:14:02 2000
+++ src/unexelf.c Thu Apr 17 01:14:07 2003
@@ -470,7 +470,7 @@ typedef struct {
/*
* NetBSD does not have normal-looking user-land ELF support.
*/
-# ifdef __alpha__
+# if defined(__alpha__) || defined(__sparc_v9__)
# define ELFSIZE 64
# else
# define ELFSIZE 32
@@ -479,6 +479,7 @@ typedef struct {
# ifndef PT_LOAD
# define PT_LOAD Elf_pt_load
+# define SHT_PROGBITS Elf_sht_progbits
# define SHT_SYMTAB Elf_sht_symtab
# define SHT_DYNSYM Elf_sht_dynsym
# define SHT_NULL Elf_sht_null
@@ -495,7 +496,7 @@ typedef struct {
# include <sys/exec_ecoff.h>
# define HDRR struct ecoff_symhdr
# define pHDRR HDRR *
-# endif
+# endif /* __alpha__ */
#endif /* __NetBSD__ */
$OpenBSD: patch-src_unexelf.c,v 1.4 2003/07/06 15:27:52 naddy Exp $
--- src/unexelf.c.orig Sun Jul 6 14:21:21 2003
+++ src/unexelf.c Sun Jul 6 14:24:34 2003
@@ -500,7 +500,12 @@ typedef struct {
#ifdef __OpenBSD__
@@ -512,7 +513,7 @@ typedef struct {
# include <sys/exec_elf.h>
-#endif
+# ifdef __alpha__
+# include <sys/exec_ecoff.h>
+# define HDRR struct ecoff_symhdr
+# define pHDRR HDRR *
+# endif /* __alpha__ */
+#endif /* __OpenBSD__ */
#if __GNU_LIBRARY__ - 0 >= 6
# include <link.h> /* get ElfW etc */
@@ -512,10 +517,12 @@ typedef struct {
# else
# define ElfBitsW(bits, type) Elf/**/bits/**/_/**/type
# endif
-# ifdef _LP64
+# if defined (_LP64) || defined(__alpha__)
# define ELFSIZE 64
# else
# define ELFSIZE 32
@@ -613,12 +614,34 @@ find_section (name, section_names, file_
-# define ELFSIZE 64
-# else
-# define ELFSIZE 32
+# ifndef __OpenBSD__
+# ifdef _LP64
+# define ELFSIZE 64
+# else
+# define ELFSIZE 32
+# endif
# endif
/* This macro expands `bits' before invoking ElfBitsW. */
# define ElfExpandBitsW(bits, type) ElfBitsW (bits, type)
@@ -613,7 +620,7 @@ find_section (name, section_names, file_
if (noerror)
return -1;
else
@ -46,80 +41,3 @@ $NetBSD: patch-az,v 1.1.1.1 2003/04/11 00:31:45 uebayasi Exp $
}
return idx;
}
+#if defined(__alpha__)
+/* We are using ECOFF symbols embedded in ELF. */
+
+void
+relocate_ecoff_symhdr(symhdr, diff)
+ HDRR *symhdr;
+ ElfW(Word) diff;
+{
+ symhdr->cbLineOffset += diff;
+ symhdr->cbDnOffset += diff;
+ symhdr->cbPdOffset += diff;
+ symhdr->cbSymOffset += diff;
+ symhdr->cbOptOffset += diff;
+ symhdr->cbAuxOffset += diff;
+ symhdr->cbSsOffset += diff;
+ symhdr->cbSsExtOffset += diff;
+ symhdr->cbFdOffset += diff;
+ symhdr->cbRfdOffset += diff;
+ symhdr->cbExtOffset += diff;
+}
+#endif /* __alpha__ or __sony_news and systype_sysv */
+
/* ****************************************************************
* unexec
*
@@ -1005,22 +1028,11 @@ unexec (new_name, old_name, data_start,
== 0)
{
pHDRR symhdr = (pHDRR) (NEW_SECTION_H (nn).sh_offset + new_base);
-
- symhdr->cbLineOffset += new_data2_size;
- symhdr->cbDnOffset += new_data2_size;
- symhdr->cbPdOffset += new_data2_size;
- symhdr->cbSymOffset += new_data2_size;
- symhdr->cbOptOffset += new_data2_size;
- symhdr->cbAuxOffset += new_data2_size;
- symhdr->cbSsOffset += new_data2_size;
- symhdr->cbSsExtOffset += new_data2_size;
- symhdr->cbFdOffset += new_data2_size;
- symhdr->cbRfdOffset += new_data2_size;
- symhdr->cbExtOffset += new_data2_size;
+ relocate_ecoff_symhdr(symhdr, new_data2_size);
}
#endif /* __alpha__ */
-#if defined (__sony_news) && defined (_SYSTYPE_SYSV)
+#ifdef HAVE_MIPS_SBSS
if (NEW_SECTION_H (nn).sh_type == SHT_MIPS_DEBUG
&& old_mdebug_index != -1)
{
@@ -1030,20 +1042,12 @@ unexec (new_name, old_name, data_start,
if (diff)
{
- phdr->cbLineOffset += diff;
- phdr->cbDnOffset += diff;
- phdr->cbPdOffset += diff;
- phdr->cbSymOffset += diff;
- phdr->cbOptOffset += diff;
- phdr->cbAuxOffset += diff;
- phdr->cbSsOffset += diff;
- phdr->cbSsExtOffset += diff;
- phdr->cbFdOffset += diff;
- phdr->cbRfdOffset += diff;
- phdr->cbExtOffset += diff;
+#ifdef DEBUG
+ printf("Dont know how to relocate mdebug syms by %0x\n", diff);
+#endif
}
}
-#endif /* __sony_news && _SYSTYPE_SYSV */
+#endif /* HAVE_MIPS_SBSS */
#if __sgi
/* Adjust the HDRR offsets in .mdebug and copy the

View File

@ -1,13 +1,12 @@
@comment $OpenBSD: PLIST,v 1.5 2002/03/22 07:23:51 jasoni Exp $
@comment $OpenBSD: PLIST,v 1.6 2003/07/06 15:27:53 naddy Exp $
@pkgcfl xemacs-20*
bin/etags
bin/ctags
bin/emacsclient
bin/b2m
bin/rcs-checkin
bin/emacs-${VER}
@comment emacs is a link to emacs-${VER}
bin/ctags
bin/emacs
bin/emacs-${VER}
bin/emacsclient
bin/etags
bin/rcs-checkin
@unexec install-info --delete %D/info/ccmode %D/info/dir
info/ccmode
info/ccmode-1
@ -142,15 +141,11 @@ libexec/emacs/${VER}/${GCCARCH}/hexl
libexec/emacs/${VER}/${GCCARCH}/rcs2log
libexec/emacs/${VER}/${GCCARCH}/vcdiff
libexec/emacs/${VER}/${GCCARCH}/fns-${VER}.1.el
@dirrm libexec/emacs/${VER}/${GCCARCH}
@dirrm libexec/emacs/${VER}
@dirrm libexec/emacs
man/man1/emacs.1
man/man1/etags.1
man/man1/ctags.1
share/emacs/${VER}/etc/e/eterm
share/emacs/${VER}/etc/e/eterm.ti
@dirrm share/emacs/${VER}/etc/e
share/emacs/${VER}/etc/3B-MAXMEM
share/emacs/${VER}/etc/COPYING
share/emacs/${VER}/etc/AIX.DUMP
@ -239,7 +234,6 @@ share/emacs/${VER}/etc/ulimit.hack
share/emacs/${VER}/etc/vipcard.tex
share/emacs/${VER}/etc/viperCard.tex
share/emacs/${VER}/etc/yow.lines
@dirrm share/emacs/${VER}/etc
share/emacs/${VER}/lisp/abbrev.el
share/emacs/${VER}/lisp/abbrevlist.el
share/emacs/${VER}/lisp/add-log.el
@ -312,7 +306,6 @@ share/emacs/${VER}/lisp/calendar/diary-lib.elc
share/emacs/${VER}/lisp/calendar/holidays.elc
share/emacs/${VER}/lisp/calendar/lunar.elc
share/emacs/${VER}/lisp/calendar/solar.elc
@dirrm share/emacs/${VER}/lisp/calendar
share/emacs/${VER}/lisp/delsel.el
share/emacs/${VER}/lisp/derived.el
share/emacs/${VER}/lisp/desktop.el
@ -493,7 +486,6 @@ share/emacs/${VER}/lisp/textmodes/texnfo-upd.elc
share/emacs/${VER}/lisp/textmodes/text-mode.elc
share/emacs/${VER}/lisp/textmodes/two-column.elc
share/emacs/${VER}/lisp/textmodes/underline.elc
@dirrm share/emacs/${VER}/lisp/textmodes
share/emacs/${VER}/lisp/term/AT386.el
share/emacs/${VER}/lisp/term/apollo.el
share/emacs/${VER}/lisp/term/bg-mouse.el
@ -539,7 +531,6 @@ share/emacs/${VER}/lisp/term/wyse50.elc
share/emacs/${VER}/lisp/term/x-win.elc
share/emacs/${VER}/lisp/term/xterm.elc
share/emacs/${VER}/lisp/term/README
@dirrm share/emacs/${VER}/lisp/term
share/emacs/${VER}/lisp/skeleton.el
share/emacs/${VER}/lisp/snmp-mode.el
share/emacs/${VER}/lisp/sort.el
@ -888,7 +879,6 @@ share/emacs/${VER}/lisp/progmodes/simula.elc
share/emacs/${VER}/lisp/progmodes/sql.elc
share/emacs/${VER}/lisp/progmodes/tcl-mode.elc
share/emacs/${VER}/lisp/progmodes/vhdl-mode.elc
@dirrm share/emacs/${VER}/lisp/progmodes
share/emacs/${VER}/lisp/play/blackbox.el
share/emacs/${VER}/lisp/play/bruce.el
share/emacs/${VER}/lisp/play/cookie1.el
@ -934,7 +924,6 @@ share/emacs/${VER}/lisp/play/spook.elc
share/emacs/${VER}/lisp/play/studly.elc
share/emacs/${VER}/lisp/play/tetris.elc
share/emacs/${VER}/lisp/play/yow.elc
@dirrm share/emacs/${VER}/lisp/play
share/emacs/${VER}/lisp/mail/blessmail.el
share/emacs/${VER}/lisp/mail/emacsbug.el
share/emacs/${VER}/lisp/mail/feedmail.el
@ -1009,7 +998,6 @@ share/emacs/${VER}/lisp/mail/supercite.elc
share/emacs/${VER}/lisp/mail/undigest.elc
share/emacs/${VER}/lisp/mail/unrmail.elc
share/emacs/${VER}/lisp/mail/vms-pmail.elc
@dirrm share/emacs/${VER}/lisp/mail
share/emacs/${VER}/lisp/language/china-util.el
share/emacs/${VER}/lisp/language/chinese.el
share/emacs/${VER}/lisp/language/cyril-util.el
@ -1068,7 +1056,6 @@ share/emacs/${VER}/lisp/language/tibet-util.elc
share/emacs/${VER}/lisp/language/tibetan.elc
share/emacs/${VER}/lisp/language/viet-util.elc
share/emacs/${VER}/lisp/language/vietnamese.elc
@dirrm share/emacs/${VER}/lisp/language
share/emacs/${VER}/lisp/international/ccl.el
share/emacs/${VER}/lisp/international/characters.el
share/emacs/${VER}/lisp/international/codepage.el
@ -1123,7 +1110,6 @@ share/emacs/${VER}/lisp/international/skkdic-cnv.elc
share/emacs/${VER}/lisp/international/skkdic-utl.elc
share/emacs/${VER}/lisp/international/swedish.elc
share/emacs/${VER}/lisp/international/titdic-cnv.elc
@dirrm share/emacs/${VER}/lisp/international
share/emacs/${VER}/lisp/gnus/earcon.el
share/emacs/${VER}/lisp/gnus/gnus-agent.el
share/emacs/${VER}/lisp/gnus/gnus-art.el
@ -1257,7 +1243,6 @@ share/emacs/${VER}/lisp/gnus/nnweb.elc
share/emacs/${VER}/lisp/gnus/parse-time.elc
share/emacs/${VER}/lisp/gnus/pop3.elc
share/emacs/${VER}/lisp/gnus/score-mode.elc
@dirrm share/emacs/${VER}/lisp/gnus
share/emacs/${VER}/lisp/emulation/crisp.el
share/emacs/${VER}/lisp/emulation/edt-lk201.el
share/emacs/${VER}/lisp/emulation/edt-mapper.el
@ -1306,7 +1291,6 @@ share/emacs/${VER}/lisp/emulation/viper-mous.elc
share/emacs/${VER}/lisp/emulation/viper-util.elc
share/emacs/${VER}/lisp/emulation/viper.elc
share/emacs/${VER}/lisp/emulation/ws-mode.elc
@dirrm share/emacs/${VER}/lisp/emulation
share/emacs/${VER}/lisp/emacs-lisp/advice.el
share/emacs/${VER}/lisp/emacs-lisp/assoc.el
share/emacs/${VER}/lisp/emacs-lisp/autoload.el
@ -1395,16 +1379,29 @@ share/emacs/${VER}/lisp/emacs-lisp/shadow.elc
share/emacs/${VER}/lisp/emacs-lisp/sregex.elc
share/emacs/${VER}/lisp/emacs-lisp/tq.elc
share/emacs/${VER}/lisp/emacs-lisp/trace.elc
@dirrm share/emacs/${VER}/lisp/emacs-lisp
share/emacs/${VER}/lisp/COPYING
share/emacs/${VER}/lisp/auto-show.el
share/emacs/${VER}/lisp/info.el
@dirrm share/emacs/${VER}/lisp
share/emacs/${VER}/site-lisp/subdirs.el
@dirrm share/emacs/${VER}/site-lisp
@exec if [ ! -d %D/share/emacs/${VER}/leim ]; then mkdir -p %D/share/emacs/${VER}/leim; fi
@dirrm share/emacs/${VER}/leim
share/emacs/site-lisp/subdirs.el
@dirrm share/emacs/${VER}
@dirrm share/emacs/site-lisp
@dirrm share/emacs/${VER}/site-lisp
@dirrm share/emacs/${VER}/lisp
@dirrm share/emacs/${VER}/lisp/emacs-lisp
@dirrm share/emacs/${VER}/lisp/emulation
@dirrm share/emacs/${VER}/lisp/gnus
@dirrm share/emacs/${VER}/lisp/international
@dirrm share/emacs/${VER}/lisp/language
@dirrm share/emacs/${VER}/lisp/mail
@dirrm share/emacs/${VER}/lisp/play
@dirrm share/emacs/${VER}/lisp/progmodes
@dirrm share/emacs/${VER}/lisp/term
@dirrm share/emacs/${VER}/lisp/textmodes
@dirrm share/emacs/${VER}/lisp/calendar
@dirrm share/emacs/${VER}/etc
@dirrm share/emacs/${VER}/etc/e
@dirrm share/emacs/${VER}
@dirrm share/emacs
@dirrm libexec/emacs/${VER}/${GCCARCH}
@dirrm libexec/emacs/${VER}
@dirrm libexec/emacs