summaryrefslogtreecommitdiff
path: root/editors/emacs21/Makefile.common
diff options
context:
space:
mode:
Diffstat (limited to 'editors/emacs21/Makefile.common')
-rw-r--r--editors/emacs21/Makefile.common89
1 files changed, 89 insertions, 0 deletions
diff --git a/editors/emacs21/Makefile.common b/editors/emacs21/Makefile.common
new file mode 100644
index 00000000000..339667035eb
--- /dev/null
+++ b/editors/emacs21/Makefile.common
@@ -0,0 +1,89 @@
+# $NetBSD: Makefile.common,v 1.1 2007/06/11 13:38:29 markd Exp $
+
+MASTER_SITES= ${MASTER_SITE_GNU:=emacs/}
+MAINTAINER= markd@NetBSD.org
+HOMEPAGE= http://www.gnu.org/software/emacs/emacs.html
+
+CONFLICTS= mule-[0-9]*
+
+USE_TOOLS+= gmake perl:run
+GNU_CONFIGURE= yes
+
+PATCHDIR= ${.CURDIR}/../../editors/emacs21/patches
+FILESDIR= ${.CURDIR}/../../editors/emacs21/files
+DISTINFO_FILE= ${.CURDIR}/../../editors/emacs21/distinfo
+PLIST_SRC= ${.CURDIR}/../../editors/emacs21/PLIST
+
+# needed for 21.4a, can probably go away on next update
+EMACSVERSION= 21.4
+WRKSRC= ${WRKDIR}/emacs-${EMACSVERSION}
+PLIST_SUBST+= EMACSVERSION=${EMACSVERSION:Q}
+
+MAKEFLAGS+= EMACSLOADPATH=${WRKSRC}/lisp
+
+# build PATH in the dumped emacs is not a problem
+CHECK_WRKREF_SKIP+= bin/emacs
+CHECK_WRKREF_SKIP+= bin/emacs-${EMACSVERSION}
+
+.include "../../mk/bsd.prefs.mk"
+
+# This matches NetBSD <1.7 releases and 1.6A-1.6P, where ld is <2.13.2.1.
+.if (${OPSYS} == "NetBSD" && \
+ (empty(OS_VERSION:M1.[0-5]*) && \
+ empty(OS_VERSION:M1.6_*) && \
+ empty(OS_VERSION:M1.6) && \
+ empty(OS_VERSION:M1.6.[0-9]*) && \
+ empty(OS_VERSION:M1.6[A-P]*))) || \
+ ${OPSYS} == "DragonFly"
+# If using GNU ld 2.13.2.1 or later, avoid creating combined reloc
+# sections and .data reloc sections, both of which Emacs can't handle
+# properly. Analyzed by Stephen Ma.
+LDFLAGS+= -Wl,-z,nocombreloc
+.endif
+
+.if ${OPSYS} == "DragonFly" && exists(/usr/lib/crtbegin.o)
+CPPFLAGS+= -DDFLY_PRE_17_CRT
+.endif
+
+.if ${OPSYS} == "Darwin"
+PLIST_SUBST+= FNS_EL="@comment "
+PLIST_SUBST+= DOCTAIL=""
+.else
+PLIST_SUBST+= FNS_EL=""
+PLIST_SUBST+= DOCTAIL="-${EMACSVERSION}.1"
+.endif
+
+# Disable W^X.
+.if ${OPSYS} == "OpenBSD"
+LDFLAGS+= -Z
+.endif
+
+.include "../../mk/compiler.mk"
+.if !empty(CC_VERSION:Mgcc-3.*)
+CFLAGS+= -fno-zero-initialized-in-bss
+.endif
+
+INFO_FILES= # PLIST
+REPLACE_PERL= lib-src/grep-changelog
+
+post-extract:
+ ${CP} ${FILESDIR}/site-init.el ${WRKSRC}/lisp
+ ${CP} ${FILESDIR}/amd64.h ${WRKSRC}/src/m
+ ${CP} ${FILESDIR}/powermac.h ${WRKSRC}/src/m
+ ${CP} ${FILESDIR}/darwin.h ${WRKSRC}/src/s
+ ${CP} ${FILESDIR}/dragonfly.h ${WRKSRC}/src/s
+ ${CP} ${FILESDIR}/unexmacosx.c ${WRKSRC}/src
+ ${CP} ${FILESDIR}/sh3el.h ${WRKSRC}/src/m
+
+# for patch-ba
+post-build:
+ cd ${WRKSRC}/lisp && \
+ rm sort.elc && ${MAKE_PROGRAM} sort.elc && \
+ rm mail/smtpmail.elc && ${MAKE_PROGRAM} mail/smtpmail.elc
+
+pre-install:
+ @${FIND} ${WRKSRC} -type f -name "*.orig" -print | ${XARGS} ${RM} -f
+
+post-install:
+ ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/emacs
+ ${CHMOD} -R go-w ${PREFIX}/share/emacs