summaryrefslogtreecommitdiff
path: root/shells/zsh/Makefile.common
blob: d0fae5e264c1d8094ffae0777db3d5ec4a784f9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# $NetBSD: Makefile.common,v 1.34 2006/04/07 15:28:49 jlam Exp $

DISTNAME=       zsh-${ZSH_VERSION}
CATEGORIES=	shells
MASTER_SITES=   ftp://sunsite.dk/pub/unix/shells/zsh/ \
		ftp://ftp.fu-berlin.de/pub/unix/shells/zsh/ \
		ftp://ftp.funet.fi/pub/unix/shells/zsh/ \
		http://www.math.technion.ac.il/pub/zsh/ \
		ftp://ftp.zsh.org/zsh/
EXTRACT_SUFX=	.tar.bz2

MAINTAINER=	${ZSH_MAINTAINER}
HOMEPAGE=	http://sunsite.dk/zsh/
COMMENT=	The Z shell

GNU_CONFIGURE=		yes

CONFIGURE_ARGS+=	--enable-etcdir=${PKG_SYSCONFDIR:Q}

USE_TOOLS+=		makeinfo
INFO_FILES=		# PLIST
TEXINFO_REQD=		4.0

PKG_INSTALLATION_TYPES=	overwrite pkgviews

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

BUILD_DEFS+=	ZSH_STATIC

.if defined(ZSH_STATIC) && !empty(ZSH_STATIC:M[Yy][Ee][Ss])
CONFIGURE_ARGS+=	--disable-dynamic

NETBSD_SHLINKER=	/libexec/ld.elf_so
NETBSD_SHLIBDIR=	/lib

.  if ${OPSYS} == "NetBSD" && ${OBJECT_FMT} == "ELF" && \
      defined(MKDYNAMICROOT) && !empty(MKDYNAMICROOT:M[Yy][Ee][Ss]) && \
      exists(${NETBSD_SHLINKER}) && exists(${NETBSD_SHLIBDIR})
#
# Built a dynamically linked "zsh" binary on NetBSD systems which use
# dynamically linked binaries on the root filesystem. The binary will
# only depend on the run-time link-editor and shared libraries on the
# root filesystem. We use "-rpath" below by purpose because the
# buildlink 3 framework won't filter it out.
#
BUILDLINK_PASSTHRU_RPATHDIRS+=	${NETBSD_SHLIBDIR}

LDFLAGS+=	-Wl,-dynamic-linker=${NETBSD_SHLINKER} -Wl,-R${NETBSD_SHLIBDIR}
.  else
LDFLAGS+=	-static
.  endif
.else
.  if ${OPSYS} == "SunOS"
PLIST_SRC=	${PKGDIR}/PLIST.dynamic ${PKGDIR}/PLIST
.  else
LDFLAGS+=	${COMPILER_RPATH_FLAG}${PREFIX}/lib/zsh

.    if ${OPSYS} == "Linux" || ${OPSYS} == "IRIX" || ${OPSYS} == "OpenBSD"
PLIST_SRC+=     ${PKGDIR}/PLIST.terminfo
.    elif ${OPSYS} == "Interix" || ${OPSYS} == "DragonFly"
PLIST_SRC+=     ${PKGDIR}/PLIST.terminfo ${PKGDIR}/PLIST.shlibs
.    else
PLIST_SRC+=     ${PKGDIR}/PLIST.shlibs
.    endif

PLIST_SRC+=	${PKGDIR}/PLIST.dynamic ${PKGDIR}/PLIST
.  endif
.endif

.if ${OPSYS} == "Interix"
CONFIGURE_ARGS+=--without-tcsetpgrp
.elif ${OPSYS} == "IRIX"
CONFIGURE_ARGS+=--with-tcsetpgrp
.endif

.undef MANZ

PKG_SHELL=	bin/zsh

INSTALL_TARGET=	install install.info

pre-install:
	@cd ${WRKSRC}/Completion; ${FIND} . -name \*.orig -exec ${RM} \{\} \;

post-install:
	@${INSTALL_DATA_DIR} ${PREFIX}/share/doc/zsh
	@cd ${WRKSRC}/Etc; ${INSTALL_DATA} BUGS FAQ 	\
		${PREFIX}/share/doc/zsh
	@cd ${WRKSRC}; ${INSTALL_DATA} FEATURES NEWS	\
		${PREFIX}/share/doc/zsh

# Utilize Zsh's test framework.
# Testing of dynamic shell only works after install has been done
#
.PHONY: do-test do-su-test real-su-test

do-test: do-su-test

do-su-test:
	@${_PKG_SILENT}${_PKG_DEBUG}					\
	${ECHO_MSG} "*** Warning: This test needs to be run as root"
	@${_PKG_SILENT}${_PKG_DEBUG}					\
	realtarget="real-su-test";					\
	action="install";						\
	${_SU_TARGET}

real-su-test:
	@${_PKG_SILENT}${_PKG_DEBUG}					\
	${ECHO_MSG} "${_PKGSRC_IN}> Testing for ${PKGNAME}"
	@cd ${WRKSRC} && ${MAKE} check
	@cd ${WRKSRC}/Test && ${MAKE} clean