| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: ocaml.mk,v 1.13 2017/07/23 12:20:46 jaapb Exp $ | | 1 | # $NetBSD: ocaml.mk,v 1.14 2017/07/26 09:41:31 jaapb Exp $ |
2 | # | | 2 | # |
3 | # This Makefile fragment handles the common variables used by OCaml packages. | | 3 | # This Makefile fragment handles the common variables used by OCaml packages. |
4 | # | | 4 | # |
5 | # Build def variables: | | 5 | # Build def variables: |
6 | # OCAML_USE_OPT_COMPILER | | 6 | # OCAML_USE_OPT_COMPILER |
7 | # if set to yes, will enable optimised (native code) compilation | | 7 | # if set to yes, will enable optimised (native code) compilation |
8 | # default value: depends on architecture | | 8 | # default value: depends on architecture |
9 | # | | 9 | # |
10 | # PLIST variable: | | 10 | # PLIST variable: |
11 | # PLIST.ocaml-opt for files only installed when using the optimised compiler | | 11 | # PLIST.ocaml-opt for files only installed when using the optimised compiler |
12 | # Set based on OCAML_USE_OPT_COMPILER | | 12 | # Set based on OCAML_USE_OPT_COMPILER |
13 | # | | 13 | # |
14 | # Package-settable variables: | | 14 | # Package-settable variables: |
| @@ -49,27 +49,28 @@ _PKG_VARS.ocaml= \ | | | @@ -49,27 +49,28 @@ _PKG_VARS.ocaml= \ |
49 | OCAML_FINDLIB_REGISTER \ | | 49 | OCAML_FINDLIB_REGISTER \ |
50 | OCAML_USE_OASIS \ | | 50 | OCAML_USE_OASIS \ |
51 | OCAML_USE_OASIS_DYNRUN \ | | 51 | OCAML_USE_OASIS_DYNRUN \ |
52 | OASIS_BUILD_ARGS \ | | 52 | OASIS_BUILD_ARGS \ |
53 | OCAML_USE_OPAM \ | | 53 | OCAML_USE_OPAM \ |
54 | OCAML_USE_TOPKG \ | | 54 | OCAML_USE_TOPKG \ |
55 | OCAML_TOPKG_NAME \ | | 55 | OCAML_TOPKG_NAME \ |
56 | OCAML_TOPKG_DOCDIR \ | | 56 | OCAML_TOPKG_DOCDIR \ |
57 | OCAML_TOPKG_TARGETS \ | | 57 | OCAML_TOPKG_TARGETS \ |
58 | OCAML_TOPKG_OPTIONAL_TARGETS \ | | 58 | OCAML_TOPKG_OPTIONAL_TARGETS \ |
59 | OCAML_USE_JBUILDER \ | | 59 | OCAML_USE_JBUILDER \ |
60 | JBUILDER_BUILD_FLAGS \ | | 60 | JBUILDER_BUILD_FLAGS \ |
61 | JBUILDER_BUILD_TARGETS \ | | 61 | JBUILDER_BUILD_TARGETS \ |
62 | OCAML_BUILD_ARGS | | 62 | OCAML_BUILD_ARGS \ |
| | | 63 | OPAM_INSTALL_FILES |
63 | _DEF_VARS.ocaml= \ | | 64 | _DEF_VARS.ocaml= \ |
64 | OCAML_USE_OPT_COMPILER | | 65 | OCAML_USE_OPT_COMPILER |
65 | _SYS_VARS.ocaml= \ | | 66 | _SYS_VARS.ocaml= \ |
66 | OCAML_SITELIBDIR | | 67 | OCAML_SITELIBDIR |
67 | | | 68 | |
68 | # Default value of OCAML_USE_FINDLIB | | 69 | # Default value of OCAML_USE_FINDLIB |
69 | OCAML_USE_FINDLIB?= no | | 70 | OCAML_USE_FINDLIB?= no |
70 | | | 71 | |
71 | # Default value of OCAML_USE_OASIS | | 72 | # Default value of OCAML_USE_OASIS |
72 | OCAML_USE_OASIS?= no | | 73 | OCAML_USE_OASIS?= no |
73 | | | 74 | |
74 | # Default value of OCAML_USE_OASIS_DYNRUN | | 75 | # Default value of OCAML_USE_OASIS_DYNRUN |
75 | OCAML_USE_OASIS_DYNRUN?= no | | 76 | OCAML_USE_OASIS_DYNRUN?= no |
| @@ -82,26 +83,27 @@ OCAML_USE_TOPKG?= no | | | @@ -82,26 +83,27 @@ OCAML_USE_TOPKG?= no |
82 | | | 83 | |
83 | # Default value of OCAML_USE_JBUILDER | | 84 | # Default value of OCAML_USE_JBUILDER |
84 | OCAML_USE_JBUILDER?= no | | 85 | OCAML_USE_JBUILDER?= no |
85 | | | 86 | |
86 | OCAML_TOPKG_NAME?= ${PKGBASE:S/^ocaml-//} | | 87 | OCAML_TOPKG_NAME?= ${PKGBASE:S/^ocaml-//} |
87 | OCAML_TOPKG_DOCDIR?= ${PREFIX}/share/doc | | 88 | OCAML_TOPKG_DOCDIR?= ${PREFIX}/share/doc |
88 | | | 89 | |
89 | OCAML_TOPKG_NAME?= ${PKGBASE:S/^ocaml-//} | | 90 | OCAML_TOPKG_NAME?= ${PKGBASE:S/^ocaml-//} |
90 | | | 91 | |
91 | OCAML_TOPKG_TARGETS?= # empty | | 92 | OCAML_TOPKG_TARGETS?= # empty |
92 | OCAML_TOPKG_OPTIONAL_TARGETS?= # empty | | 93 | OCAML_TOPKG_OPTIONAL_TARGETS?= # empty |
93 | OCAML_TOPKG_NATIVE_TARGETS?= # empty | | 94 | OCAML_TOPKG_NATIVE_TARGETS?= # empty |
94 | | | 95 | |
| | | 96 | OPAM_INSTALL_FILES?= ${OCAML_TOPKG_NAME} |
95 | JBUILDER_BUILD_FLAGS?= # empty | | 97 | JBUILDER_BUILD_FLAGS?= # empty |
96 | JBUILDER_BUILD_TARGETS?= @install | | 98 | JBUILDER_BUILD_TARGETS?= @install |
97 | | | 99 | |
98 | # Default value of OASIS_BUILD_ARGS | | 100 | # Default value of OASIS_BUILD_ARGS |
99 | OASIS_BUILD_ARGS?= # empty | | 101 | OASIS_BUILD_ARGS?= # empty |
100 | | | 102 | |
101 | # Default value of OCAML_ENABLE_BINARY_COMPILER | | 103 | # Default value of OCAML_ENABLE_BINARY_COMPILER |
102 | .if (${MACHINE_ARCH} == "i386") || (${MACHINE_ARCH} == "x86_64") || \ | | 104 | .if (${MACHINE_ARCH} == "i386") || (${MACHINE_ARCH} == "x86_64") || \ |
103 | (${MACHINE_ARCH} == "powerpc") || (${MACHINE_ARCH} == "sparc") || \ | | 105 | (${MACHINE_ARCH} == "powerpc") || (${MACHINE_ARCH} == "sparc") || \ |
104 | (${MACHINE_ARCH} == "arm") | | 106 | (${MACHINE_ARCH} == "arm") |
105 | OCAML_USE_OPT_COMPILER?= yes | | 107 | OCAML_USE_OPT_COMPILER?= yes |
106 | .else | | 108 | .else |
107 | OCAML_USE_OPT_COMPILER?= no | | 109 | OCAML_USE_OPT_COMPILER?= no |
| @@ -216,30 +218,32 @@ do-install: | | | @@ -216,30 +218,32 @@ do-install: |
216 | | | 218 | |
217 | do-build: | | 219 | do-build: |
218 | ${RUN} cd ${WRKSRC} && \ | | 220 | ${RUN} cd ${WRKSRC} && \ |
219 | ${SETENV} ${MAKE_ENV} ocaml pkg/pkg.ml build | | 221 | ${SETENV} ${MAKE_ENV} ocaml pkg/pkg.ml build |
220 | | | 222 | |
221 | .endif # topkg | | 223 | .endif # topkg |
222 | | | 224 | |
223 | # | | 225 | # |
224 | # opam targets | | 226 | # opam targets |
225 | # | | 227 | # |
226 | .if ${OCAML_USE_OPAM} == "yes" | | 228 | .if ${OCAML_USE_OPAM} == "yes" |
227 | | | 229 | |
228 | do-install: | | 230 | do-install: |
229 | ${RUN} cd ${WRKSRC} && opam-installer -i --prefix ${DESTDIR}${PREFIX} \ | | 231 | ${RUN} for i in ${OPAM_INSTALL_FILES}; do \ |
| | | 232 | cd ${WRKSRC} && opam-installer -i --prefix ${DESTDIR}${PREFIX} \ |
230 | --libdir ${OCAML_SITELIBDIR} \ | | 233 | --libdir ${OCAML_SITELIBDIR} \ |
231 | --docdir ${DESTDIR}/${OCAML_TOPKG_DOCDIR} \ | | 234 | --docdir ${DESTDIR}/${OCAML_TOPKG_DOCDIR} \ |
232 | ${OCAML_TOPKG_NAME}.install | | 235 | $$i.install; \ |
| | | 236 | done |
233 | | | 237 | |
234 | .endif # topkg-opam | | 238 | .endif # topkg-opam |
235 | | | 239 | |
236 | # | | 240 | # |
237 | # jbuilder targets | | 241 | # jbuilder targets |
238 | # | | 242 | # |
239 | .if ${OCAML_USE_JBUILDER} == "yes" | | 243 | .if ${OCAML_USE_JBUILDER} == "yes" |
240 | | | 244 | |
241 | do-build: | | 245 | do-build: |
242 | ${RUN} cd ${WRKSRC} && jbuilder build -j ${MAKE_JOBS} \ | | 246 | ${RUN} cd ${WRKSRC} && jbuilder build -j ${MAKE_JOBS} \ |
243 | ${JBUILDER_BUILD_FLAGS} ${JBUILDER_BUILD_TARGETS} | | 247 | ${JBUILDER_BUILD_FLAGS} ${JBUILDER_BUILD_TARGETS} |
244 | | | 248 | |
245 | .endif # topkg-jbuilder | | 249 | .endif # topkg-jbuilder |