# $NetBSD: Makefile.common,v 1.22 2023/06/26 18:21:08 hauke Exp $
#
# used by editors/xemacs-current/Makefile
# used by editors/xemacs-current-nox11/Makefile

DISTNAME=	xemacs-21.5.35
EMACSVERSION=	21.5-b35
EMACS_DISTNAME=	xemacs-${EMACSVERSION}
CATEGORIES=	editors
MASTER_SITES=	${MASTER_SITE_XEMACS:=${DISTNAME:C/[.][^.]*$//}/}

MAINTAINER=	hauke@NetBSD.org
HOMEPAGE=	https://www.xemacs.org/
LICENSE=	gnu-gpl-v3

MKPIE_SUPPORTED=	no

.include "../../mk/bsd.prefs.mk"

PATCHDIR=	${.CURDIR}/../../editors/xemacs-current/patches
DISTINFO_FILE=	${.CURDIR}/../../editors/xemacs-current/distinfo
PLIST_SRC=	${.CURDIR}/../../editors/xemacs-current/PLIST

USE_TOOLS+=		gtar makeinfo perl

# Having the build path in the dumped emacs is not a problem.
CHECK_WRKREF_SKIP+=	bin/xemacs*

PRINT_PLIST_AWK+=	{ gsub(/${EMACS_DISTNAME}/, "$${DISTNAME}"); }
PRINT_PLIST_AWK+=	{ gsub(/${MACHINE_GNU_PLATFORM}/, "$${MACHINE_GNU_PLATFORM}"); }
PRINT_PLIST_AWK+=	{ gsub(/^share\/applications\/xemacs\.desktop$$/, "$${PLIST.x11}&"); }

PLIST_SUBST+=		DISTNAME=${EMACS_DISTNAME}
FILES_SUBST+=		DISTNAME=${EMACS_DISTNAME}
MESSAGE_SUBST+=		DISTNAME=${EMACS_DISTNAME}
INFO_FILES=		yes

GNU_CONFIGURE=		yes
CONFIGURE_ARGS+=	--datadir=${PREFIX}/lib
CONFIGURE_ARGS+=	--with-infopath=${PREFIX}/${PKGINFODIR}
CONFIGURE_ARGS+=	--with-clash-detection
CONFIGURE_ARGS+=	--with-mule
CONFIGURE_ARGS+=	--with-zlib
CONFIGURE_ARGS+=	--with-bignum=gmp
CONFIGURE_ARGS+=	--without-msw
CONFIGURE_ARGS+=	--with-postgresql=no

CFLAGS+=		-Dunix

INSTALL_MAKE_FLAGS+=	TAR=${TOOLS_PATH.gtar}

# Use terminfo on NetBSD-6 and newer.
# We cannot use terminfo.*.mk as XEmacs enforces a link to termcap,
# but this is fine for us.
.if (${OPSYS} == "NetBSD" || ${OPSYS} == "FreeBSD") && exists(/usr/include/term.h)
CPPFLAGS+=	-DTERMINFO
.endif

.if ${OPSYS} == "SunOS"
.  if !exists(/usr/demo/SOUND/libaudio.a) && \
      !exists(/usr/demo/SOUND/lib/libaudio.a)
CONFIGURE_ARGS+=	--with-sound=none
.  endif
.endif

pre-patch:
.for ci in etc lisp lisp/mule
	rm ${WRKSRC}/${ci}/.cvsignore
.endfor

.include "../../databases/gdbm/buildlink3.mk"
.include "../../devel/gmp/buildlink3.mk"
.include "../../mk/oss.buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/termcap.buildlink3.mk"
