diff --git a/lang/smlnj/Makefile b/lang/smlnj/Makefile index 7779a16ee1ff..048ae12bb0a0 100644 --- a/lang/smlnj/Makefile +++ b/lang/smlnj/Makefile @@ -1,370 +1,381 @@ # $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}/ DISTFILES= config.tgz runtime.tgz DIST_SUBDIR= smlnj/${PORTVERSION} EXTRACT_ONLY= config.tgz MAINTAINER= joemann@beefree.free.de COMMENT= Compiler and tools for Standard ML (SML '97) LICENSE= SMLNJ LICENSE_NAME= Standard ML of New Jersey License LICENSE_TEXT= The text of the license can be obtained from the following URL:\ http://www.smlnj.org/license.html 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 SUB_LIST= EXEBINDIR=${MLBINRELATIVE} EXENAMES="${MLEXE}" PKGDEINSTALL= ${PKGINSTALL} OPTIONS_DEFINE= EVERYTHING RECOMPILE RECOMPILE_IMPLIES= EVERYTHING EVERYTHING_DESC= install everything from the SML/NJ distribution RECOMPILE_DESC= recompile the SML compiler - implies EVERYTHING .include +# 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 PLIST_SUB+= MLSIZE32="" .elif (${ARCH} == "amd64") MLARCH= amd64 MLSIZE= 64 PLIST_SUB+= MLSIZE32="@comment " .endif PLIST_SUB+= MLARCH=${MLARCH} # -fPIC is required for building runtime.so CFLAGS+= -fPIC AS= ${CC} -x assembler -c ASFLAGS+= -fPIC DISTFILES+= boot.${MLARCH}-unix.tgz DISTFILES+= MLRISC.tgz asdl.tgz ckit.tgz cml.tgz doc.tgz heap2asm.tgz \ ml-burg.tgz ml-lex.tgz ml-lpt.tgz ml-yacc.tgz nlffi.tgz \ old-basis.tgz smlnj-lib.tgz trace-debug-profile.tgz # Useful for tuning recompilation. CMB_COMMAND= .if ${PORT_OPTIONS:MEVERYTHING} DISTFILES+= cm.tgz compiler.tgz eXene.tgz \ pgraph.tgz smlnj-c.tgz system.tgz PLIST_SUB+= EVERYTHING="" .else PLIST_SUB+= EVERYTHING="@comment " .endif MLROOTRELATIVE= smlnj MLROOT= ${PREFIX}/${MLROOTRELATIVE} MLBINRELATIVE= ${MLROOTRELATIVE}/bin MLBIN= ${MLROOT}/bin MLLIB= ${MLROOT}/lib MLSTDSRCDIRS= asdl cml doc heap2asm ml-burg ml-lex ml-lpt ml-yacc \ nlffi smlnj-lib MLSRCDIRS= base ${MLSTDSRCDIRS} \ ckit eXene pgraph smlnj-c MLSRCS= .for srcdir in ${MLSRCDIRS} MLSRCS+= ${MLROOT}/${srcdir} .endfor MLTARGETS= heap2asm MLEXE= asdlgen heap2exec ml-antlr ml-build ml-burg ml-lex \ ml-makedepend ml-ulex ml-yacc sml .if defined(MLSIZE) && ${MLSIZE} == 32 MLEXE+= ml-nlffigen .endif .if ${PORT_OPTIONS:MEVERYTHING} MLSTDSRCDIRS+= eXene pgraph smlnj-c MLTARGETS+= eXene mlrisc-tools nowhere pgraph-util src-smlnj MLEXE+= nowhere PLIST= ${WRKDIR}/.PLIST MLRUNTIMEPLIST= ${WRKDIR}/.PLIST-runtime MLSRCPLIST= ${WRKDIR}/.PLIST-src MLPLISTFILES= ${.CURDIR}/pkg-plist ${MLRUNTIMEPLIST} ${MLSRCPLIST} .endif pre-fetch: @${ECHO} .if ! ${PORT_OPTIONS:MEVERYTHING} @${ECHO} 'Use port option EVERYTHING to also build/install' @${ECHO} ' eXene (X Windows toolkit),' @${ECHO} ' nowhere (preprocessor for conditional patterns),' @${ECHO} ' various libraries, and all the sources.' .endif .if ! ${PORT_OPTIONS:MRECOMPILE} @${ECHO} 'Use port option RECOMPILE to recompile the compiler.' @${ECHO} ' This implies EVERYTHING.' .endif @${ECHO} # make symlinks to the dist files post-extract: cd ${WRKSRC} && ${LN} -sf ${_DISTDIR}/* . # Configuring is done by uncommenting the appropriate #request # lines of config/targets. Dependency details are handled by # base/system/smlnj/installer using config/dependencies and # config/actions. 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 # Recompilation requires ml-lex and ml-yacc. All requested targets # will be built later using the recompiled core system after # removing targets.customized. See "do-build" below. .if ${PORT_OPTIONS:MRECOMPILE} ( ${ECHO_CMD} "request ml-yacc" && \ ${ECHO_CMD} "request ml-lex" && \ ${ECHO_CMD} "request ml-lex-mllex-tool" && \ ${ECHO_CMD} "request src-smlnj" ) \ > "${WRKSRC}/config/targets.customized" .endif # The build target patches, builds, and installs the system within WRKDIR. # base/runtime is not cleaned afterwards to avoid its recompilation during # a subsequent make install. # See base/system/README for information on recompiling the compiler. .if ${PORT_OPTIONS:MRECOMPILE} RECOMPILEDIR= base/system .else RECOMPILEDIR= .endif MLRUNTIMEPATCHES_CMD= cd ${FILESDIR} && \ ( ${LS} do-patch-base_runtime_* 2>&- || \ ${TRUE} ) MLSTANDARDPATCHES_CMD= cd ${FILESDIR} && \ ( for srcdir in ${MLSTDSRCDIRS} ; \ do ${LS} do-patch-$${srcdir}_* 2>&- ; \ done ) || ${TRUE} MLSTANDARDPATCHDIRS_CMD= cd ${FILESDIR} && \ ( for srcdir in ${MLSTDSRCDIRS} ; \ do if ${LS} do-patch-$${srcdir}_* 1>&- 2>&- ; \ then ${ECHO_CMD} -n $${srcdir} " " ; fi ; \ done ) || ${TRUE} .if ${PORT_OPTIONS:MEVERYTHING} MLSOURCEPATCHES_CMD= cd ${FILESDIR} && \ ( ${LS} do-patch-* 2>&- || \ ${TRUE} ) .else MLSOURCEPATCHES_CMD= ${TRUE} .endif do-build: cd ${WRKSRC} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \ MLNORUNTIMECLEAN=yes \ MLRUNTIMEPATCHES=`${MLRUNTIMEPATCHES_CMD}` \ MLSTANDARDPATCHES=`${MLSTANDARDPATCHES_CMD}` \ MLSTANDARDPATCHDIRS=`${MLSTANDARDPATCHDIRS_CMD}` \ MLSOURCEPATCHES=`${MLSOURCEPATCHES_CMD}` \ CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ ./config/install.sh -default ${MLSIZE} .if ${PORT_OPTIONS:MRECOMPILE} -${RM} ${WRKSRC}/config/targets.customized @${ECHO} '(* Recompiling the core system: *)' cd ${WRKSRC}/${RECOMPILEDIR} && ( \ ${ECHO_CMD} 'CM.autoload "$$smlnj/cmb.cm";' ; \ ${ECHO_CMD} ${CMB_COMMAND} ; \ ${ECHO_CMD} 'CMB.make ();' ) | \ ../../bin/sml -${MLSIZE} @${ECHO} '(* Building the recompiled heap: *)' cd ${WRKSRC}/${RECOMPILEDIR} && \ ./makeml -${MLSIZE} @${ECHO} '(* Removing old libs and heaps: *)' cd ${WRKSRC}/${RECOMPILEDIR} && \ ${RM} -r ../../lib && ${MKDIR} ../../lib && \ ${FIND} ../../bin/.heap -name '*.${MLARCH}-bsd' \ \! -name 'sml.${MLARCH}-bsd' -delete -print @${ECHO} '(* Installing the recompiled libs and heap: *)' cd ${WRKSRC}/${RECOMPILEDIR} && \ ./installml -${MLSIZE} @${ECHO} '(* Building requested targets: *)' cd ${WRKSRC} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" \ PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \ MLNORUNTIMECLEAN=yes RECOMPILEDIR="${RECOMPILEDIR}" \ CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ ./config/install.sh -default ${MLSIZE} .endif .if ${PORT_OPTIONS:MEVERYTHING} post-build: ${CHMOD} a-x ${WRKSRC}/eXene/examples/basicwin/test.sh \ ${WRKSRC}/smlnj-lib/HTML4/helper.py @${ECHO} '(* Cleaning asdl: *)' ${FIND} ${WRKSRC}/asdl -type f \ -exec ${GREP} -F -l "${WRKDIR}" {} \; -delete .endif # Nowadays PLIST has to be computed before installation. We do it in # "pre-install" because source extraction happens during "build". .if ${PORT_OPTIONS:MEVERYTHING} MLNOINSTALL= .cm .if ${PORT_OPTIONS:MRECOMPILE} MLNOINSTALL+= sml.bin.${MLARCH}-unix sml.boot.${MLARCH}-unix \ sml.lib sml.${MLARCH}-bsd .endif .for excl in ${MLNOINSTALL} MLSRCEXCLUDEREGEX+= -e '/${excl}$$' -e '/${excl}/' .endfor MLPATCHPATHREGEX= -E -e 's%(^|[^_])_([^_]|$$)%\1/\2%g' \ -e 's%(^|[^_])__([^_]|$$)%\1_\2%g' \ -e 's%(^|[^_])___([^_]|$$)%\1/_\2%g' .endif pre-install: .if ${PORT_OPTIONS:MEVERYTHING} @${ECHO} -n '(* Computing package list ...' @${TAR} -tzf ${WRKSRC}/runtime.tgz | \ ${SED} -E -n -e 's%^(.*[^/])$$%${MLROOTRELATIVE}/base/\1%p' \ > ${MLRUNTIMEPLIST} @${MLRUNTIMEPATCHES_CMD} | \ ${SED} ${MLPATCHPATHREGEX} | \ ${SED} -E -e 's%^(do|extra)-patch-(base/.*)%${MLROOTRELATIVE}/\2%' \ > ${MLRUNTIMEPLIST}.patched -@${GREP} -F -v -f ${MLRUNTIMEPLIST} ${MLRUNTIMEPLIST}.patched \ > ${MLRUNTIMEPLIST}.patchednew @${CAT} ${MLRUNTIMEPLIST}.patchednew >> ${MLRUNTIMEPLIST} @${MLRUNTIMEPATCHES_CMD} | \ ${SED} ${MLPATCHPATHREGEX} | \ ${SED} -E -e 's%^(do|extra)-patch-(base/.*)%${MLROOTRELATIVE}/\2.orig%' \ >> ${MLRUNTIMEPLIST} @cd "${WRKSRC}" && ( \ ( ${FIND} -s -d ${MLSRCDIRS} \! -type d | \ ${AWK} '{ print "${MLROOTRELATIVE}/" $$0 }' ) ; \ ( ${FIND} -s -d ${MLSRCDIRS} -type d -empty | \ ${AWK} '{ print "@dir ${MLROOTRELATIVE}/" $$0 }' ) ) | \ ${EGREP} -v "^${MLROOTRELATIVE}/base/runtime" | \ ${EGREP} -v ${MLSRCEXCLUDEREGEX} > ${MLSRCPLIST} @${SED} -e 's/^%%EVERYTHING%%//' ${MLPLISTFILES} | \ ${GREP} -h -v "^@dir" | ${SORT} -u > ${PLIST} @${SED} -e 's/^%%EVERYTHING%%//' ${MLPLISTFILES} | \ ${GREP} -h "^@dir" | ${SORT} -r -u >> ${PLIST} @${ECHO} ' done. *)' .endif # ${PKGINSTALL} contains multiexec-wrapper, which is used to select # between executables of the same name that have been installed by # different packages (like smlnj and smlnj-devel). The source of # multiexec-wrapper is extracted from ${PKGINSTALL}, and inserted # into ${PKGINSTALL} in compressed and encoded form. So it is still # available when being installed from a binary package, even if # ${PKGINSTALL} is no file at that time (but only input to a shell). @${SED} -e '/^#%%PKG-INSTALL-START%%$$/,/^#%%PKG-INSTALL-END%%$$/d' \ ${PKGINSTALL} > ${PKGINSTALL}.script @${GZIP_CMD} ${PKGINSTALL}.script @b64encode ${PKGINSTALL}.script.gz script.gz > ${PKGINSTALL}.script.gz.b64 @${SED} -n -e '1,/~EOF~.$$/p' ${PKGINSTALL} > ${PKGINSTALL}.pre @${SED} -n -e '/^~EOF~$$/,$$p' ${PKGINSTALL} > ${PKGINSTALL}.post @${CAT} ${PKGINSTALL}.pre ${PKGINSTALL}.script.gz.b64 ${PKGINSTALL}.post > ${PKGINSTALL}.full @${DIFF} -q ${PKGINSTALL} ${PKGINSTALL}.full >/dev/null || ${CP} ${PKGINSTALL}.full ${PKGINSTALL} # The install target installs the heaps and libraries to their final # location in ${MLBIN} and ${MLLIB}. # In case of recompilation, installml installs the sml heap and the # libraries built during compiler bootstrap to ${MLBIN} and ${MLLIB}. # When staging CM_PATHCONFIG has to point to the final # ${MLLIB}/pathconfig (in ${PREFIX}) while building the compiler. .if ${PORT_OPTIONS:MEVERYTHING} MLSRCEXCLUDES= .for excl in ${MLNOINSTALL} MLSRCEXCLUDES+= --exclude "${excl}" .endfor .endif do-install: ${MKDIR} "${STAGEDIR}${MLROOT}" .if ! ${PORT_OPTIONS:MRECOMPILE} cd ${WRKSRC} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \ STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \ INSTALLDIR="${STAGEDIR}${MLROOT}" \ CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ ./config/install.sh -default ${MLSIZE} .else @${ECHO} '(* Rebuilding the recompiled libs: *)' cd ${WRKSRC}/${RECOMPILEDIR} && ( \ ${ECHO_CMD} 'CM.autoload "$$smlnj/cmb.cm";' ; \ ${ECHO_CMD} ${CMB_COMMAND} ; \ ${ECHO_CMD} 'CMB.make ();' ) | \ ../../bin/sml -${MLSIZE} @${ECHO} '(* Rebuilding the recompiled heap: *)' cd ${WRKSRC}/${RECOMPILEDIR} && \ ./makeml -${MLSIZE} @${ECHO} '(* Installing into ${STAGEDIR}${MLROOT}: *)' cd ${WRKSRC} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \ STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \ INSTALLDIR="${STAGEDIR}${MLROOT}" RECOMPILEDIR="${RECOMPILEDIR}" \ CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ ./config/install.sh -default ${MLSIZE} .endif @${ECHO} '(* Installing man pages. *)' .for mansect in 1 2 3 4 5 6 7 8 9 @[ ! -d ${WRKSRC}/doc/man/man${mansect} ] || \ { cd ${WRKSRC}/doc/man/man${mansect} && ls *.${mansect} | \ ${XARGS} -J % \ ${INSTALL_MAN} % ${STAGEDIR}${MANPREFIX}/man/man${mansect} ; } .endfor @${ECHO} '(* Stripping runtime executable: *)' 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 @${ECHO} '(* Cleaning asdl: *)' ${FIND} ${WRKSRC}/asdl -type f \ -exec ${GREP} -F -l "${WRKDIR}" {} \; -delete @${ECHO} -n '(* Installing sources into ${STAGEDIR}${MLROOT} ...' @cd ${WRKSRC} && ${TAR} -cf - ${MLSRCEXCLUDES} ${MLSRCDIRS} | \ ${TAR} -xf - -C "${STAGEDIR}${MLROOT}" @${ECHO} ' done. *)' .endif # Only execute ${PKGINSTALL} when installing to ${PREFIX}, # but not when staging. .ifmake install${CALM_PORTLINT} PKG_PREFIX=${PREFIX} MULTIEXEC_WRAPPER_VERBOSE=yes \ ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL .endif .ifndef MULTIEXEC_WRAPPER_VERBOSE deinstall: export MULTIEXEC_WRAPPER_VERBOSE=yes && \ cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} deinstall .endif # This target may be used by dependent ports to set SMLNJ_VERSION # either to the currently installed smlnj package's version # or else to this port's version. SMLNJ_VERSION is an environment # variable used by multiexec-wrapper to select the executable # from that smlnj-* package matching SMLNJ_VERSION. smlnj-version: @{ ${PKG_INFO} -e smlnj && \ ${EXPR} `${PKG_INFO} -E smlnj` : '.*-\(.*\)' 2>/dev/null ; } || \ ${ECHO_CMD} ${PKGVERSION} .include diff --git a/lang/smlnj/distinfo b/lang/smlnj/distinfo index 8f1e987ad807..90b8e54f640a 100644 --- a/lang/smlnj/distinfo +++ b/lang/smlnj/distinfo @@ -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 diff --git a/lang/smlnj/files/do-patch-asdl_config.sh b/lang/smlnj/files/do-patch-asdl_config.sh new file mode 100644 index 000000000000..e688167614cc --- /dev/null +++ b/lang/smlnj/files/do-patch-asdl_config.sh @@ -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 diff --git a/lang/smlnj/files/do-patch-asdl_config_check__smlnj__heap__suffix.m4 b/lang/smlnj/files/do-patch-asdl_config_check__smlnj__heap__suffix.m4 deleted file mode 100644 index e5e4e2391ae4..000000000000 --- a/lang/smlnj/files/do-patch-asdl_config_check__smlnj__heap__suffix.m4 +++ /dev/null @@ -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 diff --git a/lang/smlnj/files/do-patch-asdl_src_asdlgen_Makefile.in b/lang/smlnj/files/do-patch-asdl_src_asdlgen_Makefile.in index 807546457571..f326f3b0d438 100644 --- a/lang/smlnj/files/do-patch-asdl_src_asdlgen_Makefile.in +++ b/lang/smlnj/files/do-patch-asdl_src_asdlgen_Makefile.in @@ -1,56 +1,46 @@ ---- 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 -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(MAKECMDGOALS),devclean) -ifneq ($(MAKECMDGOALS),distclean) -sinclude .depend -sinclude back-end/sml/fragments.gmk -endif -endif -endif +.ifmake ! ( clean || devclean || distclean ) +.sinclude ".depend" +.sinclude "back-end/sml/fragments.gmk" +.endif +#ifneq ($(MAKECMDGOALS),clean) +#ifneq ($(MAKECMDGOALS),devclean) +#ifneq ($(MAKECMDGOALS),distclean) +#sinclude .depend +#sinclude back-end/sml/fragments.gmk +#endif +#endif +#endif #################### Cleanup #################### +@@ -125,4 +129,4 @@ DISTCLEAN_FILES += Makefile \ + + DEVCLEAN_FILES = + +-include @ASDL_MKDIR@/clean-rules.gmk ++.include "@ASDL_MKDIR@/clean-rules.gmk" diff --git a/lang/smlnj/files/do-patch-base_runtime_objs_mk.amd64-freebsd b/lang/smlnj/files/do-patch-base_runtime_objs_mk.amd64-freebsd index 1d28d72f24ea..e1dd50843d0f 100644 --- a/lang/smlnj/files/do-patch-base_runtime_objs_mk.amd64-freebsd +++ b/lang/smlnj/files/do-patch-base_runtime_objs_mk.amd64-freebsd @@ -1,32 +1,26 @@ --- 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 MAKE = make -AS = as --64 -CC = cc -std=gnu99 -CFLAGS = -O2 -m64 +AS ?= cc -x assembler -c +ASFLAGS ?= -fPIC +CC ?= cc -std=gnu99 +CFLAGS ?= -O2 -m64 -fPIC CPP = cc -x assembler-with-cpp -E -P XOBJS = XLIBS = ../c-libs/dl/libunix-dynload.a @@ -26,6 +27,6 @@ RUNTIME_SO = run.amd64-freebsd.so RUNTIME_A = run.amd64-freebsd.a all: - ($(MAKE) CHECK_HEAP=$(CHECK_HEAP) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" AS="$(AS)" 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)" 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)) diff --git a/lang/smlnj/files/do-patch-base_runtime_objs_mk.x86-freebsd b/lang/smlnj/files/do-patch-base_runtime_objs_mk.x86-freebsd index 81cd6a59f7d6..08e1747155f8 100644 --- a/lang/smlnj/files/do-patch-base_runtime_objs_mk.x86-freebsd +++ b/lang/smlnj/files/do-patch-base_runtime_objs_mk.x86-freebsd @@ -1,43 +1,43 @@ --- base/runtime/objs/mk.x86-freebsd.orig 2019-11-14 19:19:39 UTC +++ base/runtime/objs/mk.x86-freebsd @@ -6,20 +6,20 @@ SHELL = /bin/sh MAKE = make - -AS = as --32 -CC = cc -std=gnu99 -CFLAGS = -O2 -m32 +AS ?= cc -x assembler -c +ASFLAGS ?= -fPIC +CC ?= cc -std=gnu99 +CFLAGS ?= -O2 -m32 -fPIC CPP = cc -x assembler-with-cpp -E -P -#CPP = /usr/bin/cpp -P -ARFLAGS = Trcv - 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 = -DEFS = $(BASE_DEFS) -DARCH_X86 -DDSIZE_32 -DOPSYS_UNIX -DOPSYS_FREEBSD \ - -DGNU_ASSEMBLER -DDLOPEN -DINDIRECT_CFUNC +DEFS = $(XDEFS) $(BASE_DEFS) -DARCH_X86 -DSIZE_32 \ + -DOPSYS_UNIX -DOPSYS_FREEBSD -D_GNU_SOURCE -DGNU_ASSEMBLER -DDLOPEN \ + -DINDIRECT_CFUNC TARGET = X86 VERSION = v-x86-freebsd RUNTIME = run.x86-freebsd @@ -27,6 +27,6 @@ RUNTIME_SO = run.x86-freebsd.so RUNTIME_A = run.x86-freebsd.a all: - ($(MAKE) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" 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)" 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)) diff --git a/lang/smlnj/files/do-patch-base_system_Basis_Implementation_date.sml b/lang/smlnj/files/do-patch-base_system_Basis_Implementation_date.sml deleted file mode 100644 index d28364771f7e..000000000000 --- a/lang/smlnj/files/do-patch-base_system_Basis_Implementation_date.sml +++ /dev/null @@ -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 diff --git a/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-parser.sml b/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-parser.sml deleted file mode 100644 index 52282ea50379..000000000000 --- a/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-parser.sml +++ /dev/null @@ -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)) diff --git a/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-stream-printer.sml b/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-stream-printer.sml deleted file mode 100644 index 51c8c0526de5..000000000000 --- a/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-stream-printer.sml +++ /dev/null @@ -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) diff --git a/lang/smlnj/files/patch-config_install.sh b/lang/smlnj/files/patch-config_install.sh index c5b35e6f34c7..30136bb39e5c 100644 --- a/lang/smlnj/files/patch-config_install.sh +++ b/lang/smlnj/files/patch-config_install.sh @@ -1,180 +1,180 @@ ---- 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 fi +[ -n "$RECOMPILEDIR" ] && echo "RECOMPILEDIR=$RECOMPILEDIR" + if [ x${INSTALL_QUIETLY} = xtrue ] ; then export CM_VERBOSE CM_VERBOSE=false fi +# +# do_patch patch-file +# apply a patch file +# +do_patch() { + patchfile=$FILESDIR/$1 + + if [ ! -r $patchfile ]; then + echo "$this: !!! patch file $patchfile not found." + exit 1; + fi + + if [ ! -f $CONFIGDIR/.patch_$1 ]; then + $PATCH $PATCH_ARGS < $patchfile || {\ + echo "$this: !!! patch file $patchfile failed to patch." + exit 1; + } + echo > $CONFIGDIR/.patch_$1 + else + echo "$this: patch $patchfile already installed." + fi +} + vsay() { if [ x${INSTALL_DEBUG} = xtrue ] ; then echo "$@" @@ -128,7 +153,28 @@ trap 'cd "$ROOT"; rm -f $tmpfiles' 0 1 2 3 15 # Especially important is CM_PATHCONFIG. # export CM_PATHCONFIG -CM_PATHCONFIG=$LIBDIR/pathconfig +if [ -n "$STAGEDIR" -a -n "$MLLIB" ] +then + # The final CM_PATHCONFIG file should not yet exist during + # staging, but still it has to be set in the environment when + # creating the (final) compiler heap. This way it becomes the + # the default pathconfig for the (final) heap. + # Therefore we will use the secondary pathconfig environment + # variable CM_LOCAL_PATHCONFIG to point to the (existing;) + # pathconfig in ROOT. This enables $smlnj/installer.cm + # to operate within STAGEDIR (using the final heap) below. + CM_PATHCONFIG=$MLLIB/pathconfig + if [ -r $CM_PATHCONFIG ] + then + vsay "$this: !!! Staging conflicts with an existing installation!" + complain "$this: !!! Make $CM_PATHCONFIG unreadable and try again!" + fi + CM_PATHCONFIG_STAGE=$STAGEDIR$CM_PATHCONFIG + CM_LOCAL_PATHCONFIG=$CM_PATHCONFIG_STAGE +else + CM_PATHCONFIG=$LIBDIR/pathconfig + CM_PATHCONFIG_STAGE=$CM_PATHCONFIG +fi # # 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 -BOOT_FILES=sml.$BOOT_ARCHIVE +if [ -z "$RECOMPILEDIR" ] +then + BOOT_FILES=sml.$BOOT_ARCHIVE +else + BOOT_FILES=$RECOMPILEDIR/sml.$BOOT_ARCHIVE +fi # # 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 + [ -n "$MLRUNTIMEPATCHES" ] && \ + for p in $MLRUNTIMEPATCHES + do + do_patch $p + done cd "$BASEDIR"/runtime/objs echo $this: Compiling the run-time system. - $MAKE -f $RT_MAKEFILE $EXTRA_DEFS + echo "$MAKE -f $RT_MAKEFILE $EXTRA_DEFS AS=\"$AS\" ASFLAGS=\"$ASFLAGS\" CFLAGS=\"$CFLAGS\" LDFLAGS=\"$LDFLAGS\"" + $MAKE -f $RT_MAKEFILE $EXTRA_DEFS AS="$AS" ASFLAGS="$ASFLAGS" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" 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 - $MAKE MAKE=$MAKE clean + [ "$MLNORUNTIMECLEAN" ] || $MAKE MAKE=$MAKE clean 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 - "$CONFIGDIR"/unpack "$ROOT" "$BOOT_ARCHIVE" + [ -n "$RECOMPILEDIR" ] || "$CONFIGDIR"/unpack "$ROOT" "$BOOT_ARCHIVE" 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 - echo $anchor $anchor >>$CM_PATHCONFIG + echo $anchor $anchor >>$CM_PATHCONFIG_STAGE 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" +# apply source patches for standard targets +[ -n "$MLSTANDARDPATCHDIRS" ] && \ +for d in $MLSTANDARDPATCHDIRS +do + "$CONFIGDIR"/unpack "$ROOT" "$d" +done +[ -n "$MLSTANDARDPATCHES" ] && \ +for p in $MLSTANDARDPATCHES +do + do_patch $p +done + # # 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 + # smlnj/installer/nix-install.sml (re)sets CM_LOCAL_PATHCONFIG + # to /dev/null in the buildcmd that it uses to invoke the builds. + # So the build process needs a working CM_PATHCONFIG. This is NOT + # propagated to the resulting heaps because the heaps generated + # in this stage don't contain the compiler. + [ -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 + +# Finish staging by removing the $STAGEDIR prefix from the driver scripts. +if [ -n "$STAGEDIR" ] +then + find $BINDIR -type f -perm -1 | \ + xargs fgrep -l "$STAGEDIR" | \ + xargs sed -i "" -e 's%'"$STAGEDIR"'%%g' +fi + +# apply all source patches +[ -n "$MLSOURCEPATCHES" ] && \ +for p in $MLSOURCEPATCHES +do + do_patch $p +done exit 0 diff --git a/lang/smlnj/pkg-plist b/lang/smlnj/pkg-plist index 2125a02627a6..0edd5e600acb 100644 --- a/lang/smlnj/pkg-plist +++ b/lang/smlnj/pkg-plist @@ -1,176 +1,183 @@ +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 smlnj/bin/.heap/asdlgen.%%MLARCH%%-bsd smlnj/bin/.heap/heap2asm.%%MLARCH%%-bsd smlnj/bin/.heap/ml-antlr.%%MLARCH%%-bsd smlnj/bin/.heap/ml-burg.%%MLARCH%%-bsd smlnj/bin/.heap/ml-lex.%%MLARCH%%-bsd %%MLSIZE32%%smlnj/bin/.heap/ml-nlffigen.%%MLARCH%%-bsd smlnj/bin/.heap/ml-ulex.%%MLARCH%%-bsd smlnj/bin/.heap/ml-yacc.%%MLARCH%%-bsd %%EVERYTHING%%smlnj/bin/.heap/nowhere.%%MLARCH%%-bsd 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 smlnj/bin/heap2exec smlnj/bin/ml-antlr smlnj/bin/ml-build smlnj/bin/ml-burg smlnj/bin/ml-lex smlnj/bin/ml-makedepend %%MLSIZE32%%smlnj/bin/ml-nlffigen smlnj/bin/ml-ulex smlnj/bin/ml-yacc %%EVERYTHING%%smlnj/bin/nowhere 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 smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/AMD64-Peephole.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/AMD64.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/CCall-Vararg.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/CCall-sparc.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/CCall-x86-64.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/CCall-x86.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/CCall.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Control.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Graphs.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/IA32-Peephole.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/IA32.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Lib.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/MLRISC.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/MLTREE.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/PPC.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Peephole.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/RA.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/SPARC.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/StagedAlloc.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Visual.cm %%EVERYTHING%%smlnj/lib/basis-2004.cm/.cm/%%MLARCH%%-unix/basis-2004.cm smlnj/lib/asdl-ext.cm/.cm/%%MLARCH%%-unix/asdl-ext.cm smlnj/lib/asdl-lib.cm/.cm/%%MLARCH%%-unix/asdl-lib.cm smlnj/lib/asdlgen-tool.cm/.cm/%%MLARCH%%-unix/asdlgen-tool.cm smlnj/lib/burg-ext.cm/.cm/%%MLARCH%%-unix/burg-ext.cm %%MLSIZE32%%smlnj/lib/c/.cm/%%MLARCH%%-unix/c.cm %%MLSIZE32%%smlnj/lib/c/internals/.cm/%%MLARCH%%-unix/c-int.cm %%MLSIZE32%%smlnj/lib/c/memory/.cm/%%MLARCH%%-unix/memory.cm smlnj/lib/ckit-lib.cm/.cm/%%MLARCH%%-unix/ckit-lib.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/basis.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml-internal.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml-lib.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/core-cml.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/inet-lib.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/smlnj-lib.cm 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 smlnj/lib/lex-ext.cm/.cm/%%MLARCH%%-unix/lex-ext.cm smlnj/lib/make-tool.cm/.cm/%%MLARCH%%-unix/make-tool.cm smlnj/lib/ml-antlr-tool.cm/.cm/%%MLARCH%%-unix/ml-antlr-tool.cm smlnj/lib/ml-lpt-lib.cm/.cm/%%MLARCH%%-unix/ml-lpt-lib.cm smlnj/lib/ml-ulex-tool.cm/.cm/%%MLARCH%%-unix/ml-ulex-tool.cm smlnj/lib/mlburg-tool.cm/.cm/%%MLARCH%%-unix/mlburg-tool.cm smlnj/lib/mllex-tool.cm/.cm/%%MLARCH%%-unix/mllex-tool.cm %%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/match-compiler.cm %%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/parser.cm %%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/pp.cm %%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/prec-parser.cm %%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/sml-ast.cm %%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/source-map.cm smlnj/lib/mlyacc-tool.cm/.cm/%%MLARCH%%-unix/mlyacc-tool.cm smlnj/lib/noweb-tool.cm/.cm/%%MLARCH%%-unix/noweb-tool.cm smlnj/lib/nw-ext.cm/.cm/%%MLARCH%%-unix/nw-ext.cm 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 smlnj/lib/shell-tool.cm/.cm/%%MLARCH%%-unix/shell-tool.cm smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/back-trace.cm smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/coverage.cm smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/plugins.cm smlnj/lib/smlnj/.cm/%%MLARCH%%-unix/cm.cm smlnj/lib/smlnj/.cm/%%MLARCH%%-unix/cmb.cm smlnj/lib/smlnj/.cm/%%MLARCH%%-unix/compiler.cm smlnj/lib/smlnj/.cm/%%MLARCH%%-unix/installer.cm smlnj/lib/smlnj/.cm/%%MLARCH%%-unix/library-install.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/AMD64.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/Control.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/Graphs.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/IA32.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/Lib.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/MLRISC.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/MLTREE.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/PPC.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/SPARC.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/Visual.cm smlnj/lib/smlnj/basis/.cm/%%MLARCH%%-unix/basis.cm smlnj/lib/smlnj/cm/.cm/%%MLARCH%%-unix/cm.cm smlnj/lib/smlnj/cm/.cm/%%MLARCH%%-unix/tools.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/amd64-unix.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/current.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/ppc-unix.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/sparc-unix.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/x86-unix.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/x86-win32.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/all.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/amd64.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/compiler.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/current.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/minimal-only.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/minimal.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/ppc.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/sparc.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/x86.cm smlnj/lib/smlnj/init/.cm/%%MLARCH%%-unix/init.cmi smlnj/lib/smlnj/installer/.cm/%%MLARCH%%-unix/util.cm smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/cm-lib.cm smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/cm-sig-lib.cm smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/cm0.cm smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/intsys.cm 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 smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/basics.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/core.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/debugprof.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/elabdata.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/elaborate.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/execute.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/parser.cm 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