aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cduce/Makefile
blob: b5ccecb3432f0703f8ab6fe536dd59914eb68c7f (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
# New ports collection makefile for:   cduce
# Date created:        Jun 9, 2005
# Whom:                Marwan Burelle <marwan.burelle@lri.fr>
#
# $FreeBSD$

PORTNAME=   cduce
PORTVERSION=    0.5.4
CATEGORIES= lang
MASTER_SITES=   http://www.cduce.org/download/ \
        ftp://ftp.stack.nl/pub/users/johans/cduce/

MAINTAINER= johans@FreeBSD.org
COMMENT=    An efficient XML centric functionnal programming language

LIB_DEPENDS=    pcre:${PORTSDIR}/devel/pcre
BUILD_DEPENDS=  ${SITELIBDIR}/ulex/ulexing.a:${PORTSDIR}/devel/ocaml-ulex \
        ${SITELIBDIR}/pcre/pcre.a:${PORTSDIR}/devel/ocaml-pcre \
        ${SITELIBDIR}/netstring/netstring.a:${PORTSDIR}/www/ocaml-net

USE_OCAML=  true
USE_OCAML_FINDLIB=  true
USE_OCAML_LDCONFIG= true

OPTIONS=    OCURL       "Enable url support via ftp/ocaml-ocurl" Off \
        OCAML_EXPAT "Enable support for the Expat XML parser" Off \
        MLIFACE     "Enable building OCaml/CDuce interface" On

USE_GMAKE=  yes
ALL_TARGET= all
INSTALL_TARGET= install_bin install_lib
HAS_CONFIGURE=  yes
CONFIGURE_ARGS= --prefix=${PREFIX} --with-ocamlopt --without-cgi --without-netclient --without-pxp_wlex --docdir=${DOCSDIR}
SITELIBDIR= ${LOCALBASE}/${OCAML_SITELIBDIR}

MAN1=       cduce.1 cduce_mktop.1 dtd2cduce.1

PLIST_FILES=    bin/cduce

.include <bsd.port.pre.mk>

# Support for url via ftp/ocaml-ocurl
.if defined(WITH_OCURL)
BUILD_DEPENDS+= ${SITELIBDIR}/curl/curl.cmi:${PORTSDIR}/ftp/ocaml-ocurl
.endif

# Support for the PXP XML parser
.if defined(WITH_OCAML_EXPAT)
CONFIGURE_ARGS+=    --with-expat --without-pxp
BUILD_DEPENDS+=     ${SITELIBDIR}/expat/expat.cmi:${PORTSDIR}/textproc/ocaml-expat
.else
CONFIGURE_ARGS+=    --without-expat --with-pxp
BUILD_DEPENDS+=     ${SITELIBDIR}/pxp-engine/pxp_engine.cma:${PORTSDIR}/textproc/ocaml-pxp
.endif

# Be sure to not build ocurl support if WITH_OCURL is not defined,
# even if ocurl is present.
.if !defined(WITH_OCURL)
CONFIGURE_ARGS+=    --without-curl
.endif

# Support for OCaml/CDuce interface
.if !defined(WITHOUT_MLIFACE)
PLIST_FILES+=   bin/cduce_mktop
BUILD_DEPENDS+= ${NONEXISTENT}:${PORTSDIR}/lang/ocaml:patch
CONFIGURE_ARGS+=    --mliface=`cd ${PORTSDIR}/lang/ocaml; ${MAKE} -V WRKSRC`
.endif

.if !defined(NOPORTDOCS)
ALL_TARGET+=        doc
INSTALL_TARGET+=    install_doc
PORTDOCS=       *
.endif

post-patch:
    ${REINPLACE_CMD} 's/-linkpkg/& -thread/' \
        ${WRKSRC}/Makefile ${WRKSRC}/configure.ml

post-install:
.if defined(WITH_OCAML_EXPAT)
    @${ECHO_CMD} "****************************************************************"
    @${ECHO_CMD} "* You choose Expat as XML parser, you may encounter some error *"
    @${ECHO_CMD} "* when loading XML files with external DTD.                    *"
    @${ECHO_CMD} "****************************************************************"
.endif
.if defined(NOPORTDOCS)
. for i in ${MAN1}
    ${INSTALL_MAN} ${WRKSRC}/doc/${i} ${MANPREFIX}/man/man${i:E}/
. endfor
.endif

.include <bsd.port.post.mk>