summaryrefslogtreecommitdiff
path: root/lang/smlnj
diff options
context:
space:
mode:
Diffstat (limited to 'lang/smlnj')
-rw-r--r--lang/smlnj/Makefile55
1 files changed, 33 insertions, 22 deletions
diff --git a/lang/smlnj/Makefile b/lang/smlnj/Makefile
index ed27f85c49c..d2cdf307b1c 100644
--- a/lang/smlnj/Makefile
+++ b/lang/smlnj/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.27 2016/07/03 19:08:22 dholland Exp $
+# $NetBSD: Makefile,v 1.28 2016/07/03 19:15:02 dholland Exp $
#
DISTNAME= boot.${BOX}-unix
@@ -45,6 +45,7 @@ SML_LIBDIR= ${SML_BASE}/lib
SML_BINDIR= ${SML_BASE}/bin
SML_SCRIPTS= _link-sml _run-sml _ml-build _ml-makedepend
+# note that this includes bsd.prefs.mk
.include "../../lang/smlnj/Makefile.common"
#
@@ -79,28 +80,38 @@ post-extract:
post-patch:
cd ${WRKDIR}/src && pax -rw runtime ${WRKDIR}/base/
-# resolve definition of SML_BASE, CFLAGS in patched files
+# Turn of nlffi on powerpc (I guess it doesn't work?)
+#
+# XXX: this switch doesn't work any more as the line in question doesn't
+# exist in the current version. Someone with a PPC build machine,
+# please check it out and either change it to match the file if still
+# needed, or get rid of it.
+.if ${MACHINE_ARCH} == "powerpc"
+SUBST_CLASSES+= nlffi
+SUBST_STAGE.nlffi= pre-configure
+SUBST_MESSAGE.nlffi= Turning off nlffi
+SUBST_FILES.nlffi= config/targets
+SUBST_SED.nlffi= -e '/^request nlffi$$/d'
+.endif # powerpc
+
+# resolve definition of SML_BASE
+SUBST_CLASSES+= smlbase
+SUBST_STAGE.smlbase= pre-configure
+SUBST_MESSAGE.smlbase= Setting SML_BASE
+SUBST_FILES.smlbase= ${SML_SCRIPTS:S/^/config\//}
+SUBST_VARS.smlbase= SML_BASE
+
+# resolve definition of CFLAGS in patched files
+# (note that we need to do this in both src/runtime and base/runtime)
+SUBST_CLASSES+= cflags
+SUBST_STAGE.cflags= pre-configure
+SUBST_MESSAGE.cflags= Setting CFLAGS
+SUBST_FILES.cflags= src/runtime/objs/* base/runtime/objs/*
+SUBST_VARS.cflags= CFLAGS
+
+# nothing here any more
do-configure:
- set -e; \
- if [ ${MACHINE_ARCH} = "powerpc" ]; then \
- ${AWK} '(! /^request nlffi$$/) { print }' \
- < ${WRKDIR}/config/targets \
- > ${WRKDIR}/temp; \
- ${MV} ${WRKDIR}/temp ${WRKDIR}/config/targets; \
- fi
- set -e; \
- cd ${WRKDIR}/config; \
- for f in ${SML_SCRIPTS}; do \
- ${CP} "$${f}" "$${f}.tmp"; \
- ${SED} -e 's|@SML_BASE@|${SML_BASE}|g' \
- < "$${f}.tmp" > "$${f}"; \
- done; \
- cd ${WRKDIR}/src/runtime/objs; \
- for f in *; do \
- ${CP} "$${f}" "$${f}.tmp"; \
- ${SED} -e 's|@CFLAGS@|'${CFLAGS:Q}'|g' \
- < "$${f}.tmp" > "$${f}"; \
- done
+ ${DO_NADA}
# The build target needs to run $WRKDIR/config/install.sh
do-build: