fed8909c456279d61163d21002a69c99b624b320
[pkgsrc.git] / shells / zsh / Makefile.common
1 # $NetBSD: Makefile.common,v 1.56 2010/02/07 09:53:20 roy Exp $
2
3 DISTNAME=       zsh-${ZSH_VERSION}
4 CATEGORIES=     shells
5 MASTER_SITES=   ftp://mirrors.dotsrc.org/zsh/ \
6                 ftp://ftp.fu-berlin.de/pub/unix/shells/zsh/ \
7                 ftp://ftp.funet.fi/pub/unix/shells/zsh/ \
8                 http://www.math.technion.ac.il/pub/zsh/ \
9                 ftp://ftp.zsh.org/zsh/
10 EXTRACT_SUFX=   .tar.bz2
11
12 MAINTAINER=     ${ZSH_MAINTAINER}
13 HOMEPAGE=       http://zsh.sourceforge.net/
14 COMMENT=        The Z shell
15
16 PKG_DESTDIR_SUPPORT=    user-destdir
17
18 GNU_CONFIGURE=          yes
19
20 CONFIGURE_ARGS+=        --enable-etcdir=${PKG_SYSCONFDIR:Q}
21
22 USE_TOOLS+=             makeinfo
23 INFO_FILES=             # PLIST
24 TEXINFO_REQD=           4.0
25
26 PKG_INSTALLATION_TYPES= overwrite pkgviews
27
28 .include "../../mk/bsd.prefs.mk"
29
30 # Handle any PKG_OPTIONS that this package might have.
31 .sinclude "options.mk"
32
33 BUILD_DEFS+=    ZSH_STATIC
34 MAKE_JOBS_SAFE= no
35 INSTALL_TARGET= install install.info
36 PKG_SHELL=      bin/zsh
37 PLIST_VARS=     dynamic terminfo
38
39 ################################################################################
40
41 _ZSH_OPSYS.OpenBSD=             ldflags tcsetpgrp
42 _ZSH_OPSYS.Linux=               ldflags tcsetpgrp
43 _ZSH_OPSYS.IRIX=                ldflags tcsetpgrp
44 _ZSH_OPSYS.Interix=             ldflags notcsetpgrp
45 _ZSH_OPSYS.DragonFly=           ldflags tcsetpgrp
46 _ZSH_OPSYS.FreeBSD=             ldflags tcsetpgrp
47 _ZSH_OPSYS.SunOS=               -       tcsetpgrp
48
49 _ZSH_OPSYS.${OPSYS}?=           ldflags tcsetpgrp
50
51 ################################################################################
52
53 ### static
54
55 _ZSH_LINKAGE.static.CONFIGURE_ARGS=     --disable-dynamic
56 _ZSH_LINKAGE.static.BUILDLINK_PASSTHRU_RPATHDIRS?=
57 _ZSH_LINKAGE.static.LDFLAGS?=           -static
58
59 ### dynamic
60
61 _ZSH_DYNAMIC_VARS.ldflags=      ${COMPILER_RPATH_FLAG}${PREFIX}/lib/zsh
62
63 _ZSH_LINKAGE.dynamic.CONFIGURE_ARGS=
64 _ZSH_LINKAGE.dynamic.BUILDLINK_PASSTHRU_RPATHDIRS=
65 # XXXUEBAYASI old make(1) has problems to handle :?true_str:false_str
66 #_ZSH_LINKAGE.dynamic.LDFLAGS= \
67 #       ${_ZSH_OPSYS.${OPSYS}:Mldflags:?${_ZSH_DYNAMIC_VARS.ldflags}:}
68 .if !empty(_ZSH_OPSYS.${OPSYS}:Mldflags)
69 _ZSH_LINKAGE.dynamic.LDFLAGS=   ${_ZSH_DYNAMIC_VARS.ldflags}
70 .endif
71
72 ### tcsetpgrp
73
74 _ZSH_OPSYS_VARS.tcsetpgrp=      --with-tcsetpgrp
75 _ZSH_OPSYS_VARS.notcsetpgrp=    --without-tcsetpgrp
76
77 ### terminfo
78 CHECK_BUILTIN.terminfo= yes
79 .include "../../mk/terminfo.builtin.mk"
80 .if !empty(IS_BUILTIN.terminfo:M[Yy][Ee][Ss])
81 PLIST.terminfo= yes
82 .endif
83
84 ################################################################################
85
86 # XXXUEBAYASI old make(1) has problems to handle :?true_str:false_str
87 #_ZSH_LINKAGE=  ${ZSH_STATIC:M[Yy][Ee][Ss]:?static:dynamic}     # static / dynamic
88 ZSH_STATIC?=    no
89 .if !empty(ZSH_STATIC:M[Yy][Ee][Ss])
90 _ZSH_LINKAGE=   static
91 .else
92 _ZSH_LINKAGE=   dynamic
93 .endif
94
95 CONFIGURE_ARGS+=                ${_ZSH_LINKAGE.${_ZSH_LINKAGE}.CONFIGURE_ARGS} \
96                                 ${_ZSH_OPSYS_VARS.${_ZSH_OPSYS.${OPSYS}:Mtcsetpgrp}} \
97                                 ${_ZSH_OPSYS_VARS.${_ZSH_OPSYS.${OPSYS}:Mnotcsetpgrp}}
98 BUILDLINK_PASSTHRU_RPATHDIRS+=  ${_ZSH_LINKAGE.${_ZSH_LINKAGE}.BUILDLINK_PASSTHRU_RPATHDIRS}
99 LDFLAGS+=                       ${_ZSH_LINKAGE.${_ZSH_LINKAGE}.LDFLAGS}
100 .if ${_ZSH_LINKAGE} == dynamic
101 PLIST.dynamic=  yes
102 .endif
103
104 ################################################################################
105
106 .undef MANZ
107
108 pre-install:
109         @cd ${WRKSRC}/Completion; ${FIND} . -name \*.orig -exec ${RM} \{\} \;
110
111 post-install:
112         ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/doc/zsh
113         cd ${WRKSRC}/Etc && ${INSTALL_DATA} BUGS FAQ    \
114                 ${DESTDIR}${PREFIX}/share/doc/zsh
115         cd ${WRKSRC} && ${INSTALL_DATA} FEATURES NEWS   \
116                 ${DESTDIR}${PREFIX}/share/doc/zsh
117
118 # Utilize Zsh's test framework.
119 # Testing of dynamic shell only works after install has been done
120 #
121 .PHONY: do-test do-su-test real-su-test
122
123 do-test: do-su-test
124
125 do-su-test:
126         @${_PKG_SILENT}${_PKG_DEBUG}                                    \
127         ${ECHO_MSG} "*** Warning: This test needs to be run as root"
128         @${_PKG_SILENT}${_PKG_DEBUG}                                    \
129         realtarget="real-su-test";                                      \
130         action="install";                                               \
131         ${_SU_TARGET}
132
133 real-su-test:
134         @${_PKG_SILENT}${_PKG_DEBUG}                                    \
135         ${ECHO_MSG} "${_PKGSRC_IN}> Testing for ${PKGNAME}"
136         @cd ${WRKSRC} && ${MAKE} check
137         @cd ${WRKSRC}/Test && ${MAKE} clean