53bcf42769
Avoids going to the great hacks in the build system to avoid it.
126 lines
3.6 KiB
Makefile
126 lines
3.6 KiB
Makefile
# $NetBSD: Makefile.common,v 1.15 2013/10/27 20:47:53 joerg Exp $
|
|
#
|
|
# used by editors/emacs21/Makefile
|
|
# used by editors/emacs21-nox11/Makefile
|
|
|
|
DISTNAME= emacs-${EMACSVERSION}a
|
|
PKGNAME?= emacs21-${EMACSVERSION}a
|
|
|
|
MASTER_SITES= ${MASTER_SITE_GNU:=emacs/}
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= http://www.gnu.org/software/emacs/emacs.html
|
|
COMMENT= GNU editing macros (editor)
|
|
|
|
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}
|
|
|
|
CONFIGURE_ARGS+= --srcdir=${WRKSRC:Q}
|
|
INSTALL_MAKE_FLAGS+= prefix=${DESTDIR}${PREFIX}
|
|
INSTALL_MAKE_FLAGS+= mandir=${DESTDIR}${PREFIX}/${PKGMANDIR}
|
|
INSTALL_MAKE_FLAGS+= infodir=${DESTDIR}${PREFIX}/${PKGINFODIR}
|
|
|
|
.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
|
|
|
|
# Use terminfo on NetBSD-6.
|
|
# We cannot use terminfo.*.mk as emacs WILL force a link to termcap,
|
|
# but this is fine for us.
|
|
.if (${OPSYS} == "NetBSD") && exists(/usr/include/term.h)
|
|
CPPFLAGS+= -DTERMINFO
|
|
.endif
|
|
|
|
.if (${OPSYS} == "DragonFly") && exists(/usr/lib/crtn.o)
|
|
CPPFLAGS+= -DDFLY_CRT_USRLIB
|
|
.endif
|
|
|
|
PLIST_VARS+= fns.el
|
|
.if ${OPSYS} == "Darwin"
|
|
PLIST_SUBST+= DOCTAIL=""
|
|
.else
|
|
PLIST.fns.el= yes
|
|
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
|
|
|
|
.if !empty(PKGSRC_COMPILER:Mclang)
|
|
TOOL_DEPENDS+= tradcpp-[0-9]*:../../devel/tradcpp
|
|
TRADCPP= ${PREFIX}/bin/tradcpp
|
|
.else
|
|
TRADCPP= ${CPP} -traditional-cpp
|
|
.endif
|
|
ALL_ENV+= TRADCPP=${TRADCPP:Q}
|
|
|
|
.if (${OPSYS} == "NetBSD") && \
|
|
!exists(/usr/lib/libgcc_s.so) && !exists(/usr/lib/libgcc.a)
|
|
# NetBSD with native Clang doesn't provide libgcc, everything is in libc.
|
|
pre-configure: fake-libgcc
|
|
|
|
fake-libgcc:
|
|
${AR} q ${BUILDLINK_DIR}/lib/libgcc.a
|
|
.endif
|
|
|
|
INFO_FILES= yes
|
|
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 && \
|
|
rm fast-lock.elc && ${MAKE_PROGRAM} fast-lock.elc
|
|
|
|
pre-install:
|
|
@${FIND} ${WRKSRC} -type f -name "*.orig" -print | ${XARGS} ${RM} -f
|
|
|
|
post-install:
|
|
${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DESTDIR}${PREFIX}/share/emacs
|
|
${CHMOD} -R go-w ${DESTDIR}${PREFIX}/share/emacs
|