aboutsummaryrefslogtreecommitdiff
path: root/lang/ocaml/Makefile
blob: 48adc7026dd9e21224444e6559f1eb8c8a24a0a1 (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
121
122
123
124
125
126
127
# New ports collection makefile for:	Objective Caml
# Date created:		24 December 1996
# Whom:			Kiriyama Kazuhiko <kiri@kiri.toba-cmt.ac.jp>
#
# $FreeBSD$
#

PORTNAME=	ocaml
PORTVERSION=	3.07
CATEGORIES=	lang
MASTER_SITES=	http://caml.inria.fr/distrib/${DISTNAME}/ \
		ftp://ftp.inria.fr/INRIA/caml-light/${DISTNAME}/ \
		ftp://ftp.kurims.kyoto-u.ac.jp/pub/lang/caml-light/${DISTNAME}/
PKGNAMESUFFIX=	${TKSFX}
DISTFILES=	${DISTNAME}${EXTRACT_SUFX} ${DOCFILES}
EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX} \
		${DISTNAME}-refman.html${EXTRACT_SUFX}

PATCH_SITES=	${MASTER_SITES}
PATCHFILES=	${DISTNAME}-patch2.diffs
PATCH_DIST_STRIP=-p1

MAINTAINER=	eugos@gmx.net
COMMENT=	An ML language based on a complete class-based objective system

PLIST_SUB+=	DISTNAME=${DISTNAME}

.if defined(WITHOUT_X11)
PLIST_SUB+=	X11="@comment " TK="@comment "
WITHOUT_TK=	yes
TKSFX=		-nox11
.else
PLIST_SUB+=	X11=""
USE_XLIB=	yes
.if defined(WITHOUT_TK)
PLIST_SUB+=	TK="@comment "
TKSFX=		-notk
.else
PLIST_SUB+=	TK=""
BUILD_DEPENDS+=	${LOCALBASE}/include/tcl8.4:${PORTSDIR}/lang/tcl84 \
		${LOCALBASE}/include/tk8.4:${PORTSDIR}/x11-toolkits/tk84
LIB_DEPENDS+=	tk84.1:${PORTSDIR}/x11-toolkits/tk84
.endif
.endif

HAS_CONFIGURE=	yes
ALL_TARGET=	world.opt

.if ${MACHINE_ARCH} != "i386"
PLIST_SUB+=	PROF="@comment "
.else
PLIST_SUB+=	PROF=""
.endif

MAN1=		ocamlcp.1 ocamldep.1 ocamldebug.1 ocamlopt.1 ocamlrun.1 \
		ocamlyacc.1 ocamlmktop.1 ocaml.1 ocamlc.1 ocamllex.1 \
		ocamlprof.1 camlp4.1
MANN=		Arg.n Array.n ArrayLabels.n Bigarray.Array1.n \
		Bigarray.Array2.n Bigarray.Array3.n Bigarray.Genarray.n \
		Bigarray.n Buffer.n Callback.n CamlinternalOO.n Char.n \
		Complex.n Digest.n Filename.n Format.n Gc.n Genlex.n \
		Hashtbl.HashedType.n Hashtbl.Make.n Hashtbl.S.n Hashtbl.n \
		Int32.n Int64.n Lazy.n Lexing.n List.n ListLabels.n \
		Map.Make.n Map.OrderedType.n Map.S.n Map.n Marshal.n \
		MoreLabels.Hashtbl.HashedType.n MoreLabels.Hashtbl.Make.n \
		MoreLabels.Hashtbl.S.n MoreLabels.Hashtbl.n \
		MoreLabels.Map.Make.n MoreLabels.Map.OrderedType.n \
		MoreLabels.Map.S.n MoreLabels.Map.n MoreLabels.Set.Make.n \
		MoreLabels.Set.OrderedType.n MoreLabels.Set.S.n \
		MoreLabels.Set.n MoreLabels.n Nativeint.n Num.n Obj.n Oo.n \
		Parsing.n Pervasives.LargeFile.n Pervasives.n Printexc.n \
		Printf.n Queue.n Random.n Random.State.n Scanf.Scanning.n \
		Scanf.n Set.Make.n Set.OrderedType.n Set.S.n Set.n Sort.n \
		Stack.n StdLabels.Array.n StdLabels.List.n StdLabels.String.n \
		StdLabels.n Str.n Stream.n String.n StringLabels.n Sys.n \
		Unix.LargeFile.n Unix.n Weak.Make.n Weak.S.n Weak.n
MLINKS=		ocamlc.1 ocamlc.opt.1 ocamlopt.1 ocamlopt.opt.1 \
		camlp4.1 camlp4o.1 camlp4.1 camlp4r.1 camlp4.1 mkcamlp4.1 \
		camlp4.1 camlp4o.opt.1 camlp4.1 camlp4r.opt.1 \
		camlp4.1 ocpp.1 camlp4.1 camlp4sch.1

CONFIGURE_ARGS=	-prefix ${PREFIX} \
		-with-pthread

.if defined(WITHOUT_X11)
CONFIGURE_ARGS+=	-tk-no-x11 -no-tk
.else
CONFIGURE_ARGS+=	-x11include ${X11BASE}/include \
			-x11lib ${X11BASE}/lib
.if defined(WITHOUT_TK)
CONFIGURE_ARGS+=	-no-tk
.else
CONFIGURE_ARGS+=	-tkdefs "-I${LOCALBASE}/include/tcl8.4 -I${LOCALBASE}/include/tk8.4"
.endif
.endif

.if !defined(NOPORTDOCS)
DOCFILES=	${DISTNAME}-refman.html.tar.gz ${DISTNAME}-refman.ps.gz \
		${DISTNAME}-refman.pdf
.endif

post-install:
	@${MKDIR} ${DOCSDIR}
	@${INSTALL_DATA} ${WRKSRC}/LICENSE ${DOCSDIR}
.if !defined(NOPORTDOCS)
	@${MKDIR} ${DOCSDIR}/html
	@${MKDIR} ${DOCSDIR}/html/libref
	@cd ${WRKDIR}/htmlman/libref; ${INSTALL_DATA} * ${DOCSDIR}/html/libref
	@cd ${WRKDIR}/htmlman; ${INSTALL_DATA} [a-km-z]* libg* ${DOCSDIR}/html
	@${INSTALL_DATA} ${DISTDIR}/${DISTNAME}-refman.ps.gz ${DOCSDIR}
	@${INSTALL_DATA} ${DISTDIR}/${DISTNAME}-refman.pdf ${DOCSDIR}
.endif
.if !defined(WITHOUT_TK)
	@${MKDIR} ${EXAMPLESDIR}
	@${MKDIR} ${EXAMPLESDIR}/labltk
	@${MKDIR} ${EXAMPLESDIR}/camltk
	@${MKDIR} ${EXAMPLESDIR}/camltk/images
	@cd ${WRKSRC}/otherlibs/labltk/examples_labltk; \
		${INSTALL_DATA} * ${EXAMPLESDIR}/labltk
	@cd ${WRKSRC}/otherlibs/labltk/examples_camltk/images; \
		${INSTALL_DATA} * ${EXAMPLESDIR}/camltk/images
	@cd ${WRKSRC}/otherlibs/labltk/examples_camltk; \
		${INSTALL_DATA} [A-Za-hj-z]* ${EXAMPLESDIR}/camltk
.endif
	@${STRIP_CMD} ${PREFIX}/bin/ocamlrun ${PREFIX}/bin/ocamlyacc

.include <bsd.port.mk>