From nobody Wed Oct 20 07:43:33 2021 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 5A3F5180194A; Wed, 20 Oct 2021 07:43:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4HZ2fZ1rzZz3F3P; Wed, 20 Oct 2021 07:43:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 207B8237E5; Wed, 20 Oct 2021 07:43:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 19K7hYw1004270; Wed, 20 Oct 2021 07:43:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 19K7hXYa004269; Wed, 20 Oct 2021 07:43:33 GMT (envelope-from git) Date: Wed, 20 Oct 2021 07:43:33 GMT Message-Id: <202110200743.19K7hXYa004269@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Koichiro Iwao Subject: git: 042847b1b437 - main - lang/mlton: Update to 20210816 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: meta X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 042847b1b437634da916eb1386273a7fd8777a89 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by meta: URL: https://cgit.FreeBSD.org/ports/commit/?id=042847b1b437634da916eb1386273a7fd8777a89 commit 042847b1b437634da916eb1386273a7fd8777a89 Author: Timothy Beyer AuthorDate: 2021-10-19 10:24:12 +0000 Commit: Koichiro Iwao CommitDate: 2021-10-20 07:42:18 +0000 lang/mlton: Update to 20210816 and fix build for FreeBSD 12 and 13. PR: 259261 --- lang/mlton/Makefile | 280 +- lang/mlton/distinfo | 21 +- lang/mlton/files/add-local-cross | 191 - lang/mlton/files/ml.grm.sig | 88 - lang/mlton/files/ml.grm.sml | 5497 ----------------------- lang/mlton/files/ml.lex.sml | 5660 ------------------------ lang/mlton/files/mlb.grm.sig | 32 - lang/mlton/files/mlb.grm.sml | 894 ---- lang/mlton/files/mlb.lex.sml | 1854 -------- lang/mlton/files/patch-Makefile | 40 +- lang/mlton/files/patch-lib_mlrisc-lib_Makefile | 12 + lang/mlton/files/patch-runtime-Makefile | 67 - lang/mlton/files/patch-runtime_gc_int-inf.c | 13 - lang/mlton/files/upgrade-basis.sml | 68 - lang/mlton/files/yacc.grm.sig | 54 - lang/mlton/files/yacc.grm.sml | 1053 ----- lang/mlton/files/yacc.lex.sml | 901 ---- lang/mlton/pkg-plist | 1797 +------- 18 files changed, 416 insertions(+), 18106 deletions(-) diff --git a/lang/mlton/Makefile b/lang/mlton/Makefile index 407e3d7cf258..433ebbec281d 100644 --- a/lang/mlton/Makefile +++ b/lang/mlton/Makefile @@ -1,187 +1,215 @@ # Created by: Stephen Weeks -# Previouly maintained by Jesper Louis Andersen +# Previously maintained by Jesper Louis Andersen # (jesper.louis.andersen@gmail.com) and Geoffrey Mainland # (mainland@apeiron.net) # # Because MLton is written in SML, it needs an SML compiler to build. # It is easiest to use another (earlier) binary version of MLton as # the SML compiler. So, this Makefile fetches and installs an -# alread-built version of MLton, BOOT_DIST, to use for bootstrapping. - +# already-built version of MLton, BOOT_DIST, to use for bootstrapping. PORTNAME= mlton -PORTVERSION= 20100608 -PORTREVISION= 8 +PORTVERSION= 20210816 CATEGORIES= lang -MASTER_SITES= SF http://www.tbrk.org/distfiles/ -DISTFILES= ${SRC_DIST} ${BOOT_DIST} -EXTRACT_ONLY= ${SRC_DIST} +MASTER_SITES+= https://github.com/beyert/mlton-freebsd_bootstrap/raw/c7371c1/:bootstrap +DISTFILES+= ${BOOTNAME}.i386-${OPSYS:tl}-13.txz:bootstrap \ + ${BOOTNAME}.amd64-${OPSYS:tl}-13.txz:bootstrap \ + ${BOOTNAME}.i386-${OPSYS:tl}-12.txz:bootstrap \ + ${BOOTNAME}.amd64-${OPSYS:tl}-12.txz:bootstrap \ + ${BOOTNAME}.i386-${OPSYS:tl}-11.txz:bootstrap \ + ${BOOTNAME}.amd64-${OPSYS:tl}-11.txz:bootstrap MAINTAINER= beyert@cs.ucr.edu COMMENT= Optimizing Standard ML compiler +LICENSE= HPND +LICENSE_GROUPS= COPYFREE OSI +LICENSE_NAME= Historical Permission Notice and Disclaimer +LICENSE_FILE= ${WRKSRC}/LICENSE +LICENSE_PERMS= ${_LICENSE_PERMS_DEFAULT} + +ONLY_FOR_ARCHS= amd64 i386 + +BUILD_DEPENDS= bash:shells/bash LIB_DEPENDS= libgmp.so:math/gmp RUN_DEPENDS= bash:shells/bash -BUILD_DEPENDS= bash:shells/bash -LICENSE_FILE= doc/license/MLton-LICENSE +USES= compiler:c11 gmake -OPTIONS_DEFINE= SMLNJ MINGW32 DOCS -SMLNJ_DESC= Bootstrap with SML/NJ (can take >15 hours) -MINGW32_DESC= Add the mingw32 target (requires wine) +BOOTNAME= ${BOOTNAMEPREFIX}${PORTNAME}${BOOTNAMESUFFIX}-${BOOTVERSIONPREFIX}${BOOTVERSION}${BOOTVERSIONSUFFIX} +BOOTVERSIONSUFFIX= +BOOTVERSION= ${PORTVERSION} +BOOTOSMAJ= ${OSREL:R} -MAKE_JOBS_UNSAFE= yes -USES= gmake shebangfix -USE_GCC= yes +OPTIONS_DEFINE= DOCS EXAMPLES + +OPTIONS_SINGLE= TARGET BOOTSTRAP +OPTIONS_SINGLE_TARGET= NATIVE MINGW32 +OPTIONS_SINGLE_BOOTSTRAP= MLTON SMLNJ POLYML WINE + +OPTIONS_DEFAULT= NATIVE MLTON + +MLTON_DESC= Bootstrap with MLton (ideal if supported) +SMLNJ_DESC= Bootstrap with SML/NJ (can take many hours) +POLYML_DESC= Bootstrap with PolyML +WINE_DESC= Bootstrap MINGW32 with wine + +NATIVE_DESC= Use default target for given architecture +MINGW32_DESC= Add mingw32 Windows target (requires wine) .include -.if ${PORT_OPTIONS:MDOCS} -BUILD_DEPENDS+= gsed:textproc/gsed \ - htmldoc:textproc/htmldoc -USE_TEX= latex:build -.else -INSTALL_TARGET= install-no-docs remove-docs -ALL_TARGET= all-no-docs +.if ${PORT_OPTIONS:MMINGW32} +BROKEN+= not yet implemented MINGW32 option in modern versions of ${PORTNAME} .endif -SRC_DIST= ${DISTNAME}.src.tgz +BOOT_WRKSRC= ${WRKSRC}/build +BOOT_WRKTMP= ${WRKDIR}/mlton-bootstrap -.if ${PORT_OPTIONS:MSMLNJ} -BROKEN= ${DISTNAME}-${PORTVERSION} does not bootstrap properly with smlnj +.if ! ${PORT_OPTIONS:MMLTON} +MAKE_ARGS= DESTDIR='' MLTON_VERSION=${PORTVERSION} \ + PATH=${WRKSRC}/build/bin:${WRKDIR}/bin:${PATH} \ + PREFIX=${PREFIX} \ + WITH_GMP_DIR=${PREFIX} +.else +MAKE_ARGS= DESTDIR='' MLTON_VERSION=${PORTVERSION} \ + PATH=${WRKSRC}/build/bin:${BOOT_WRKSRC}/bin:${PATH} \ + PREFIX=${PREFIX} \ + SML_LIB=${BOOT_WRKSRC}/lib/sml WITH_GMP_DIR=${PREFIX} \ + PREFIX=${PREFIX} LIB=${BOOT_WRKSRC}/lib \ + TDOC=${STAGEDIR}${DOCSDIR} \ + TEXM=${STAGEDIR}${EXAMPLESDIR} +.endif + +.if ${PORT_OPTIONS:MDOCS} +BUILD_DEPENDS+= htmldoc:textproc/htmldoc +MAKE_ARGS+= MLTON_BINARY_RELEASE_WITH_DOCS=true +#USE_TEX= latex:build +USE_TEX= latex:formats +INSTALL_TARGET= install-docs install +ALL_TARGET= install-docs all +.else +MAKE_ARGS+= MLTON_BINARY_RELEASE_WITH_DOCS=false +INSTALL_TARGET= install +ALL_TARGET= all .endif .if ${PORT_OPTIONS:MSMLNJ} BUILD_DEPENDS+= smlnj>=110.65:lang/smlnj BOOT_DIST= +MAKE_JOBS_UNSAFE= yes MAKE_ENV+= SMLNJ_DEVEL=yes .if ! ${PORT_OPTIONS:MDOCS} -ALL_TARGET= smlnj-mlton all-no-docs -.else ALL_TARGET= smlnj-mlton all +.else +ALL_TARGET= smlnj-mlton install-docs all +.endif +.elif ${PORT_OPTIONS:MPOLYML} +BUILD_DEPENDS+= polyc:lang/polyml +BOOT_DIST= +MAKE_JOBS_UNSAFE= yes +#CPPFLAGS+= -L/usr/local/lib -lpolyml -lpolymain +#LDFLAGS+= -L/usr/local/lib -lpolyml -lpolymain +.if ! ${PORT_OPTIONS:MDOCS} +ALL_TARGET= polyml-mlton all +.else +ALL_TARGET= polyml-mlton install-docs all .endif +.elif ${PORT_OPTIONS:MNATIVE} +BOOT_DIST= ${BOOTNAME}.${ARCH}-${OPSYS:tl}-${BOOTOSMAJ}.txz .else -BOOT_DIST= ${PORTNAME}-${PORTVERSION}-1.${MACHINE_ARCH}-freebsd${OSRELMAJ}.${BOOT_SUF} +BOOT_DIST= .endif -.if ${PORT_OPTIONS:MMINGW32} +BOOT_DIST_NEW= ${PKGNAME}${DISTVERSIONSUFFIX}.${ARCH}-${OPSYS:tl}-${OSREL:R}-${HOST}${BOOT_SUFX} + +.if ${PORT_OPTIONS:MMINGW32} && ${PORT_OPTIONS:MWINE} BUILD_DEPENDS+= wine:emulators/wine \ mingw32-gcc:devel/mingw32-gcc \ ${LOCALBASE}/mingw32/lib/libgmp.a:math/mingw32-libgmp RUN_DEPENDS+= mingw32-gcc:devel/mingw32-gcc \ ${LOCALBASE}/mingw32/lib/libgmp.a:math/mingw32-libgmp -SSP_CFLAGS?= -fstack-protector # XXX -strong isn't supported by GCC < 4.9 +SSP_CFLAGS?= -fstack-protector # XXX -strong isn't supported by GCC < 4.9 PLIST_SUB+= MINGW32CROSS="" .else PLIST_SUB+= MINGW32CROSS="@comment " .endif -# MINGW32 requires wine, which doesn't have an official amd64 port -.if ${PORT_OPTIONS:MSMLNJ} || ${PORT_OPTIONS:MMINGW32} -ONLY_FOR_ARCHS= i386 -.else -ONLY_FOR_ARCHS= i386 amd64 -.endif - -BOOT_WRKSRC= ${WRKDIR}/mlton-bootstrap +USE_GITHUB= yes +GH_ACCOUNT= MLton +GH_PROJECT= mlton +GH_TAGNAME= b2fca3d -MAKE_ARGS= DESTDIR='' \ - PATH=${WRKSRC}/build/bin:${BOOT_WRKSRC}/bin:${PATH} \ - PREFIX=${PREFIX} - -.if ${ARCH} == "i386" -MLTON_ARCH= "x86" -.elif ${ARCH} == "amd64" -MLTON_ARCH= "x64" -.endif - -BOOT_EXTRACT= --bzip2 -BOOT_SUF= tbz +BOOT_CMD= --xz +BOOT_SUFX= .txz post-extract: - @${CP} ${FILESDIR}/add-local-cross ${WRKSRC}/bin/ - @${CHMOD} 755 ${WRKSRC}/bin/add-local-cross -.if ${PORT_OPTIONS:MSMLNJ} - @${CP} ${FILESDIR}/upgrade-basis.sml ${WRKSRC}/mlton/ - @for f in `ls ${FILESDIR}/ml.* ${FILESDIR}/mlb.*`; do \ - ${CP} $$f ${WRKSRC}/mlton/front-end/; \ - done - @for f in `ls ${FILESDIR}/yacc.*`; do \ - ${CP} $$f ${WRKSRC}/mlyacc/src/; \ - done -.else @${MKDIR} ${BOOT_WRKSRC} - @${TAR} xf ${DISTDIR}/${BOOT_DIST} ${BOOT_EXTRACT} -C ${BOOT_WRKSRC} +.if ${PORT_OPTIONS:MMLTON} + @${TAR} xf ${DISTDIR}/${BOOT_DIST} ${BOOT_CMD} -C ${BOOT_WRKSRC} + @${REINPLACE_CMD} \ + 's|/usr/local/lib/mlton|${BOOT_WRKSRC}/lib/mlton|g' \ + ${BOOT_WRKSRC}/bin/mlton + @${REINPLACE_CMD} 's|$$gcc|$$CC|g' ${BOOT_WRKSRC}/bin/mlton +.endif + @${REINPLACE_CMD} 's/CC := cc/CC := ${CC}/g' ${WRKSRC}/Makefile.config + @${REINPLACE_CMD} 's|gcc|${CC}|g' ${WRKSRC}/doc/examples/ffi/Makefile + @${REINPLACE_CMD} \ + 's|-lpolymain -lpolyml|-L ${PREFIX}/lib -lpolymain -lpolyml|g' \ + ${WRKSRC}/mlton/Makefile +.if ${PORT_OPTIONS:MDOCS} + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} .endif - -post-patch: - @${REINPLACE_CMD} 's/CC := gcc -std=gnu99/CC := ${CC} -std=gnu99/g' \ - ${WRKSRC}/runtime/Makefile \ - ${BOOT_WRKSRC}/lib/mlton/sml/mlnlffi-lib/Makefile - @${REINPLACE_CMD} 's/gcc -v/${CC} -v/g' ${WRKSRC}/runtime/util/Makefile - @${REINPLACE_CMD} 's/CC = gcc -std=gnu99/CC = ${CC} -std=gnu99/g' ${WRKSRC}/runtime/util/Makefile .if ${ARCH} == "i386" - @${REINPLACE_CMD} 's/ram-slop 0\.7/max-heap 800m/g' ${WRKSRC}/mlton/Makefile +.if ${OSREL:R} == 13 + @${REINPLACE_CMD} -e 's/ram-slop 0\.7/ram-slop 0.8/' \ + -e 's|COMPILE_XARGS :=|COMPILE_XARGS := -polyvariance false|' \ + ${WRKSRC}/mlton/Makefile .else - @${REINPLACE_CMD} 's/ram-slop 0\.7/max-heap 2g/g' ${WRKSRC}/mlton/Makefile + @${REINPLACE_CMD} -e 's/ram-slop 0\.7/ram-slop 0.7/' \ + -e 's|COMPILE_XARGS :=|COMPILE_XARGS := -polyvariance false|' \ + ${WRKSRC}/mlton/Makefile .endif -.if ! ${PORT_OPTIONS:MSMLNJ} - @${REINPLACE_CMD} -e \ - "s|/usr/local/lib/mlton|${BOOT_WRKSRC}/lib/mlton|;s|/usr/local|${LOCALBASE}|" \ - ${BOOT_WRKSRC}/bin/mlton - @${REINPLACE_CMD} -e "s|"$$"dir/../lib/mlton|${BOOT_WRKSRC}/lib/mlton|" \ - ${BOOT_WRKSRC}/bin/mlton - @${REINPLACE_CMD} -e "s|"$$"dir/../lib|${BOOT_WRKSRC}/lib/mlton|" \ - ${WRKSRC}/bin/mlton-script + @${REINPLACE_CMD} -e 's/ram-slop 0\.7/ram-slop 0.8/' \ + -e 's|^OLD_MLTON_RUNTIME_ARGS :=|OLD_MLTON_RUNTIME_ARGS := ram-slop 0.8|' \ + -e 's|^OLD_MLTON_COMPILE_ARGS :=|OLD_MLTON_COMPILE_ARGS := -polyvariance false|' \ + ${WRKSRC}/Makefile.config .endif - @${REINPLACE_CMD} -e "s|no-mllex|${BOOT_WRKSRC}/bin/mllex|" \ - ${WRKSRC}/mlton/front-end/Makefile \ - ${WRKSRC}/mlyacc/Makefile - @${REINPLACE_CMD} -e "s|no-mlyacc|${BOOT_WRKSRC}/bin/mlyacc|" \ - ${WRKSRC}/mlton/front-end/Makefile \ - ${WRKSRC}/mlyacc/Makefile - @${REINPLACE_CMD} -e "s|! mlton |! ${BOOT_WRKSRC}/bin/mlton |" \ - ${WRKSRC}/bin/upgrade-basis - @${REINPLACE_CMD} -e \ - "s|/usr/local|${LOCALBASE}|" \ - ${WRKSRC}/runtime/Makefile \ - ${WRKSRC}/runtime/bytecode/Makefile \ - ${WRKSRC}/runtime/cenv.h \ - ${WRKSRC}/bin/add-cross \ - ${WRKSRC}/bin/add-local-cross \ - ${WRKSRC}/bin/regression \ - ${WRKSRC}/bin/mlton-script \ - ${WRKSRC}/doc/guide/PortingMLton \ - ${WRKSRC}/doc/guide/SelfCompiling \ - ${WRKSRC}/doc/guide/Installation \ - ${WRKSRC}/regression/parse.sml - @${REINPLACE_CMD} -e \ - "s|gcc|${CC}|" \ - ${WRKSRC}/bin/add-cross \ - ${WRKSRC}/bin/regression \ - ${WRKSRC}/lib/mlnlffi-lib/Makefile \ - ${WRKSRC}/mlnlffigen/gen-cppcmd \ - ${WRKSRC}/mlnlffigen/README \ - ${BOOT_WRKSRC}/lib/mlton/sml/mlrisc-lib/c-call/test/Makefile \ - ${BOOT_WRKSRC}/lib/mlton/sml/mlrisc-lib/c-call/varargs/interp/Makefile - @${REINPLACE_CMD} -e \ - "s|'gcc'|'${CC}'|" \ - ${WRKSRC}/bin/mlton-script \ - ${BOOT_WRKSRC}/bin/mlton -.if ! ${PORT_OPTIONS:MSMLNJ} - @${REINPLACE_CMD} -e "s|/usr/local|${LOCALBASE}|" \ - ${BOOT_WRKSRC}/lib/mlton/include/cenv.h + @${REINPLACE_CMD} 's|gcc|${CC}|g' ${WRKSRC}/mlnlffigen/gen-cppcmd + @${REINPLACE_CMD} 's|"cc"|"${CC}"|g' ${WRKSRC}/bin/mlton-script + @${FIND} ${WRKDIR} | ${GREP} '\.bak$$' | ${AWK} '{ system("${RM} "$$0); }' + +post-install: +.if ${PORT_OPTIONS:MDOCS} && ${PORT_OPTIONS:MEXAMPLES} + ${MV} ${STAGEDIR}${DOCSDIR}/examples/* ${STAGEDIR}${EXAMPLESDIR}/ +.elif ${PORT_OPTIONS:MDOCS} + ${RM} -r ${STAGEDIR}${DOCSDIR}/examples + ${RMDIR} ${STAGEDIR}${EXAMPLESDIR} +.elif ${PORT_OPTIONS:MEXAMPLES} +# ${MV} ${STAGEDIR}${DOCSDIR}/examples/* ${STAGEDIR}${EXAMPLESDIR}/ +# ${RM} -r ${STAGEDIR}${DOCSDIR} + BROKEN+= In port ${PORTNAME}, EXAMPLES requires DOCS .endif - @${RM} ${WRKSRC}/doc/guide/PortingMLton.bak \ - ${WRKSRC}/doc/guide/SelfCompiling.bak \ - ${WRKSRC}/doc/guide/Installation.bak - -post-build: - @${REINPLACE_CMD} -i '' -e '1s|/usr/bin/perl|${perl_CMD}|' \ - ${WRKSRC}/build/lib/sml/mlrisc-lib/cm/makecm \ - ${WRKSRC}/build/lib/sml/mlrisc-lib/cm/makeallcm \ - ${WRKSRC}/build/lib/sml/mlrisc-lib/Doc/html/mltex2html + @${FIND} ${WRKDIR} | ${GREP} '\.bak$$' | ${AWK} '{ system("${RM} "$$0); }' + +makebootstrap: all + @${ECHO_MSG} "====> Making new bootstrap image (${BOOT_DIST_NEW})" +# @${FIND} ${WRKDIR} | ${GREP} '\.bak$$' | ${AWK} '{ system("${RM} "$$0); }' + @${MKDIR} ${BOOT_WRKTMP} + @cd ${STAGEDIR}${PREFIX} && ${CP} -pR lib bin ${BOOT_WRKTMP}/ + @${MKDIR} ${BOOT_WRKTMP}/doc && cd ${WRKSRC}/doc && \ + ${CP} -pR license README.adoc CHANGELOG.adoc ${BOOT_WRKTMP}/doc/ + @cd ${WRKSRC} && ${CP} -pR LICENSE README.adoc CHANGELOG.adoc \ + ${BOOT_WRKTMP}/ + @cd ${BOOT_WRKTMP} && \ + ${TAR} cfp ${BOOT_WRKTMP}/${BOOT_DIST_NEW} ${BOOT_CMD} \ + lib bin doc LICENSE README.adoc CHANGELOG.adoc + @${ECHO_MSG} "====> Installing new bootstrap image (${BOOT_DIST_NEW})" + @${CP} -p ${BOOT_WRKTMP}/${BOOT_DIST_NEW} ${DISTDIR}/ + @${ECHO_MSG} "====> Backing up new bootstrap image (${BOOT_DIST_NEW})" + @${MV} ${BOOT_WRKTMP}/${BOOT_DIST_NEW} ${MASTERDIR}/ +## @${RMDIR} ${BOOT_WRKTMP} post-build-MINGW32-on: @${ECHO} Adding mingw32 target... diff --git a/lang/mlton/distinfo b/lang/mlton/distinfo index 0406a73a828b..86709166813c 100644 --- a/lang/mlton/distinfo +++ b/lang/mlton/distinfo @@ -1,6 +1,15 @@ -SHA256 (mlton-20100608.src.tgz) = f2cb2cf0d6ca8e00331b15e3d23ede05080742895e79e73d2c26a546cd1c0b33 -SIZE (mlton-20100608.src.tgz) = 5785771 -SHA256 (mlton-20100608-1.i386-freebsd.tbz) = 0bf9aee4387dff75540850ab1a77b46b0ddd4687775cc56a9deab00ee3fb3042 -SIZE (mlton-20100608-1.i386-freebsd.tbz) = 10711528 -SHA256 (mlton-20100608-1.amd64-freebsd.tbz) = 1a0721c596a75c27ed4430149a62b9f497d3a8af3f189e36982ef73cd1d61d5d -SIZE (mlton-20100608-1.amd64-freebsd.tbz) = 11935047 +TIMESTAMP = 1634426635 +SHA256 (mlton-20210816.i386-freebsd-13.txz) = 4faa271b60a82793b7911d8e9863d9831df9bf095badf670ec27c9b86ac1266b +SIZE (mlton-20210816.i386-freebsd-13.txz) = 4417216 +SHA256 (mlton-20210816.amd64-freebsd-13.txz) = 767ed2fe0e204cd59f9065c9ff96c885d50321f2004cff0a94e84db3e664dc8a +SIZE (mlton-20210816.amd64-freebsd-13.txz) = 5530224 +SHA256 (mlton-20210816.i386-freebsd-12.txz) = a6d173463c36b2c79ba48c9d94c7857e842ca2c423a952623b7a251390f1d103 +SIZE (mlton-20210816.i386-freebsd-12.txz) = 4582828 +SHA256 (mlton-20210816.amd64-freebsd-12.txz) = d289134bd1371d0c4f090b2945a2fa87052d5e298b9612420dbbb6335440a763 +SIZE (mlton-20210816.amd64-freebsd-12.txz) = 5517216 +SHA256 (mlton-20210816.i386-freebsd-11.txz) = bcc21ef73dcb1eb773cbe076b5a79a9ffad9e431cae4eeac317078741055b91d +SIZE (mlton-20210816.i386-freebsd-11.txz) = 4613016 +SHA256 (mlton-20210816.amd64-freebsd-11.txz) = b8ddde2adcb08ca76fc6ba3ff6d7186ee7074b3a7b4be6e982a5b1d2fe10eefd +SIZE (mlton-20210816.amd64-freebsd-11.txz) = 5656260 +SHA256 (MLton-mlton-20210816-b2fca3d_GH0.tar.gz) = 9809f100308c3330803d3d52052ecdc00774b74869f57ec20880c46ba796ea6d +SIZE (MLton-mlton-20210816-b2fca3d_GH0.tar.gz) = 14307327 diff --git a/lang/mlton/files/add-local-cross b/lang/mlton/files/add-local-cross deleted file mode 100644 index c76d482ddd5c..000000000000 --- a/lang/mlton/files/add-local-cross +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/env bash - -set -e - -# This script adds a new crosscompiler target for MLton. -# -# It takes three arguments. -# -# 1. , which is what MLton would pass via the -b flag to the GCC -# cross-compiler tools. You don't need to have installed these tools in order -# to run this script, since it uses ssh and the native gcc on the target. -# Examples of $crossTarget are i386-pc-cygwin and sparc-sun-solaris. -# -# 2. specifies the target architecture. -# The posibilities are: amd64, hppa, sparc, x86. -# -# 3. specifies the target OS. -# The possibilities are: aix, cygwin, darwin, freebsd, hpux, linux, mingw, -# netbsd, openbsd, solaris. -# -# Here are some example uses of this script. -# -# add-cross mingw32 x86 mingw -# -# You also may need to set $libDir, which determines where the$exe.c -# cross-compiler target will be installed. -# -# This script is a modification of add-cross. Rather than ssh into a box -# running the target platform it uses cross-compiler tools to produce -# executables and an environment to execute them. -# -# It only works with the mingw32 cross-compiler and the wine environment. -# - -MAKE=gmake -GCC=mingw32-gcc -RUN=wine - -die () { - echo >&2 "$1" - exit 1 -} - -usage () { - die "usage: $name " -} - -case "$#" in -3) - crossTarget="$1" - crossArch="$2" - crossOS="$3" - ;; -*) - usage - ;; -esac - -name=`basename "$0"` -original=`pwd` -dir=`dirname "$0"` -src=`cd "$dir/.." && pwd` - -PATH="$dir":$PATH - -# libDir is the mlton lib directory where you would like the -# cross-compiler information to be installed. If you have installed -# from the rpms, this will usually be /usr/lib/mlton. You must have -# write permission there. - -lib="$src/build/lib" - -# You shouldn't need to change anything below this line. - -rm -rf "$lib/$crossTarget" -mkdir -p "$lib/$crossTarget" || die "Cannot write to $lib." - -tmp="$src/cross-$crossTarget" -#ssh $machine "rm -rf $tmp && mkdir $tmp" -rm -rf $tmp && mkdir $tmp - -$MAKE -C "$src" dirs - -echo '* Making runtime.' -#( cd "$src" && tar cf - Makefile basis-library bin include runtime ) | -# ssh $machine "cd $tmp && tar xf - && cd runtime && -# ../bin/mmake COMPILE_FAST=yes OMIT_BYTECODE=yes TARGET_ARCH=$crossArch TARGET_OS=$crossOS clean all && -# cd .. && make dirs runtime" -cd "$src" -for f in Makefile basis-library bin include runtime; do - cp -pfR $f "$tmp" -done - -echo "* Running make clean all in $tmp/runtime." -cd "$tmp" -$MAKE -C runtime COMPILE_FAST=yes OMIT_BYTECODE=yes TARGET=$crossTarget \ - TARGET_ARCH=$crossArch \ - TARGET_OS=$crossOS \ - clean all - -echo "* Running make dirs runtime in $tmp." -$MAKE TARGET=$crossTarget TARGET_ARCH=$crossArch TARGET_OS=$crossOS dirs runtime - -echo "* Copy from tmp to build (build/lib/targets/$crossTarget)." -# ssh $machine "cd $tmp/build/lib/self && tar cf - ." | -# ( cd "$lib/$crossTarget" && tar xf - ) -mkdir -p "$lib/targets" -cp -pfR "$tmp/build/lib/targets/$crossTarget" "$lib/targets/" - -echo "* Running make mlbpathmap in $src." -#( cd "$src" && -# mmake TARGET=$crossTarget TARGET_ARCH=$crossArch TARGET_OS=$crossOS \ -# mlbpathmap targetmap ) -cd "$src" -$MAKE TARGET=$crossTarget TARGET_ARCH=$crossArch TARGET_OS=$crossOS \ - mlbpathmap - -case "$crossOS" in -mingw) - #suf='.exe' - suf='' -;; -*) - suf='' -;; -esac - -# Copied from mlton-script -case "$crossArch" in -amd64) - archOpts='-m64' -;; -hppa) - archOpts='' -;; -sparc) - archOpts='-m32' -;; -x86) - archOpts='' -;; -esac - -case "$crossOS" in -aix) - osOpts='' -;; -cygwin) - osOpts='' -;; -darwin) - osOpts='-I/opt/local/include -I/sw/include -L/opt/local/lib -L/sw/lib -lgmp' -;; -freebsd) - osOpts='-I/usr/local/include -L/usr/local/lib/ -lgmp' -;; -hpux) - osOpts='' -;; -linux) - osOpts='' -;; -mingw) - libs='-lws2_32 -lkernel32 -lpsapi -lnetapi32' -;; -netbsd) - osOpts='-I/usr/pkg/include -Wl,-R/usr/pkg/lib -L/usr/pkg/lib/ -lgmp' -;; -openbsd) - osOpts='-I/usr/local/include -L/usr/local/lib/ -lgmp' -;; -solaris) - osOpts='-lnsl -lsocket -lrt' -;; -esac - -exe='print-constants' -echo "* Compiling and running print-constants." -#"$src/build/bin/mlton" -target $crossTarget -build-constants true | -# ssh $machine "cd $tmp/runtime && -# cat >$exe.c && -# gcc $archOpts $osOpts -I. -o $exe $exe.c libmlton.a libgdtoa.a -lgmp -lm" -"$src/build/bin/mlton" -target $crossTarget -build-constants true \ - > "$tmp/runtime/$exe.c" -cd "$tmp/runtime/" -$GCC $archOpts $osOpts -I. -o $exe $exe.c libmlton.a libgdtoa.a -lgmp -lm $libs - -#ssh $machine "$tmp/runtime/$exe$suf" >"$lib/$crossTarget/constants" -$RUN "$tmp/runtime/$exe$suf" > "$lib/targets/$crossTarget/constants" -#ssh $machine "rm -rf $tmp" -# rm -rf "$tmp" diff --git a/lang/mlton/files/ml.grm.sig b/lang/mlton/files/ml.grm.sig deleted file mode 100644 index 7bf0d2ad39fb..000000000000 --- a/lang/mlton/files/ml.grm.sig +++ /dev/null @@ -1,88 +0,0 @@ -signature ML_TOKENS = -sig -type ('a,'b) token -type svalue -val PRIM: 'a * 'a -> (svalue,'a) token -val SYMBOL: 'a * 'a -> (svalue,'a) token -val IMPORT: 'a * 'a -> (svalue,'a) token -val EXPORT: 'a * 'a -> (svalue,'a) token -val ADDRESS: 'a * 'a -> (svalue,'a) token -val CONST: 'a * 'a -> (svalue,'a) token -val COMMAND_LINE_CONST: 'a * 'a -> (svalue,'a) token -val BUILD_CONST: 'a * 'a -> (svalue,'a) token -val WITHTYPE: 'a * 'a -> (svalue,'a) token -val WITH: 'a * 'a -> (svalue,'a) token -val WILD: 'a * 'a -> (svalue,'a) token -val WHILE: 'a * 'a -> (svalue,'a) token -val WHERE: 'a * 'a -> (svalue,'a) token -val VAL: 'a * 'a -> (svalue,'a) token -val TYPE: 'a * 'a -> (svalue,'a) token -val THEN: 'a * 'a -> (svalue,'a) token -val STRUCTURE: 'a * 'a -> (svalue,'a) token -val STRUCT: 'a * 'a -> (svalue,'a) token -val SIGNATURE: 'a * 'a -> (svalue,'a) token -val SIG: 'a * 'a -> (svalue,'a) token -val SHARING: 'a * 'a -> (svalue,'a) token -val SEMICOLON: 'a * 'a -> (svalue,'a) token -val RPAREN: 'a * 'a -> (svalue,'a) token -val REC: 'a * 'a -> (svalue,'a) token -val RBRACKET: 'a * 'a -> (svalue,'a) token -val RBRACE: 'a * 'a -> (svalue,'a) token -val RAISE: 'a * 'a -> (svalue,'a) token -val OVERLOAD: 'a * 'a -> (svalue,'a) token -val OPEN: 'a * 'a -> (svalue,'a) token -val OP: 'a * 'a -> (svalue,'a) token -val OF: 'a * 'a -> (svalue,'a) token -val ORELSE: 'a * 'a -> (svalue,'a) token -val NONFIX: 'a * 'a -> (svalue,'a) token -val LPAREN: 'a * 'a -> (svalue,'a) token -val LOCAL: 'a * 'a -> (svalue,'a) token -val LET: 'a * 'a -> (svalue,'a) token -val LBRACKET: 'a * 'a -> (svalue,'a) token -val LBRACE: 'a * 'a -> (svalue,'a) token -val INFIXR: 'a * 'a -> (svalue,'a) token -val INFIX: 'a * 'a -> (svalue,'a) token -val INCLUDE: 'a * 'a -> (svalue,'a) token -val IN: 'a * 'a -> (svalue,'a) token -val IF: 'a * 'a -> (svalue,'a) token -val HASH: 'a * 'a -> (svalue,'a) token -val HANDLE: 'a * 'a -> (svalue,'a) token -val FUNCTOR: 'a * 'a -> (svalue,'a) token -val FUN: 'a * 'a -> (svalue,'a) token -val FN: 'a * 'a -> (svalue,'a) token -val DARROW: 'a * 'a -> (svalue,'a) token -val DO: 'a * 'a -> (svalue,'a) token -val EXCEPTION: 'a * 'a -> (svalue,'a) token -val EQTYPE: 'a * 'a -> (svalue,'a) token -val EQUALOP: 'a * 'a -> (svalue,'a) token -val EOF: 'a * 'a -> (svalue,'a) token -val END: 'a * 'a -> (svalue,'a) token -val ELSE: 'a * 'a -> (svalue,'a) token -val DOTDOTDOT: 'a * 'a -> (svalue,'a) token -val DATATYPE: 'a * 'a -> (svalue,'a) token -val COMMA: 'a * 'a -> (svalue,'a) token -val COLONGT: 'a * 'a -> (svalue,'a) token -val COLON: 'a * 'a -> (svalue,'a) token -val CASE: 'a * 'a -> (svalue,'a) token -val BAR: 'a * 'a -> (svalue,'a) token -val ASTERISK: 'a * 'a -> (svalue,'a) token -val AS: 'a * 'a -> (svalue,'a) token -val ARROW: 'a * 'a -> (svalue,'a) token -val ANDALSO: 'a * 'a -> (svalue,'a) token -val AND: 'a * 'a -> (svalue,'a) token -val ABSTYPE: 'a * 'a -> (svalue,'a) token -val WORD: ({ digits:string,radix:StringCvt.radix } ) * 'a * 'a -> (svalue,'a) token -val TYVAR: (string) * 'a * 'a -> (svalue,'a) token -val STRING: (IntInf.t vector) * 'a * 'a -> (svalue,'a) token -val REAL: (string) * 'a * 'a -> (svalue,'a) token -val LONGID: (string) * 'a * 'a -> (svalue,'a) token -val INT: ({ digits:string,negate:bool,radix:StringCvt.radix } ) * 'a * 'a -> (svalue,'a) token -val CHAR: (IntInf.t) * 'a * 'a -> (svalue,'a) token -end -signature ML_LRVALS= -sig -structure Tokens : ML_TOKENS -structure ParserData:PARSER_DATA -sharing type ParserData.Token.token = Tokens.token -sharing type ParserData.svalue = Tokens.svalue -end diff --git a/lang/mlton/files/ml.grm.sml b/lang/mlton/files/ml.grm.sml deleted file mode 100644 index 86a9cd830154..000000000000 --- a/lang/mlton/files/ml.grm.sml +++ /dev/null @@ -1,5497 +0,0 @@ - -functor MLLrValsFun (structure Token: TOKEN - structure Ast: AST) = -struct -structure ParserData= -struct -structure Header = -struct -(* Heavily modified from SML/NJ sources by sweeks@sweeks.com *) - -(* ml.grm - * - * Copyright 1989,1992 by AT&T Bell Laboratories - *) - -type int = Int.t - -fun reg (left, right) = Region.make {left = left, right = right} -fun error (reg, msg) = Control.error (reg, Layout.str msg, Layout.empty) - -open Ast -structure Field = Record.Field -structure Srecord = SortedRecord - -structure Type = - struct - open Type - - val tuple = Record o Srecord.tuple - - val unit = tuple (Vector.new0 ()) - - fun arrow (t1, t2) = Con (Longtycon.arrow, Vector.new2 (t1, t2)) - end - -structure DatBind = - struct - open DatBind - - fun make (dbs, withtypes, left, right) = - makeRegion' (T {datatypes = dbs, withtypes = withtypes}, - left, right) - end - -structure Pat = - struct - open Pat - - fun tuple ps = - if 1 = Vector.length ps - then node (Vector.sub (ps, 0)) - else Tuple ps - - val unit = tuple (Vector.new0 ()) - - val bogus = unit - - fun makeAs (p1: t, p2: t): node = - let - fun err () = - error (Pat.region p1, "must have variable to left in as pattern") - fun fixopVar (p : t) = - case node p of - FlatApp ps => - if 1 = Vector.length ps - then (case node (Vector.sub (ps, 0)) of - Var {fixop,name} => - (case Longvid.split name of - ([], vid) => - SOME (fixop, Vid.toVar vid) - | _ => - let - val () = err () - in - SOME (Fixop.None, Var.bogus) - end) - | _ => NONE) - else NONE - | _ => NONE - in - case fixopVar p1 of - SOME (fixop, var) => - Layered {fixop = fixop, var = var, - constraint = NONE, - pat = p2} - | NONE => - case node p1 of - Pat.Constraint (p, t) => - (case fixopVar p of - SOME (fixop, var) => - Layered {fixop = fixop, var = var, - constraint = SOME t, - pat = p2} - | _ => (err (); bogus)) - | _ => (err (); bogus) - end - end - -structure Exp = - struct - open Exp - - fun tuple es = - if 1 = Vector.length es - then node (Vector.sub (es, 0)) - else Record (Record.tuple es) - - val unit = tuple (Vector.new0 ()) - end - -structure Dec = - struct - open Dec - - fun sequence (d1: t, d2: t): t = - makeRegion (case (node d1, node d2) of - (SeqDec d1, SeqDec d2) => SeqDec (Vector.concat [d1, d2]) - | (SeqDec d1, _) => - SeqDec (Vector.concat [d1, Vector.new1 d2]) - | (_, SeqDec d2) => - SeqDec (Vector.concat [Vector.new1 d1, d2]) - | _ => SeqDec (Vector.new2 (d1, d2)), - Region.append (region d1, region d2)) - end - -structure Spec = - struct - open Spec - - (* Some of this mess is so that a sharing equation captures as - * many specs as possible in its scope. - *) - fun seq (s: t, s': t): t = - let - fun reg s'' = makeRegion (s'', Region.append (region s, region s')) - in - case (node s, node s') of - (Empty, _) => s' - | (_, Empty) => s - | (_, Seq (s1, s2)) => reg (Seq (seq (s, s1), s2)) - | (_, Sharing {spec, equations}) => - reg (Sharing {spec = seq (s, spec), equations = equations}) - | _ => reg (Seq (s, s')) - end - -(* val seq = Trace.trace2 ("Spec.seq", layout, layout, layout) seq *) - end - -fun consTopdec (d, dss) = - case dss of - [] => [[d]] - | ds :: dss => (d :: ds) :: dss - -type rule = Pat.t * Exp.t -type clause = {pats : Pat.t vector, - resultType : Type.t option, - body : Exp.t} -type clauses = clause vector -type eb = Con.t * EbRhs.t -type db = {tyvars: Tyvar.t vector, - tycon: Tycon.t, - cons: (Con.t * Type.t option) vector} - -type strdesc = Strid.t * Sigexp.t - -type wherespec = {tyvars: Tyvar.t vector, - longtycon: Longtycon.t, - ty: Type.t} - -type typdesc = {tyvars: Tyvar.t vector, - tycon: Tycon.t} - -type valdesc = Var.t * Type.t - -type exndesc = Con.t * Type.t option - -type strbind = {name: Strid.t, - def: Strexp.t, - constraint: SigConst.t} - -type sigbind = Sigid.t * Sigexp.t - -type funbind = {name : Fctid.t, - arg : FctArg.t, - result : SigConst.t, - body : Strexp.t} - -type vb = {pat: Pat.t, - exp: Exp.t} - -type rvb = {pat: Pat.t, - match: Match.t} - -fun ensureNonqualified (ss: Symbol.t list, r: Region.t): Symbol.t * Region.t = - case ss of - [s] => (s, r) - | _ => (error (r, "expected nonqualified id") - ; (Symbol.bogus, r)) - -fun cons1 (x, (l, r, y)) = (x :: l, r, y) - -fun augment (id, sigexp, (wherespecs, right, binds)) = - (id, Sigexp.wheree (sigexp, Vector.fromList wherespecs, - Region.extendRight (Sigexp.region sigexp, right))) - :: binds - -fun 'a augment1 ((strexp: Strexp.t, - makesigconst: Sigexp.t -> SigConst.t, - sigexp: Sigexp.t), - (wherespecs: wherespec list, - right: SourcePos.t, - z: 'a)): Strexp.t * 'a = - (Strexp.makeRegion - (Strexp.Constrained - (strexp, makesigconst (Sigexp.wheree - (sigexp, Vector.fromList wherespecs, - Region.extendRight (Sigexp.region sigexp, right)))), - Region.extendRight (Strexp.region strexp, right)), - z) - -type 'a whereAnd = wherespec list * SourcePos.t * 'a list - - -end -structure LrTable = Token.LrTable -structure Token = Token -local open LrTable in -val table=let val actionRows = -"\ -\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\ -\\005\000\061\000\006\000\113\000\007\000\060\000\013\000\058\000\ -\\039\000\112\000\040\000\111\000\043\000\110\000\047\000\109\000\ -\\053\000\108\000\066\000\107\000\000\000\ -\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\ -\\005\000\061\000\006\000\113\000\007\000\060\000\013\000\058\000\ -\\039\000\112\000\040\000\111\000\043\000\110\000\047\000\109\000\ -\\066\000\107\000\000\000\ -\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\ -\\005\000\061\000\007\000\060\000\013\000\058\000\015\000\057\000\ -\\024\000\055\000\029\000\053\000\033\000\050\000\034\000\049\000\ -\\039\000\046\000\040\000\045\000\041\000\044\000\043\000\042\000\ -\\047\000\040\000\050\000\037\000\052\000\151\000\065\000\031\000\ -\\069\000\030\000\070\000\029\000\071\000\028\000\072\000\027\000\ -\\073\000\026\000\074\000\025\000\075\000\024\000\076\000\023\000\000\000\ -\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\ -\\005\000\061\000\007\000\060\000\013\000\058\000\015\000\057\000\ -\\024\000\055\000\029\000\053\000\033\000\050\000\034\000\049\000\ -\\039\000\046\000\040\000\045\000\041\000\044\000\043\000\042\000\ -\\047\000\040\000\050\000\037\000\054\000\138\000\065\000\031\000\ -\\069\000\030\000\070\000\029\000\071\000\028\000\072\000\027\000\ -\\073\000\026\000\074\000\025\000\075\000\024\000\076\000\023\000\000\000\ -\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\ -\\005\000\061\000\007\000\060\000\013\000\058\000\015\000\057\000\ -\\024\000\055\000\029\000\053\000\033\000\050\000\034\000\049\000\ -\\039\000\046\000\040\000\045\000\041\000\044\000\043\000\042\000\ -\\047\000\040\000\050\000\037\000\065\000\031\000\069\000\030\000\ -\\070\000\029\000\071\000\028\000\072\000\027\000\073\000\026\000\ -\\074\000\025\000\075\000\024\000\076\000\023\000\000\000\ -\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\ -\\005\000\061\000\007\000\060\000\013\000\058\000\039\000\112\000\ -\\040\000\111\000\043\000\175\000\047\000\109\000\053\000\108\000\ -\\066\000\107\000\000\000\ -\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\ -\\005\000\061\000\007\000\060\000\013\000\058\000\039\000\112\000\ -\\040\000\111\000\043\000\175\000\047\000\109\000\053\000\228\000\ -\\066\000\107\000\000\000\ -\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\ -\\005\000\061\000\007\000\060\000\013\000\058\000\039\000\112\000\ -\\040\000\111\000\043\000\175\000\047\000\109\000\066\000\107\000\000\000\ -\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\ -\\005\000\061\000\007\000\060\000\013\000\076\000\000\000\ -\\001\000\002\000\064\000\003\000\063\000\013\000\076\000\000\000\ -\\001\000\002\000\064\000\003\000\063\000\013\000\076\000\020\000\241\000\000\000\ -\\001\000\002\000\064\000\003\000\063\000\013\000\076\000\020\000\241\000\ -\\051\000\240\000\000\000\ -\\001\000\002\000\064\000\003\000\063\000\013\000\076\000\051\000\157\000\000\000\ -\\001\000\002\000\064\000\003\000\063\000\013\000\076\000\051\000\042\001\000\000\ -\\001\000\003\000\122\003\008\000\121\003\009\000\121\003\010\000\121\003\ -\\011\000\121\003\012\000\121\003\013\000\122\003\014\000\121\003\ -\\016\000\121\003\017\000\121\003\018\000\121\003\019\000\121\003\ -\\021\000\121\003\022\000\121\003\023\000\121\003\024\000\121\003\ -\\025\000\121\003\026\000\121\003\027\000\121\003\028\000\121\003\ *** 18513 LINES SKIPPED ***