aboutsummaryrefslogtreecommitdiffstats
path: root/lang/gauche/Makefile
blob: e4c28d9f77afcb4c2e506a609c9fe5c82b4dbfae (plain) (blame)
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
112
113
114
115
116
117
118
119
120
# Created by: Akinori MUSHA aka knu <knu@idaemons.org>
# $FreeBSD$

PORTNAME=   gauche
PORTVERSION=    0.9.3.3
PORTREVISION=   1
CATEGORIES= lang scheme
MASTER_SITES=   SF/${PORTNAME}/Gauche/
DISTNAME=   Gauche-${PORTVERSION}
EXTRACT_SUFX=   .tgz

MAINTAINER= erik@elfga.com
COMMENT=    Scheme script interpreter with multibyte character handling

OPTIONS_DEFINE= GDBM SLIB DOCS MANPAGES
OPTIONS_SINGLE= THREADS MULTIBYTE
OPTIONS_SINGLE_THREADS= PTHREADS NO_THREADS
OPTIONS_SINGLE_MULTIBYTE=UTF8 EUCJP SJIS NO_MULTIBYTE
OPTIONS_DEFAULT=PTHREADS UTF8 MANPAGES
SLIB_DESC=  Create catalogue for SLIB port
PTHREADS_DESC=  Enable POSIX thread support
NO_THREADS_DESC=No threading support
EUCJP_DESC= EUC-JP encoding support
SJIS_DESC=  Shift_JIS encoding support
NO_MULTIBYTE_DESC=No multibyte character encoding support
NO_OPTIONS_SORT=yes

# breaks in ext/uvecor.c on some locales
MAKE_ENV=   LANG=C
# avoids a problem with with ccache's pre-processor optimization
MAKE_ENV+=  CCACHE_CPP2=1

DATADIR?=   ${PREFIX}/share/${PORTNAME}-0.9

GNU_CONFIGURE=  yes
CONFIGURE_ARGS= --enable-tls=none \
        --with-iconv=${LOCALBASE}
PLIST_SUB=  VERSION="${PORTVERSION}" \
        TARGET="${CONFIGURE_TARGET}"
USES=       iconv
USE_LDCONFIG=   yes
MAKE_JOBS_UNSAFE=yes

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MDOCS}
INFO=       gauche-refe gauche-refj
.endif

.if ${PORT_OPTIONS:MMANPAGES}

MAN1=       gosh.1 gauche-cesconv.1 gauche-config.1 gauche-install.1 \
        gauche-package.1

.else
MANPREFIX=  ${WRKDIR}
.endif

.if ${PORT_OPTIONS:MGDBM}
CONFIGURE_ARGS+=--with-local=${LOCALBASE}
LIB_DEPENDS+=   gdbm:${PORTSDIR}/databases/gdbm
PLIST_SUB+= GDBM=""
.else
PLIST_SUB+= GDBM="@comment "
.endif

.if ${PORT_OPTIONS:MSLIB}
BUILD_DEPENDS+= slib>=0:${PORTSDIR}/lang/slib
CONFIGURE_ARGS+=--with-slib=${LOCALBASE}/share/slib
PLIST_SUB+= SLIB=""
.else
CONFIGURE_ARGS+=--with-slib=${WRKDIR}
PLIST_SUB+= SLIB="@comment "
.endif

.if ${PORT_OPTIONS:MPTHREADS}
CONFIGURE_ARGS+=    --enable-threads=pthreads
.else
CONFIGURE_ARGS+=    --enable-threads=no
.endif

.if ${PORT_OPTIONS:MUTF8}
CONFIGURE_ARGS+=    --enable-multibyte=utf-8
.elif ${PORT_OPTIONS:MEUCJP}
CONFIGURE_ARGS+=    --enable-multibyte=euc-jp
.elif ${PORT_OPTIONS:MSJIS}
CONFIGURE_ARGS+=    --enable-multibyte=sjis
.else
CONFIGURE_ARGS+=    --enable-multibyte=none
.endif

.include <bsd.port.pre.mk>

NOT_FOR_ARCHS=      ia64 powerpc sparc64
NOT_FOR_ARCHS_REASON=   Does not compile on ia64, powerpc, or sparc64

post-patch:
.if ! ${PORT_OPTIONS:MDOCS}
    @${REINPLACE_CMD} -e 's|all: info|all:|' ${WRKSRC}/doc/Makefile.in
.endif

post-install:
    ${STRIP_CMD} ${PREFIX}/bin/gosh
    ${MKDIR} ${PREFIX}/share/gauche/site/lib/.packages
    ${TOUCH} ${PREFIX}/share/gauche/site/lib/.packages/.keepme
    ${TOUCH} ${PREFIX}/lib/gauche-0.9/site/${CONFIGURE_TARGET}/.keepme
    ${MKDIR} ${PREFIX}/share/gauche/${PORTVERSION}/lib/.packages
    ${TOUCH} ${PREFIX}/share/gauche/${PORTVERSION}/lib/.packages/.keepme
    ${MKDIR} ${DOCSDIR}
    ${TOUCH} ${DOCSDIR}/.keepme
    ${MKDIR} ${EXAMPLESDIR}
    ${TOUCH} ${EXAMPLESDIR}/.keepme
.if ${PORT_OPTIONS:MDOCS}
    ${INSTALL_DATA} ${WRKSRC}/doc/*.info.gz ${WRKSRC}/doc/*.info-[1-7].gz ${PREFIX}/info/
.endif

regression-test: build
    cd ${WRKSRC} && ${MAKE} check

.include <bsd.port.post.mk>