lang/smlnj: Update to 110.98, unbreak build with Clang >= 10

PR:		248431
Submitted by:	Johannes 5 <joemann@beefree.free.de> (maintainer)
This commit is contained in:
Steve Wills 2020-08-02 13:30:50 +00:00
parent 4d73b9a2a6
commit 09b003ee49
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=543956
12 changed files with 110 additions and 243 deletions

View File

@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= smlnj
PORTVERSION= 110.96
PORTVERSION= 110.98
CATEGORIES= lang
MASTER_SITES= http://smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ \
ftp://mirror.free.de/http/smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/
@ -20,6 +20,8 @@ LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
ONLY_FOR_ARCHS= amd64 i386
USES= compiler
NO_WRKSUBDIR= yes
SUB_FILES= pkg-install
@ -33,6 +35,15 @@ RECOMPILE_DESC= recompile the SML compiler - implies EVERYTHING
.include <bsd.port.pre.mk>
# XXX see FreeBSD PR 247421
.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 100
RUNTIME_SO=
PLIST_SUB+= RUNTIME_SO="@comment "
.else
RUNTIME_SO= "${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}.so"
PLIST_SUB+= RUNTIME_SO=
.endif
.if (${ARCH} == "i386")
MLARCH= x86
MLSIZE= 32
@ -120,7 +131,7 @@ do-configure:
.if defined(MLTARGETS)
${ECHO_CMD} -n > "${WRKDIR}/.tmp.sed"
.for t in ${MLTARGETS}
${ECHO_CMD} '/^#request[ ]+${t}$$/s/^#//' >> "${WRKDIR}/.tmp.sed"
${ECHO_CMD} '/^#[ ]*request[ ]+${t}$$/s/^#//' >> "${WRKDIR}/.tmp.sed"
.endfor
${SED} -i .default -E -f "${WRKDIR}/.tmp.sed" "${WRKSRC}/config/targets"
.endif
@ -332,7 +343,7 @@ do-install:
MLARCHOPSYS=`${STAGEDIR}${MLBIN}/.arch-n-opsys` && \
( eval $${MLARCHOPSYS} ; \
${STRIP_CMD} "${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}" \
"${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}.so" )
${RUNTIME_SO} )
.if ${PORT_OPTIONS:MEVERYTHING}
@${ECHO} '(* Cleaning base/runtime: *)'
cd ${WRKSRC}/base/runtime/objs && ${MAKE_CMD} clean

View File

@ -1,49 +1,49 @@
TIMESTAMP = 1576341142
SHA256 (smlnj/110.96/MLRISC.tgz) = 193c29217e592d3e5a67cd0bde14ebfed2a2c3e4bcfae1e151e8fbe148fbe69e
SIZE (smlnj/110.96/MLRISC.tgz) = 1460365
SHA256 (smlnj/110.96/asdl.tgz) = 2a521d8ba66ba1f2fc1c4b315bd43567ece21969026ce45b6f50d9132726724e
SIZE (smlnj/110.96/asdl.tgz) = 205907
SHA256 (smlnj/110.96/boot.amd64-unix.tgz) = 605a118476d251bd77e312f303df3039adea6ace521d9ac140e2187b904ec807
SIZE (smlnj/110.96/boot.amd64-unix.tgz) = 6031590
SHA256 (smlnj/110.96/boot.x86-unix.tgz) = ab08f260137fb68492d747b96d5be8ce49e8eda55a358094fd9018efd32341bd
SIZE (smlnj/110.96/boot.x86-unix.tgz) = 6034356
SHA256 (smlnj/110.96/ckit.tgz) = 8b9301e3a2975be6877ce22edc27445630d57f51afbb77a950f386c9b3193bbf
SIZE (smlnj/110.96/ckit.tgz) = 201009
SHA256 (smlnj/110.96/cm.tgz) = 19e4f8096f5c8af64f20e57c5b48dacf9054c90ec14db4908a9e8c5bc505c568
SIZE (smlnj/110.96/cm.tgz) = 220256
SHA256 (smlnj/110.96/cml.tgz) = ec2b2d08343a32d911f30f34fb506fd0fed21b21378592e568107a68abc6ed8a
SIZE (smlnj/110.96/cml.tgz) = 105379
SHA256 (smlnj/110.96/compiler.tgz) = 1382181001e0cf8d751c3d1707331f305e1ab3e41ca07af1349a73ef16df4a4c
SIZE (smlnj/110.96/compiler.tgz) = 848920
SHA256 (smlnj/110.96/config.tgz) = b2bda33c1fb1472b4ca69827463b1b1b7b8a86bed72db959a558d9e4fe65de18
SIZE (smlnj/110.96/config.tgz) = 517305
SHA256 (smlnj/110.96/doc.tgz) = 24243d3a58b50973d151304f878bd2e80a6ce71cefced114cb694b89e039641a
SIZE (smlnj/110.96/doc.tgz) = 2134988
SHA256 (smlnj/110.96/eXene.tgz) = 0c5d642c57380b0a427d4ce9f6af84c2bb76859089b36a4f5da3a2149d7fb2bf
SIZE (smlnj/110.96/eXene.tgz) = 721127
SHA256 (smlnj/110.96/heap2asm.tgz) = 1cb94d9ba56c58cb122f7f9d548824e6a7fed155acd17ac4d10fb028ca7a4a50
SIZE (smlnj/110.96/heap2asm.tgz) = 1395
SHA256 (smlnj/110.96/ml-burg.tgz) = 4286a4aa01f2063bdbea10ab1c7299b7a41a4a822a96d4a040ce404b1b3276b1
SIZE (smlnj/110.96/ml-burg.tgz) = 40552
SHA256 (smlnj/110.96/ml-lex.tgz) = 02971b9026d2c6df8b425b8ac78c4065439a62e09b36fc974a98b5062874b8f0
SIZE (smlnj/110.96/ml-lex.tgz) = 27879
SHA256 (smlnj/110.96/ml-lpt.tgz) = 3736cd60daad7510467ee2f31462cffbb43890bc4499b3efc7d671829f68e141
SIZE (smlnj/110.96/ml-lpt.tgz) = 267441
SHA256 (smlnj/110.96/ml-yacc.tgz) = 3a8d4d345ec3832b30bde1a7b0c0f97f209f40afd80e6ff6e1c78f365a77b0e9
SIZE (smlnj/110.96/ml-yacc.tgz) = 101727
SHA256 (smlnj/110.96/nlffi.tgz) = fb08f68da401382396fe0cb676b0f81eda27e9360c69fbeb3d473dec3452e8ee
SIZE (smlnj/110.96/nlffi.tgz) = 75084
SHA256 (smlnj/110.96/old-basis.tgz) = c3fea6a6b14d3c4cfad92944bd259f6b104a76f4b7ee8dd999275dcab8336199
SIZE (smlnj/110.96/old-basis.tgz) = 1215
SHA256 (smlnj/110.96/pgraph.tgz) = 73f0a34fc2ac5ec9ba1aa10bb732300b0aea0a63d32154c108ce42b28d1d72a6
SIZE (smlnj/110.96/pgraph.tgz) = 5430
SHA256 (smlnj/110.96/runtime.tgz) = 46ab1f6f4282ab46f117f8b8673e70180b8b4cbc6d9afdfa305aa8510258bf69
SIZE (smlnj/110.96/runtime.tgz) = 336178
SHA256 (smlnj/110.96/smlnj-c.tgz) = 3c1064ba53990abf278ebe80f68b62dad14d9f6a044ac72c6f2cf602c6aaa28c
SIZE (smlnj/110.96/smlnj-c.tgz) = 10620
SHA256 (smlnj/110.96/smlnj-lib.tgz) = 7ff7e8008bc08f32f2080e83afa7c609171d9856ec46fcccaec7f44c309057fb
SIZE (smlnj/110.96/smlnj-lib.tgz) = 457923
SHA256 (smlnj/110.96/system.tgz) = 8f33d350c4027e326f4b910cba2c50ae215a0b6ce93fed380b02f48c19ce3161
SIZE (smlnj/110.96/system.tgz) = 274076
SHA256 (smlnj/110.96/trace-debug-profile.tgz) = 5f24d0ae00fb8dde2cec660ca66395fcfcc417ee56faec7f5f420af18cabb80d
SIZE (smlnj/110.96/trace-debug-profile.tgz) = 3935
TIMESTAMP = 1595416789
SHA256 (smlnj/110.98/MLRISC.tgz) = 208fb9c8cbcfc1c90ab14267e28038a390200002e2bcf3ee5670dcb643ceda11
SIZE (smlnj/110.98/MLRISC.tgz) = 1460273
SHA256 (smlnj/110.98/asdl.tgz) = c368bb213caa9b6c198b3cebabad577f3d01a64642046eaf9625ff403c49e59a
SIZE (smlnj/110.98/asdl.tgz) = 212714
SHA256 (smlnj/110.98/boot.amd64-unix.tgz) = 39e460e94063b3c85b944c86d29c91ce3995e6fab242a2f77c71d7b04c8e7a7a
SIZE (smlnj/110.98/boot.amd64-unix.tgz) = 5921092
SHA256 (smlnj/110.98/boot.x86-unix.tgz) = 1451adf5b9230aaf74d1d28438e4f8126dc56f333bb00b0fc52ff1b596a35281
SIZE (smlnj/110.98/boot.x86-unix.tgz) = 5912407
SHA256 (smlnj/110.98/ckit.tgz) = 17c4254b7c1e696591932bc46f1b390c05174b26927fdbab0fa6b0fd9b7baa1a
SIZE (smlnj/110.98/ckit.tgz) = 201005
SHA256 (smlnj/110.98/cm.tgz) = f02776bbe417d48a469abd8d3496ce87e6cd7fd8440101cb23ce3b28b8b0fba3
SIZE (smlnj/110.98/cm.tgz) = 220284
SHA256 (smlnj/110.98/cml.tgz) = 7ba1063146e419e1ecebfd420b45eeb641bb8f79802cfc45a0c7e3958ad59e4f
SIZE (smlnj/110.98/cml.tgz) = 104490
SHA256 (smlnj/110.98/compiler.tgz) = d7a7e6f9e32af242b3a600fd75830b923698db8f4d2318a7cc67512b01663344
SIZE (smlnj/110.98/compiler.tgz) = 1109928
SHA256 (smlnj/110.98/config.tgz) = 2ab4a5dff211d84359a50c5d48d607bd4c4f221fee65ac0bcf982f4508692e11
SIZE (smlnj/110.98/config.tgz) = 517538
SHA256 (smlnj/110.98/doc.tgz) = 74b7461bc7d1043f3ca1ba55bb64cbd6508b2b3e51c06e5b4eb9db819ec5aa34
SIZE (smlnj/110.98/doc.tgz) = 2424911
SHA256 (smlnj/110.98/eXene.tgz) = b48613fe9de6941899d26517cd9c1d4a5779d8a1816ce39d1441481bee8db7e7
SIZE (smlnj/110.98/eXene.tgz) = 721110
SHA256 (smlnj/110.98/heap2asm.tgz) = 6a6b4b33e765c0e5dad52232a544c16f1b632d532e2413c6838160beb610061a
SIZE (smlnj/110.98/heap2asm.tgz) = 1799
SHA256 (smlnj/110.98/ml-burg.tgz) = bd84ce5671fd1b1156f6779f81dfaabf0801e0c3f476f36e2f2fdb4311d496aa
SIZE (smlnj/110.98/ml-burg.tgz) = 40552
SHA256 (smlnj/110.98/ml-lex.tgz) = e47e0144547a04aaa2d4ee63bafb6a40a294e7acc8e072cc9569b9a08942ca86
SIZE (smlnj/110.98/ml-lex.tgz) = 28167
SHA256 (smlnj/110.98/ml-lpt.tgz) = 4055ea0bb388893a58453ff8588e1de72a15be94257715bcd66e7a870c08c3d8
SIZE (smlnj/110.98/ml-lpt.tgz) = 267606
SHA256 (smlnj/110.98/ml-yacc.tgz) = cf2c6cdbfae352585a59214d2e6a377191504334bf4dfc092e3a0e64667124a1
SIZE (smlnj/110.98/ml-yacc.tgz) = 101728
SHA256 (smlnj/110.98/nlffi.tgz) = fb6c671d071c31e50e6792fb015492d8aec6f12b0cea2cd00e0b303c8ce1d98f
SIZE (smlnj/110.98/nlffi.tgz) = 75095
SHA256 (smlnj/110.98/old-basis.tgz) = 2952d96a3f6fc9b63e7fdab998916588490ffb65214adf227cf8c3b737ddb17f
SIZE (smlnj/110.98/old-basis.tgz) = 1215
SHA256 (smlnj/110.98/pgraph.tgz) = 44f65f685627186e0bd334b1ce6d6bf85262673dfa2b8310e213a570c2216ebd
SIZE (smlnj/110.98/pgraph.tgz) = 5432
SHA256 (smlnj/110.98/runtime.tgz) = 36e9fff81baecf8f770efa20b5e56e6f67e71705d8692142d53a590c133183ba
SIZE (smlnj/110.98/runtime.tgz) = 336383
SHA256 (smlnj/110.98/smlnj-c.tgz) = caca7a72cc96f5ef00feaadc1ca1329a9e264c070363d88c22b58f0fd4f46b67
SIZE (smlnj/110.98/smlnj-c.tgz) = 10622
SHA256 (smlnj/110.98/smlnj-lib.tgz) = 63d25c1c38791ae6d8f34cfcff600bc4c4ad6a166adb8af6402105bd98e444ba
SIZE (smlnj/110.98/smlnj-lib.tgz) = 631261
SHA256 (smlnj/110.98/system.tgz) = 555950477c86c0c43b3b6bb7ef907d7690cd214fb19c09a1a735ec9be1dbfa1e
SIZE (smlnj/110.98/system.tgz) = 278110
SHA256 (smlnj/110.98/trace-debug-profile.tgz) = e494dc37e39bcdc1e506d5b3b31422488dfd0400184ca5fb7005438253d7fa17
SIZE (smlnj/110.98/trace-debug-profile.tgz) = 3936

View File

@ -0,0 +1,13 @@
--- asdl/config.sh.orig 2019-10-27 12:44:07 UTC
+++ asdl/config.sh
@@ -40,4 +40,10 @@ fi
SMLNJ_CMD=$INSTALLDIR/bin/sml
export SMLNJ_CMD
+# "convert" gmake -> bmake
+find . -name Makefile.in | \
+xargs sed -E -i "" \
+ -e 's/^include[[:space:]]+(.+)/.include "\1"/' \
+ -e 's@\$\(patsubst %,%/([^,]+),\$\(([^)]+)\)\)@${\2:C/(.+)\/\\1\\\/\1/}@' \
+ -e 's@\$\(patsubst %([^,]+),%([^,]+),\$\(([^)]+)\)\)@${\3:C/\1/\2/}@'
./configure $SIZE_OPT --prefix=$INSTALLDIR

View File

@ -1,10 +0,0 @@
--- asdl/config/check_smlnj_heap_suffix.m4.orig 2019-10-21 18:02:45 UTC
+++ asdl/config/check_smlnj_heap_suffix.m4
@@ -45,6 +45,7 @@ AC_DEFUN([CHECK_SMLNJ_HEAP_SUFFIX], [
sparc:solaris3*) SMLNJ_ARCH=sparc; SMLNJ_OPSYS=solaris;;
x86_64:linux*) SMLNJ_ARCH=x86_64; SMLNJ_OPSYS=linux;;
x86_64:darwin*) SMLNJ_ARCH=x86_64; SMLNJ_OPSYS=darwin;;
+ x86_64:freebsd*) SMLNJ_ARCH=x86_64; SMLNJ_OPSYS=freebsd;;
*) $1 ;;
esac
if test z$SMLNJ_ARCH != z -a z$SMLNJ_OPSYS != z ; then

View File

@ -1,33 +1,17 @@
--- asdl/src/asdlgen/Makefile.in.orig 2019-10-21 18:02:45 UTC
--- asdl/src/asdlgen/Makefile.in.orig 2019-12-22 02:16:49 UTC
+++ asdl/src/asdlgen/Makefile.in
@@ -35,10 +35,11 @@ INSTALL_WRAPPER = @ASDL_ROOT@/bin/install-sml-wrapper.
# if specified, include the size option as an argument to ml-build
#
-ifneq (@HOSTSIZE@,)
+#ifneq (@HOSTSIZE@,)
+.if defined(@HOSTSIZE@)
ML_BUILD_FLAGS += -@HOSTSIZE@
ML_MAKEDEPEND_FLAGS += -@HOSTSIZE@
-endif
+.endif
#
# generator tools
@@ -62,8 +63,10 @@ CM_FILES = back-end/sml/sources.cm \
@@ -60,8 +60,8 @@ CM_FILES = back-end/sml/sources.cm \
CODE_FRAG_DIRS = back-end/sml
-CODE_FRAG_FILES = $(patsubst %,%/fragments.sml,$(CODE_FRAG_DIRS))
-CODE_FRAG_MKFILES = $(patsubst %,%/fragments.gmk,$(CODE_FRAG_DIRS))
+#CODE_FRAG_FILES = $(patsubst %,%/fragments.sml,$(CODE_FRAG_DIRS))
+#CODE_FRAG_MKFILES = $(patsubst %,%/fragments.gmk,$(CODE_FRAG_DIRS))
+CODE_FRAG_FILES = ${CODE_FRAG_DIRS:C/(.+)/\1\/fragments.sml/}
+CODE_FRAG_MKFILES = ${CODE_FRAG_DIRS:C/(.+)/\1\/fragments.gmk/}
SRCDIR = @ASDLGEN_SRCDIR@
@@ -102,14 +105,18 @@ back-end/sml/fragments.sml:
@@ -100,14 +100,18 @@ back-end/sml/fragments.sml:
touch .depend
$(ML_MAKEDEPEND) $(ML_MAKEDEPEND_FLAGS) -n -f .depend $(ROOT_CM) $(HEAP) || rm -f .depend
@ -54,3 +38,9 @@
#################### Cleanup ####################
@@ -125,4 +129,4 @@ DISTCLEAN_FILES += Makefile \
DEVCLEAN_FILES =
-include @ASDL_MKDIR@/clean-rules.gmk
+.include "@ASDL_MKDIR@/clean-rules.gmk"

View File

@ -1,11 +1,5 @@
--- base/runtime/objs/mk.amd64-freebsd.orig 2019-11-14 19:33:11 UTC
+++ base/runtime/objs/mk.amd64-freebsd
@@ -1,4 +1,4 @@
-# mk.amd64-freebst
+# mk.amd64-freebsd
#
# makefile for "Free BSD" on the amd64 architecture, which is a BSD 4.4 clone.
#
@@ -6,9 +6,10 @@
SHELL = /bin/sh
@ -28,5 +22,5 @@
-# ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared" $(RUNTIME_SO))
-# ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A))
+ ($(MAKE) CHECK_HEAP=$(CHECK_HEAP) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME))
+ ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared -Wl,-z,notext" $(RUNTIME_SO))
+ -($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared -Wl,-z,notext" $(RUNTIME_SO))
+ ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A))

View File

@ -18,8 +18,8 @@
-
XOBJS =
XLIBS = ../c-libs/dl/libunix-dynload.a
-LD_LIBS =
+LD_LIBS = -ldl
-LD_LIBS = -lm
+LD_LIBS = -ldl -lm
+#CHECK_HEAP = check-heap.o
+XDEFS = -DASSERT_ON
BASE_DEFS =
@ -39,5 +39,5 @@
-# ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared" $(RUNTIME_SO))
-# ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A))
+ ($(MAKE) CHECK_HEAP=$(CHECK_HEAP) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME))
+ ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared -Wl,-z,notext" $(RUNTIME_SO))
+ -($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared -Wl,-z,notext" $(RUNTIME_SO))
+ ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A))

View File

@ -1,11 +0,0 @@
--- base/system/Basis/Implementation/date.sml.orig 2019-06-12 21:16:48 UTC
+++ base/system/Basis/Implementation/date.sml
@@ -70,7 +70,7 @@ structure Date : DATE =
= wrap (CInterface.c_function "SMLNJ-Date" "strfTime")
(* conversions between integer numbers of seconds (used by runtime) and Time.time values *)
- fun nsToTime s = Time.fromSeconds (Word64.toLargeInt s)
+ fun nsToTime s = Time.fromNanoseconds (Word64.toLargeInt s)
fun timeToNs t = Word64.fromLargeInt (Time.toNanoseconds t)
val localTime = localTime' o timeToNs

View File

@ -1,102 +0,0 @@
--- smlnj-lib/JSON/json-parser.sml.orig 2011-05-10 18:58:08 UTC
+++ smlnj-lib/JSON/json-parser.sml
@@ -22,6 +22,26 @@ structure JSONParser : sig
msg, ", found '", JSONTokens.toString tok, "'"
])
val lexer = Lex.lex srcMap
+ fun parse_sequence (is_tok_end, parse_item) (strm : Lex.strm, itms) = let
+ fun is_tok_sep tok = case tok of T.COMMA => true | _ => false
+ val (tok, pos, strm') = lexer strm
+ in if is_tok_sep tok
+ then error (pos, "parsing sequence", tok)
+ else if is_tok_end tok
+ then (strm', itms)
+ else let val (strm'', itm) = parse_item strm
+ val (tok', pos', strm''') = lexer strm''
+ in if is_tok_end tok'
+ then (strm''', itm :: itms)
+ else if is_tok_sep tok'
+ then let val (tok'', pos'', _) = lexer strm'''
+ in if is_tok_end tok''
+ then error (pos'', "parsing sequence", tok'')
+ else parse_sequence (is_tok_end, parse_item) (strm''', itm :: itms)
+ end
+ else error (pos', "parsing sequence", tok')
+ end
+ end
fun parseValue (strm : Lex.strm) = let
val (tok, pos, strm) = lexer strm
in
@@ -37,50 +57,29 @@ structure JSONParser : sig
| _ => error (pos, "parsing value", tok)
(* end case *)
end
- and parseArray (strm : Lex.strm) = (case lexer strm
- of (T.RB, _, strm) => (strm, J.ARRAY[])
- | _ => let
- fun loop (strm, items) = let
- val (strm, v) = parseValue strm
- (* expect either a "," or a "]" *)
- val (tok, pos, strm) = lexer strm
- in
- case tok
- of T.RB => (strm, v::items)
- | T.COMMA => loop (strm, v::items)
- | _ => error (pos, "parsing array", tok)
- (* end case *)
- end
- val (strm, items) = loop (strm, [])
- in
- (strm, J.ARRAY(List.rev items))
- end
- (* end case *))
+ and parseArray (strm : Lex.strm) = let
+ fun is_RB tok = case tok of T.RB => true | _ => false
+ val (strm', elmnts) = parse_sequence (is_RB, parseValue) (strm, [])
+ in (strm', J.ARRAY(List.rev elmnts))
+ end
and parseObject (strm : Lex.strm) = let
- fun parseField strm = (case lexer strm
- of (T.STRING s, pos, strm) => (case lexer strm
- of (T.COLON, _, strm) => let
- val (strm, v) = parseValue strm
- in
- SOME(strm, (s, v))
- end
- | (tok, pos, _) => error (pos, "parsing field", tok)
- (* end case *))
- | _ => NONE
- (* end case *))
- fun loop (strm, flds) = (case parseField strm
- of SOME(strm, fld) => (
- (* expect either "," or "}" *)
- case lexer strm
- of (T.RCB, pos, strm) => (strm, fld::flds)
- | (T.COMMA, pos, strm) => loop (strm, fld::flds)
- | (tok, pos, _) => error (pos, "parsing object", tok)
- (* end case *))
- | NONE => (strm, flds)
- (* end case *))
- val (strm, flds) = loop (strm, [])
- in
- (strm, J.OBJECT(List.rev flds))
+ fun is_RCB tok = case tok of T.RCB => true | _ => false
+ fun parse_field strm = let
+ val (tok, pos, strm') = lexer strm
+ in case tok
+ of T.STRING s =>
+ (case lexer strm'
+ of (T.COLON, _, strm'') => let
+ val (strm''', v) = parseValue strm''
+ in (strm''', (s, v))
+ end
+ | (tok', pos', _) => error (pos', "parsing field", tok')
+ (* end case *))
+ | _ => error (pos, "parsing field", tok)
+ (* end case *)
+ end
+ val (strm', flds) = parse_sequence (is_RCB, parse_field) (strm, [])
+ in (strm', J.OBJECT(List.rev flds))
end
in
#2 (parseValue (Lex.streamifyInstream inStrm))

View File

@ -1,25 +0,0 @@
--- smlnj-lib/JSON/json-stream-printer.sml.orig 2017-07-14 20:32:40 UTC
+++ smlnj-lib/JSON/json-stream-printer.sml
@@ -103,14 +103,14 @@ structure JSONStreamPrinter : sig
fun tr (i, chrs) = (case getWChar i
of SOME(wchr, i) => if (wchr <= 0w126)
then (case UTF8.toAscii wchr
- of #"\"" => "\\\""
- | #"\\" => "\\\\"
- | #"/" => "\\/"
- | #"\b" => "\\b"
- | #"\f" => "\\f"
- | #"\n" => "\\n"
- | #"\r" => "\\r"
- | #"\t" => "\\t"
+ of #"\"" => tr(i, "\\\"" :: chrs)
+ | #"\\" => tr(i, "\\\\" :: chrs)
+ | #"/" => tr(i, "\\/" :: chrs)
+ | #"\b" => tr(i, "\\b" :: chrs)
+ | #"\f" => tr(i, "\\f" :: chrs)
+ | #"\n" => tr(i, "\\n" :: chrs)
+ | #"\r" => tr(i, "\\r" :: chrs)
+ | #"\t" => tr(i, "\\t" :: chrs)
| c => if (wchr < 0w32)
then tr(i, F.format "\\u%04x" [F.WORD wchr] :: chrs)
else tr(i, str c :: chrs)

View File

@ -1,4 +1,4 @@
--- config/install.sh.orig 2019-11-23 16:06:59 UTC
--- config/install.sh.orig 2020-04-03 02:04:40 UTC
+++ config/install.sh
@@ -56,11 +56,36 @@ if [ x"$SIZE_OPT" = x ] ; then
SIZE_OPT="-"$DEFAULT_SIZE
@ -67,7 +67,7 @@
#
# the release version that we are installing
#
@@ -403,7 +449,12 @@ esac
@@ -407,7 +453,12 @@ esac
# the name of the bin files directory
#
BOOT_ARCHIVE=boot.$ARCH-unix
@ -81,7 +81,7 @@
#
# build the run-time system
@@ -412,9 +463,15 @@ if [ -x "$RUNDIR"/run.$ARCH-$OPSYS ]; then
@@ -416,9 +467,15 @@ if [ -x "$RUNDIR"/run.$ARCH-$OPSYS ]; then
vsay $this: Run-time system already exists.
else
"$CONFIGDIR"/unpack "$ROOT" runtime
@ -98,7 +98,7 @@
if [ -x run.$ARCH-$OPSYS ]; then
mv run.$ARCH-$OPSYS "$RUNDIR"
if [ -f runx.$ARCH-$OPSYS ]; then
@@ -426,7 +483,7 @@ else
@@ -430,7 +487,7 @@ else
if [ -f run.$ARCH-$OPSYS.a ]; then
mv run.$ARCH-$OPSYS.a "$RUNDIR"
fi
@ -107,7 +107,7 @@
else
complain "$this: !!! Run-time system build failed for some reason."
fi
@@ -452,7 +509,7 @@ if [ -r "$HEAPDIR"/sml.$HEAP_SUFFIX ]; then
@@ -456,7 +513,7 @@ if [ -r "$HEAPDIR"/sml.$HEAP_SUFFIX ]; then
complain "$this !!! Unable to re-create heap image (sml.$HEAP_SUFFIX)."
fi
else
@ -116,7 +116,7 @@
fish "$ROOT"/"$BOOT_FILES"/smlnj/basis
@@ -487,7 +544,7 @@ else
@@ -491,7 +548,7 @@ else
cd "$ROOT"/"$BOOT_FILES"
for anchor in * ; do
if [ -d $anchor ] ; then
@ -125,7 +125,7 @@
move $anchor "$LIBDIR"/$anchor
fi
done
@@ -510,6 +567,18 @@ installdriver _ml-build ml-build
@@ -514,6 +571,18 @@ installdriver _ml-build ml-build
cd "$ROOT"
@ -144,7 +144,7 @@
#
# Now do all the rest using the precompiled installer
# (see base/system/smlnj/installer for details)
@@ -519,6 +588,12 @@ if [ $nolib = false ] ; then
@@ -523,6 +592,12 @@ if [ $nolib = false ] ; then
export ROOT INSTALLDIR CONFIGDIR BINDIR
CM_TOLERATE_TOOL_FAILURES=true
export CM_TOLERATE_TOOL_FAILURES
@ -156,8 +156,8 @@
+ [ -z "$STAGEDIR" ] || CM_PATHCONFIG=$CM_LOCAL_PATHCONFIG
if "$BINDIR"/sml $SIZE_OPT -m \$smlnj/installer.cm
then
vsay $this: Installation complete.
@@ -526,5 +601,20 @@ if [ $nolib = false ] ; then
# because we create heap2exec without knowing if heap2asm is going
@@ -536,5 +611,20 @@ if [ $nolib = false ] ; then
complain "$this: !!! Installation of libraries and programs failed."
fi
fi

View File

@ -1,7 +1,13 @@
man/man1/asdlgen.1.gz
man/man1/heap2exec.1.gz
man/man1/ml-antlr.1.gz
man/man1/ml-build.1.gz
man/man1/ml-burg.1.gz
man/man1/ml-lex.1.gz
man/man1/ml-makedepend.1.gz
man/man1/ml-nlffigen.1.gz
man/man1/ml-ulex.1.gz
man/man1/ml-yacc.1.gz
man/man1/sml.1.gz
man/man7/smlnj.7.gz
smlnj/bin/.arch-n-opsys
@ -18,7 +24,7 @@ smlnj/bin/.heap/sml.%%MLARCH%%-bsd
smlnj/bin/.link-sml
smlnj/bin/.run/run.%%MLARCH%%-freebsd
smlnj/bin/.run/run.%%MLARCH%%-freebsd.a
smlnj/bin/.run/run.%%MLARCH%%-freebsd.so
%%RUNTIME_SO%%smlnj/bin/.run/run.%%MLARCH%%-freebsd.so
smlnj/bin/.run-sml
smlnj/bin/asdlgen
smlnj/bin/heap2asm
@ -36,7 +42,6 @@ smlnj/bin/sml
smlnj/lib/SMLNJ-BASIS/.cm/%%MLARCH%%-unix/basis-common.cm
smlnj/lib/SMLNJ-BASIS/.cm/%%MLARCH%%-unix/basis.cm
smlnj/lib/SMLNJ-LIB/Controls/.cm/%%MLARCH%%-unix/controls-lib.cm
smlnj/lib/SMLNJ-LIB/HTML/.cm/%%MLARCH%%-unix/html-lib.cm
smlnj/lib/SMLNJ-LIB/PP/.cm/%%MLARCH%%-unix/pp-lib.cm
smlnj/lib/SMLNJ-LIB/Util/.cm/%%MLARCH%%-unix/smlnj-lib.cm
smlnj/lib/SMLNJ-ML-YACC-LIB/.cm/%%MLARCH%%-unix/ml-yacc-lib.cm
@ -80,11 +85,12 @@ smlnj/lib/cml/.cm/%%MLARCH%%-unix/trace-cml.cm
smlnj/lib/cml/.cm/%%MLARCH%%-unix/unix-lib.cm
smlnj/lib/cml-lib/.cm/%%MLARCH%%-unix/smlnj-lib.cm
smlnj/lib/cml-lib/.cm/%%MLARCH%%-unix/trace-cml.cm
smlnj/lib/compiler/MiscUtil/const-arith/.cm/%%MLARCH%%-unix/sources.cm
smlnj/lib/compiler/Library/const-arith/.cm/%%MLARCH%%-unix/sources.cm
smlnj/lib/dir-tool.cm/.cm/%%MLARCH%%-unix/dir-tool.cm
%%EVERYTHING%%smlnj/lib/eXene.cm/.cm/%%MLARCH%%-unix/eXene.cm
smlnj/lib/grm-ext.cm/.cm/%%MLARCH%%-unix/grm-ext.cm
smlnj/lib/hash-cons-lib.cm/.cm/%%MLARCH%%-unix/hash-cons-lib.cm
smlnj/lib/html-lib.cm/.cm/%%MLARCH%%-unix/html-lib.cm
smlnj/lib/html4-lib.cm/.cm/%%MLARCH%%-unix/html4-lib.cm
smlnj/lib/inet-lib.cm/.cm/%%MLARCH%%-unix/inet-lib.cm
smlnj/lib/json-lib.cm/.cm/%%MLARCH%%-unix/json-lib.cm
@ -108,6 +114,7 @@ smlnj/lib/pathconfig
%%EVERYTHING%%smlnj/lib/pgraph-util.cm/.cm/%%MLARCH%%-unix/pgraph-util.cm
smlnj/lib/pgraph.cm/.cm/%%MLARCH%%-unix/pgraph.cm
smlnj/lib/pickle-lib.cm/.cm/%%MLARCH%%-unix/pickle-lib.cm
smlnj/lib/pp-extras-lib.cm/.cm/%%MLARCH%%-unix/pp-extras-lib.cm
smlnj/lib/reactive-lib.cm/.cm/%%MLARCH%%-unix/reactive-lib.cm
smlnj/lib/regexp-lib.cm/.cm/%%MLARCH%%-unix/regexp-lib.cm
smlnj/lib/sexp-lib.cm/.cm/%%MLARCH%%-unix/sexp-lib.cm
@ -158,7 +165,6 @@ smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/smlnj-version.cm
smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/srcpath-lib.cm
smlnj/lib/smlnj/ml-yacc/.cm/%%MLARCH%%-unix/ml-yacc-lib.cm
smlnj/lib/smlnj/smlnj-lib/.cm/%%MLARCH%%-unix/controls-lib.cm
smlnj/lib/smlnj/smlnj-lib/.cm/%%MLARCH%%-unix/html-lib.cm
smlnj/lib/smlnj/smlnj-lib/.cm/%%MLARCH%%-unix/pp-lib.cm
smlnj/lib/smlnj/smlnj-lib/.cm/%%MLARCH%%-unix/smlnj-lib.cm
smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/amd64.cm
@ -173,4 +179,5 @@ smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/ppc.cm
smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/sparc.cm
smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/x86.cm
smlnj/lib/unix-lib.cm/.cm/%%MLARCH%%-unix/unix-lib.cm
smlnj/lib/uuid-lib.cm/.cm/%%MLARCH%%-unix/uuid-lib.cm
smlnj/lib/xml-lib.cm/.cm/%%MLARCH%%-unix/xml-lib.cm