diff options
author | Joseph Koshy <jkoshy@FreeBSD.org> | 2002-03-26 08:58:34 +0000 |
---|---|---|
committer | Joseph Koshy <jkoshy@FreeBSD.org> | 2002-03-26 08:58:34 +0000 |
commit | 58a69e664e3a10afdebdf6d891598832b5dc102e (patch) | |
tree | d7912a9e10999a963f3d75f64fae50f6127bb013 /lang/sml-nj-devel | |
parent | Update to 0.99c.6 (diff) |
Upgrade to v110.39. Compilation of this port is now controlled by three
knobs:
- the default compiles the basic runtime, heap, libs, ml-yacc,
ml-lex and smlnj-lib
- WITH_EVERYTHING installs everything in the distribution,
including sources
- WITH_RECOMPILE recompiles the compiler, implies WITH_EVERYTHING
- WITH_FLINT applies the patch to access FLINT, implies
WITH_RECOMPILE
Submitted by: Johannes 5 Joemann <joemann@beefree.free.de> (MAINTAINER)
Notes
Notes:
svn path=/head/; revision=56690
Diffstat (limited to 'lang/sml-nj-devel')
-rw-r--r-- | lang/sml-nj-devel/Makefile | 195 | ||||
-rw-r--r-- | lang/sml-nj-devel/distinfo | 34 | ||||
-rw-r--r-- | lang/sml-nj-devel/files/optional-patch-flint-access | 54 | ||||
-rw-r--r-- | lang/sml-nj-devel/files/patch-ab | 56 | ||||
-rw-r--r-- | lang/sml-nj-devel/files/plist-cml | 12 | ||||
-rw-r--r-- | lang/sml-nj-devel/files/plist-eXene | 4 | ||||
-rw-r--r-- | lang/sml-nj-devel/files/plist-everything | 54 | ||||
-rw-r--r-- | lang/sml-nj-devel/files/plist-flint | 1 | ||||
-rw-r--r-- | lang/sml-nj-devel/pkg-plist | 26 |
9 files changed, 285 insertions, 151 deletions
diff --git a/lang/sml-nj-devel/Makefile b/lang/sml-nj-devel/Makefile index 29c5178944d6..0da908e08a50 100644 --- a/lang/sml-nj-devel/Makefile +++ b/lang/sml-nj-devel/Makefile @@ -6,34 +6,34 @@ # PORTNAME= smlnj -PORTVERSION= 110.37 +PORTVERSION= 110.39 CATEGORIES= lang MASTER_SITES= ftp://ftp.research.bell-labs.com/dist/smlnj/working/${PORTVERSION}/ \ ftp://flint.cs.yale.edu/pub/smlnj/working/${PORTVERSION}/ \ - ftp://sunsite.doc.ic.ac.uk/computing/programming/languages/ml/smlnj/working/${PORTVERSION}/ \ - ftp://ftp.diku.dk/pub/smlnj/working/${PORTVERSION}/ + ftp://gd.tuwien.ac.at/languages/smlnj/working/${PORTVERSION}/ DISTFILES= config.tgz runtime.tgz .if (${MACHINE_ARCH} == "i386") DISTFILES+= boot.x86-unix.tgz .elif (${MACHINE_ARCH} == "alpha") DISTFILES+= boot.alpha32-unix.tgz .endif -DISTFILES+= ckit.tgz ml-burg.tgz ml-lex.tgz \ - ml-nlffi-lib.tgz ml-nlffigen.tgz \ - ml-yacc.tgz smlnj-lib.tgz -.if defined(WITH_CML) || defined(WITH_EXENE) -DISTFILES+= cml.tgz -.endif -.if defined(WITH_EXENE) -DISTFILES+= eXene.tgz -.endif -.if defined(WITH_SRC) || defined(WITH_RECOMPILE) || defined(WITH_FLINT) -DISTFILES+= MLRISC.tgz cm.tgz compiler.tgz system.tgz +DISTFILES+= ml-yacc.tgz ml-lex.tgz smlnj-lib.tgz +.if defined(WITH_EVERYTHING) || defined(WITH_RECOMPILE) || defined(WITH_FLINT) +DISTFILES+= ml-burg.tgz \ + ckit.tgz ml-nlffi-lib.tgz ml-nlffigen.tgz \ + cml.tgz eXene.tgz \ + MLRISC.tgz cm.tgz compiler.tgz system.tgz .endif EXTRACT_ONLY= config.tgz MAINTAINER= joemann@beefree.free.de +DIST_SUBDIR= sml-nj/${PORTVERSION} +NO_WRKSUBDIR= yes +USE_GMAKE= yes + +NO_LATEST_LINK= yes + .if (${MACHINE_ARCH} == "i386") MLARCH= x86 .elif (${MACHINE_ARCH} == "alpha") @@ -42,61 +42,52 @@ MLARCH= alpha32 BROKEN= not ported to ${MACHINE_ARCH} .endif -MLTARGETS= ml-burg ckit ml-nlffi-lib ml-nlffigen -MLEXE= ml-build ml-makedepend sml ml-yacc ml-lex ml-burg ml-nlffigen -.if defined(WITH_CML) || defined(WITH_EXENE) || defined(WITH_SRC) || defined(WITH_RECOMPILE) || defined(WITH_FLINT) +.if defined(WITH_FLINT) +WITH_RECOMPILE?= ${WITH_FLINT} +.endif +.if defined(WITH_RECOMPILE) +WITH_EVERYTHING?= ${WITH_RECOMPILE} +.endif + +MLROOTRELATIVE= smlnj +MLROOT= ${PREFIX}/${MLROOTRELATIVE} +MLBIN= ${MLROOT}/bin +MLLIB= ${MLROOT}/lib +MLSRCSBASE= ckit src +MLSRCSRELATIVE= ${MLROOTRELATIVE}/ckit ${MLROOTRELATIVE}/src +MLSRCS= ${MLROOT}/ckit ${MLROOT}/src +MLEXE= sml ml-yacc ml-lex ml-build ml-makedepend +.if defined(WITH_EVERYTHING) +MLTARGETS= ml-burg eXene src-smlnj \ + ml-nlffi-lib ml-nlffigen nowhere pgraph-util +MLEXE+= ml-burg ml-nlffigen nowhere PLIST= ${WRKDIR}/.PLIST -MLPLISTFILES= ${.CURDIR}/pkg-plist MLSRCPLIST= ${WRKDIR}/.PLIST.src +MLPLISTFILES= ${.CURDIR}/pkg-plist ${FILESDIR}/plist-everything ${MLSRCPLIST} +.if defined(WITH_FLINT) +MLPLISTFILES+= ${FILESDIR}/plist-flint .endif - -.if defined(WITH_SRC) || defined(WITH_RECOMPILE) || defined(WITH_FLINT) -# the pkg-plist for sources is large, so we'll generate it on the fly (during do-install) -MLPLISTFILES+= ${MLSRCPLIST} -MLTARGETS+= src-smlnj -.endif -.if defined(WITH_CML) || defined(WITH_EXENE) -MLPLISTFILES+= ${FILESDIR}/plist-cml -MLTARGETS+= cml cml-lib -.endif -.if defined(WITH_EXENE) -MLPLISTFILES+= ${FILESDIR}/plist-eXene -MLTARGETS+= eXene .endif -# Other mirror sites that generally carry only released versions of SML -# ftp://rodin.stanford.edu/pub/smlnj/release/ -# ftp://ftp.cl.cam.ac.uk/MIRRORED/smlnj/release/ -# ftp://ftp.ntua.gr/pub/lang/smlnj/release/ -# Mirror sites that keep files around in gzipped format -# ftp://flint.cs.yale.edu/pub/smlnj/working/110.9.1/ - -DIST_SUBDIR= sml-nj/${PORTVERSION} -NO_WRKSUBDIR= yes -USE_GMAKE= yes - -NO_LATEST_LINK= yes - pre-fetch: @${ECHO} -.if !defined(WITH_EXENE) -.if !defined(WITH_CML) - @${ECHO} 'Use make WITH_CML=yes to build CML (Concurrent ML).' -.endif - @${ECHO} 'Use make WITH_EXENE=yes to build eXene (X Windows toolkit),' - @${ECHO} ' this implies WITH_CML.' +.if !defined(WITH_EVERYTHING) + @${ECHO} 'Use make WITH_EVERYTHING=yes to also build ml-burg,' + @${ECHO} ' CML (Concurrent ML), eXene (X Windows toolkit),' + @${ECHO} ' ml-nlffi (foreign function interface to C code),' + @${ECHO} ' nowhere (preprocessor for conditional patterns),' + @${ECHO} ' and all the sources.' .endif -.if !defined(WITH_FLINT) .if !defined(WITH_RECOMPILE) -.if !defined(WITH_SRC) - @${ECHO} 'Use make WITH_SRC=yes to have the sources installed.' -.endif - @${ECHO} 'Use make WITH_RECOMPILE=yes to recompile the compiler,' - @${ECHO} ' this implies WITH_SRC.' + @${ECHO} 'Use make WITH_RECOMPILE=yes to recompile the compiler.' + @${ECHO} ' This implies WITH_EVERYTHING.' .endif - @${ECHO} 'Use make WITH_FLINT=yes to build sml with the FLINT' - @${ECHO} ' structures accessible (see http://flint.cs.yale.edu),' - @${ECHO} ' this implies WITH_RECOMPILE.' +.if !defined(WITH_FLINT) + @${ECHO} 'Use make WITH_FLINT=yes to apply a p''atch w''hich makes' + @${ECHO} ' the compiler'"'"'s FLINT structures visible (see' + @${ECHO} ' http://flint.cs.yale.edu/flint/publications/tcif.html),' + @${ECHO} ' use it with CM.autoload "$$smlnj/viscomp/core_flint.cm";' + @${ECHO} ' This implies WITH_RECOMPILE.' .endif @${ECHO} @@ -105,18 +96,19 @@ pre-fetch: post-extract: cd ${WRKDIR} && ${LN} -sf ${_DISTDIR}/* . -# Configuring is done by uncommenting the appropriate #TARGETS="$TARGETS xxx" -# lines of config/targets +# Configuring is done by uncommenting the appropriate #request xxx +# lines of config/targets. Dependency details are handled by +# config/install.sh using config/dependencies. +.if defined(WITH_EVERYTHING) do-configure: - test -f "${WRKDIR}/config/targets.orig" || \ - ${MV} "${WRKDIR}/config/targets" "${WRKDIR}/config/targets.orig" ${ECHO_CMD} -n > ${WRKDIR}/.tmp.sed .for t in ${MLTARGETS} - ${ECHO_CMD} '/^#TARGETS="\$$TARGETS[ ]+${t}"$$/s/#//' >> ${WRKDIR}/.tmp.sed + ${ECHO_CMD} '/^#request[ ]+${t}$$/s/^#//' >> ${WRKDIR}/.tmp.sed .endfor - ${SED} -E -f ${WRKDIR}/.tmp.sed "${WRKDIR}/config/targets.orig" \ - > "${WRKDIR}/config/targets" + ${SED} -E -f ${WRKDIR}/.tmp.sed "${WRKDIR}/config/targets" \ + > "${WRKDIR}/config/targets.customized" +.endif # The build target builds and installs the system within the WRKDIR. # The src/runtime is not cleaned afterwards to avoid recompilation during @@ -128,32 +120,45 @@ MLFLINTPATCH= optional-patch-flint-access .endif do-build: +.if defined(WITH_RECOMPILE) + ${MV} "${WRKDIR}/config/targets.customized" "${WRKDIR}/config/targets.customized.later" + ${SED} -E -e '/^#request[ ]+src-smlnj$$/s/^#//' \ + "${WRKDIR}/config/targets" > "${WRKDIR}/config/targets.customized" +.endif cd ${WRKDIR} && unset PWD && \ FILESDIR="$(FILESDIR)" PATCH="$(PATCH)" PATCH_ARGS="$(PATCH_ARGS)" \ MLNORUNTIMECLEAN=yes ./config/install.sh .if defined(WITH_FLINT) - test -f "${WRKDIR}/.patch.${MLFLINTPATCH}" || \ + ${TEST} -f "${WRKDIR}/.patch.${MLFLINTPATCH}" || \ ( cd ${WRKDIR} && \ ${PATCH} < "${FILESDIR}/${MLFLINTPATCH}" && \ ${TOUCH} "${WRKDIR}/.patch.${MLFLINTPATCH}" ) .endif -.if defined(WITH_RECOMPILE) || defined(WITH_FLINT) +.if defined(WITH_RECOMPILE) cd ${WRKDIR}/src/system && ( \ ${ECHO_CMD} 'CM.autoload "$$smlnj/cmb.cm";' ; \ ${ECHO_CMD} 'CMB.make ();' ) | \ ../../bin/sml && \ ./makeml && \ - ./installml && + ${RM} -rf ../../lib && ${MKDIR} ../../lib && \ + ${FIND} ../../bin/.heap -name '*.${MLARCH}-bsd' \ + \! -name 'sml.${MLARCH}-bsd' -delete && \ + ./installml && \ + ${MV} "${WRKDIR}/config/targets.customized.later" \ + "${WRKDIR}/config/targets.customized" + cd ${WRKDIR} && unset PWD && \ + FILESDIR="$(FILESDIR)" PATCH="$(PATCH)" PATCH_ARGS="$(PATCH_ARGS)" \ + MLNORUNTIMECLEAN=yes ./config/install.sh .endif # The install target installs the heaps and libraries to their final -# location in ${PREFIX}/smlnj. +# location in ${MLBIN} and ${MLLIB}. # In case of recompilation, installml installs the sml heap and the -# libraries built during compiler bootstrap to ${PREFIX}/smlnj. +# libraries built during compiler bootstrap to ${MLBIN} and ${MLLIB}. -.if defined(WITH_SRC) || defined(WITH_RECOMPILE) || defined(WITH_FLINT) +.if defined(WITH_EVERYTHING) MLNOINSTALL= CM -.if defined(WITH_RECOMPILE) || defined(WITH_FLINT) +.if defined(WITH_RECOMPILE) MLNOINSTALL+= sml.boot.${MLARCH}-unix sml.bin.${MLARCH}-unix .endif MLSRCEXCLUDES= @@ -165,25 +170,41 @@ MLSRCEXCLUDES+= --exclude "${excl}" PLIST_SUB= MLARCH=${MLARCH} do-install: - ${MKDIR} "${PREFIX}/smlnj" + ${MKDIR} "${MLROOT}" +.if defined(WITH_RECOMPILE) + ${MV} "${WRKDIR}/config/targets.customized" "${WRKDIR}/config/targets.customized.later" + ${ECHO_CMD} -n > "${WRKDIR}/config/targets.customized" +.endif cd ${WRKDIR} && unset PWD && \ FILESDIR="$(FILESDIR)" PATCH="$(PATCH)" PATCH_ARGS="$(PATCH_ARGS)" \ - INSTALLDIR="$(PREFIX)/smlnj" ./config/install.sh -.if defined(WITH_RECOMPILE) || defined(WITH_FLINT) + INSTALLDIR="$(MLROOT)" ./config/install.sh + MLARCHOPSYS=`$(MLBIN)/.arch-n-opsys` && \ + ( eval $${MLARCHOPSYS} ; \ + $(STRIP_CMD) "$(MLBIN)/.run/run.$${ARCH}-$${OPSYS}" ) +.if defined(WITH_RECOMPILE) cd ${WRKDIR}/src/system && \ - INSTALLROOT="${PREFIX}/smlnj" ./makeml && \ - INSTALLROOT="${PREFIX}/smlnj" ./installml + INSTALLROOT="${MLROOT}" ./makeml && \ + ${RM} -rf "${MLLIB}" && ${MKDIR} "${MLLIB}" && \ + ${FIND} "${MLBIN}"/.heap -name '*.${MLARCH}-bsd' \ + \! -name 'sml.${MLARCH}-bsd' -delete && \ + INSTALLROOT="${MLROOT}" ./installml + ${MV} "${WRKDIR}/config/targets.customized.later" \ + "${WRKDIR}/config/targets.customized" + cd ${WRKDIR} && unset PWD && \ + FILESDIR="$(FILESDIR)" PATCH="$(PATCH)" PATCH_ARGS="$(PATCH_ARGS)" \ + INSTALLDIR="$(MLROOT)" ./config/install.sh .endif -.if defined(WITH_SRC) || defined(WITH_RECOMPILE) || defined(WITH_FLINT) + @${CHOWN} -R ${BINOWN}:${BINGRP} "${MLBIN}" "${MLLIB}" +.if defined(WITH_EVERYTHING) cd ${WRKDIR}/src/runtime/objs && ${GMAKE} clean - @${ECHO} -n 'Installing sources into ${PREFIX}/smlnj ...' - @cd ${WRKDIR} && tar -cf - ${MLSRCEXCLUDES} ckit src | tar -xf - -C "${PREFIX}/smlnj" + @${ECHO} -n 'Installing sources into ${MLROOT} ...' + @cd ${WRKDIR} && ${TAR} -cf - ${MLSRCEXCLUDES} ${MLSRCSBASE} | \ + ${TAR} -xf - -C "${MLROOT}" + @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${MLSRCS} @${ECHO} ' done.' - cd "${PREFIX}" && ( find -s -d smlnj/src smlnj/ckit \! -type d ; \ - ( find -s -d smlnj/src smlnj/ckit -type d | ${AWK} '{ printf "@dirrm "; print }' ) \ - ) > ${MLSRCPLIST} -.endif -.if defined(WITH_CML) || defined(WITH_EXENE) || defined(WITH_SRC) || defined(WITH_RECOMPILE) || defined(WITH_FLINT) + cd "${PREFIX}" && ( ${FIND} -s -d ${MLSRCSRELATIVE} \! -type d ; \ + ( ${FIND} -s -d ${MLSRCSRELATIVE} -type d | \ + ${AWK} '{ printf "@dirrm "; print }' ) ) > ${MLSRCPLIST} ${GREP} -h ^[^@] ${MLPLISTFILES} | sort -u > ${PLIST} ${GREP} -h ^@dirrm ${MLPLISTFILES} | sort -r -u >> ${PLIST} .endif @@ -191,7 +212,7 @@ do-install: post-install: ${MKDIR} $(PREFIX)/bin .for f in $(MLEXE) - ${LN} -s $(PREFIX)/smlnj/bin/$f $(PREFIX)/bin/$f + ${LN} -s $(MLBIN)/$f $(PREFIX)/bin/$f .endfor .include <bsd.port.mk> diff --git a/lang/sml-nj-devel/distinfo b/lang/sml-nj-devel/distinfo index 2084112b1c54..6f6dc0284a93 100644 --- a/lang/sml-nj-devel/distinfo +++ b/lang/sml-nj-devel/distinfo @@ -1,17 +1,17 @@ -MD5 (sml-nj/110.37/MLRISC.tgz) = 708fb660c795a4f3732be4c8726aa5a4 -MD5 (sml-nj/110.37/boot.alpha32-unix.tgz) = 8d8960f1eb3e1edc5d5c438b4671b333 -MD5 (sml-nj/110.37/boot.x86-unix.tgz) = d767917c71d1785be68b27959f14aabb -MD5 (sml-nj/110.37/ckit.tgz) = c0fa9466d95c55c6566c5ff580dc9c9d -MD5 (sml-nj/110.37/cm.tgz) = 309de327ad0802ff3f3513eb1aa459d5 -MD5 (sml-nj/110.37/cml.tgz) = db484536beb7c80accca77c1bae444f9 -MD5 (sml-nj/110.37/compiler.tgz) = 367560e3bd57d077812cfaa7fb0e0076 -MD5 (sml-nj/110.37/config.tgz) = 8dde42fd783995df070f132b8c279e1f -MD5 (sml-nj/110.37/eXene.tgz) = c05d7779343aaf54e8eda13e9c04e3c6 -MD5 (sml-nj/110.37/ml-burg.tgz) = d9351e39bbc38372950a8d8f53d8a2ad -MD5 (sml-nj/110.37/ml-lex.tgz) = 770c68dbd4927636c6468dfada438e94 -MD5 (sml-nj/110.37/ml-nlffi-lib.tgz) = 7f9f90448a5e3777980c4907096a0c89 -MD5 (sml-nj/110.37/ml-nlffigen.tgz) = ee09b7f56cd8af9829760c85afa91e65 -MD5 (sml-nj/110.37/ml-yacc.tgz) = d8a58f23a8039f8b32c6b6f4fc97c112 -MD5 (sml-nj/110.37/runtime.tgz) = 3f28b17620d344d1c181c165111cb0e0 -MD5 (sml-nj/110.37/smlnj-lib.tgz) = c5d309dd8b99a8e05c04a4ef721db6a5 -MD5 (sml-nj/110.37/system.tgz) = 70074edfeda6d0b59c1da21cf64fa83d +MD5 (sml-nj/110.39/MLRISC.tgz) = cb74a1c1fc9f5354ad4bf4c02b0915d4 +MD5 (sml-nj/110.39/boot.alpha32-unix.tgz) = cc856cd36ff8920f15004663104d896a +MD5 (sml-nj/110.39/boot.x86-unix.tgz) = cabe4ed98d581c0f24a83a111e15fef1 +MD5 (sml-nj/110.39/ckit.tgz) = 5e3ba003b78228e8f0d3e945f023c334 +MD5 (sml-nj/110.39/cm.tgz) = 1c06333c1f2359aa39de5d8f2efa85e2 +MD5 (sml-nj/110.39/cml.tgz) = 558e43aeef15fcb024f0a12d5f921088 +MD5 (sml-nj/110.39/compiler.tgz) = 3c4202ec4d4dea3b23d4049ef095d991 +MD5 (sml-nj/110.39/config.tgz) = 132f56f7b2a253761331cd8786dabcc5 +MD5 (sml-nj/110.39/eXene.tgz) = 32c311a842ce0809b2bac8a3523f8bac +MD5 (sml-nj/110.39/ml-burg.tgz) = b4b4c2d2979c2ce7c0a3f373257b45fa +MD5 (sml-nj/110.39/ml-lex.tgz) = f1c675afb253325a041480779d5cc7c3 +MD5 (sml-nj/110.39/ml-nlffi-lib.tgz) = 665ce0d2257baa2faf53cf798154686f +MD5 (sml-nj/110.39/ml-nlffigen.tgz) = 0c279fe7c55dfc2b7efeb54fa8477a66 +MD5 (sml-nj/110.39/ml-yacc.tgz) = b298f537dfb9ccb473bd077131339563 +MD5 (sml-nj/110.39/runtime.tgz) = 3f1e7c63f0cb04a24a3cf6fe053d485f +MD5 (sml-nj/110.39/smlnj-lib.tgz) = 2ffec46d10e6dd9620c2895d8b59e570 +MD5 (sml-nj/110.39/system.tgz) = af051e0779d11a64dde36fcf25547948 diff --git a/lang/sml-nj-devel/files/optional-patch-flint-access b/lang/sml-nj-devel/files/optional-patch-flint-access index 6ac420fe7406..3119f7e09729 100644 --- a/lang/sml-nj-devel/files/optional-patch-flint-access +++ b/lang/sml-nj-devel/files/optional-patch-flint-access @@ -1,5 +1,27 @@ ---- src/compiler/core.cm.orig Fri Aug 24 19:48:52 2001 -+++ src/compiler/core.cm Thu Aug 30 11:51:20 2001 +--- src/cm/cm-lib.cm.orig Fri Feb 8 21:02:55 2002 ++++ src/cm/cm-lib.cm Thu Feb 28 02:38:24 2002 +@@ -14,6 +14,8 @@ + structure Sharing + signature TOOLS + structure Subst ++ (* required by Backend.Compile.elaborate: *) ++ structure UniquePid + is + $/basis.cm + $/smlnj-lib.cm +--- src/cm/compile/uniquepid.sml.orig Fri Feb 8 21:02:55 2002 ++++ src/cm/compile/uniquepid.sml Thu Feb 28 03:07:33 2002 +@@ -17,7 +17,7 @@ + type triplet = { staticPid: pid, fingerprint: pid, pepper: string } + in + structure UniquePid :> sig +- type info ++ type info = triplet option + val reset : unit -> unit + val getInfo : GeneralParams.info -> SrcPath.file -> info + val uniquepid : info -> pid -> pid * string +--- src/compiler/core.cm.orig Fri Dec 14 22:01:23 2001 ++++ src/compiler/core.cm Thu Feb 28 02:43:48 2002 @@ -81,6 +81,26 @@ signature PICKMOD signature UNPICKMOD @@ -27,3 +49,31 @@ is TopLevel/environ/environ.sig +--- src/system/smlnj/internal/intsys.cm.orig Thu Sep 13 17:19:18 2001 ++++ src/system/smlnj/internal/intsys.cm Thu Feb 28 05:54:57 2002 +@@ -32,7 +32,7 @@ + $smlnj/init/init.cmi : cm + + $/basis.cm +- $smlnj/viscomp/core.cm ++ $smlnj/viscomp/core_flint.cm + + (* need access to CM's "init" function *) + $smlnj/internal/cm0.cm +--- src/system/smlnj/viscomp/core_flint.cm.orig Thu Feb 28 03:06:08 2002 ++++ src/system/smlnj/viscomp/core_flint.cm Thu Feb 28 03:46:52 2002 +@@ -0,0 +1,14 @@ ++(* ++ * Just a quick hack to avoid a cyclic dependency between ++ * cm/cm-lib.cm and compiler/core.cm. This happens because ++ * Compiler.elaborate requires cm's structure UniquePid, ++ * and we need Compiler.elaborate to generate FLINT terms. ++ * -5- 20020228 ++ *) ++ ++Library ++ library($smlnj/viscomp/core.cm) ++ structure UniquePid ++is ++ $smlnj/viscomp/core.cm ++ $smlnj/internal/cm-lib.cm diff --git a/lang/sml-nj-devel/files/patch-ab b/lang/sml-nj-devel/files/patch-ab index fe93cf1d434b..0ea33ef5bdf3 100644 --- a/lang/sml-nj-devel/files/patch-ab +++ b/lang/sml-nj-devel/files/patch-ab @@ -1,8 +1,50 @@ ---- config/install.sh.orig Wed Jun 20 22:39:12 2001 -+++ config/install.sh Wed Aug 15 19:16:18 2001 -@@ -408,6 +408,28 @@ +--- config/install.sh.orig Fri Feb 15 23:17:39 2002 ++++ config/install.sh Wed Feb 20 03:36:14 2002 +@@ -92,6 +92,17 @@ + return 0 } ++isin() { ++ tested_x=$1 ++ shift ++ for set_y in "$@" ; do ++ if [ ${tested_x} = ${set_y} ] ; then ++ return 0 ++ fi ++ done ++ return 1 ++} ++ + require() { + require_who=$1 + shift +@@ -105,8 +116,10 @@ + } + + onepass() { +- while read depline ; do +- require $depline ++ while read depwho depon ; do ++ if isin $depwho ${TARGETS} ; then ++ require $depwho $depon ++ fi + done + } + +@@ -123,9 +136,7 @@ + # + NEWTARGETS="" + for t in ${ALLTARGETS} ; do +- if isnotin $t ${TARGETS} ; then +- : +- else ++ if isin $t ${TARGETS} ; then + NEWTARGETS="$NEWTARGETS $t" + fi + done +@@ -552,6 +563,28 @@ + ###################################################################### + # +# do_patch patch-file +# apply a patch file @@ -29,16 +71,16 @@ # create the various sub directories # for dir in $BINDIR $HEAPDIR $RUNDIR $LIBDIR $SRCDIR ; do -@@ -527,7 +549,7 @@ +@@ -668,7 +701,7 @@ $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS if [ -x run.$ARCH-$OPSYS ]; then mv run.$ARCH-$OPSYS $RUNDIR - $MAKE MAKE=$MAKE clean + [ "$MLNORUNTIMECLEAN" ] || $MAKE MAKE=$MAKE clean else - echo "$this: !!! Run-time system build failed for some reason." - exit 1 -@@ -594,6 +616,8 @@ + complain "$this: !!! Run-time system build failed for some reason." + fi +@@ -732,6 +765,8 @@ do unpack $src $ROOT/src $src $src done diff --git a/lang/sml-nj-devel/files/plist-cml b/lang/sml-nj-devel/files/plist-cml deleted file mode 100644 index 4f6fb60760b1..000000000000 --- a/lang/sml-nj-devel/files/plist-cml +++ /dev/null @@ -1,12 +0,0 @@ -smlnj/lib/cml/CM/%%MLARCH%%-unix/basis.cm -smlnj/lib/cml/CM/%%MLARCH%%-unix/cml-internal.cm -smlnj/lib/cml/CM/%%MLARCH%%-unix/cml.cm -smlnj/lib/cml/CM/%%MLARCH%%-unix/core-cml.cm -smlnj/lib/cml-lib/CM/%%MLARCH%%-unix/smlnj-lib.cm -smlnj/lib/cml-lib/CM/%%MLARCH%%-unix/trace-cml.cm -@dirrm smlnj/lib/cml/CM/%%MLARCH%%-unix -@dirrm smlnj/lib/cml/CM -@dirrm smlnj/lib/cml -@dirrm smlnj/lib/cml-lib/CM/%%MLARCH%%-unix -@dirrm smlnj/lib/cml-lib/CM -@dirrm smlnj/lib/cml-lib diff --git a/lang/sml-nj-devel/files/plist-eXene b/lang/sml-nj-devel/files/plist-eXene deleted file mode 100644 index 3902a0c46ecb..000000000000 --- a/lang/sml-nj-devel/files/plist-eXene +++ /dev/null @@ -1,4 +0,0 @@ -smlnj/lib/eXene.cm/CM/%%MLARCH%%-unix/eXene.cm -@dirrm smlnj/lib/eXene.cm/CM/%%MLARCH%%-unix -@dirrm smlnj/lib/eXene.cm/CM -@dirrm smlnj/lib/eXene.cm diff --git a/lang/sml-nj-devel/files/plist-everything b/lang/sml-nj-devel/files/plist-everything new file mode 100644 index 000000000000..36f585c7f633 --- /dev/null +++ b/lang/sml-nj-devel/files/plist-everything @@ -0,0 +1,54 @@ +bin/ml-burg +bin/ml-nlffigen +bin/nowhere +smlnj/bin/.heap/ml-burg.%%MLARCH%%-bsd +smlnj/bin/.heap/ml-nlffigen.%%MLARCH%%-bsd +smlnj/bin/.heap/nowhere.%%MLARCH%%-bsd +smlnj/bin/ml-burg +smlnj/bin/ml-nlffigen +smlnj/bin/nowhere +smlnj/lib/c-int.cm/CM/%%MLARCH%%-unix/c-int.cm +smlnj/lib/c.cm/CM/%%MLARCH%%-unix/c.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.cm +smlnj/lib/cml/CM/%%MLARCH%%-unix/core-cml.cm +smlnj/lib/cml-lib/CM/%%MLARCH%%-unix/smlnj-lib.cm +smlnj/lib/cml-lib/CM/%%MLARCH%%-unix/trace-cml.cm +smlnj/lib/eXene.cm/CM/%%MLARCH%%-unix/eXene.cm +smlnj/lib/memory.cm/CM/%%MLARCH%%-unix/memory.cm +smlnj/lib/mlrisc-tools/CM/%%MLARCH%%-unix/match-compiler.cm +smlnj/lib/mlrisc-tools/CM/%%MLARCH%%-unix/parser.cm +smlnj/lib/mlrisc-tools/CM/%%MLARCH%%-unix/pp.cm +smlnj/lib/mlrisc-tools/CM/%%MLARCH%%-unix/prec-parser.cm +smlnj/lib/mlrisc-tools/CM/%%MLARCH%%-unix/sml-ast.cm +smlnj/lib/mlrisc-tools/CM/%%MLARCH%%-unix/source-map.cm +smlnj/lib/pgraph-util.cm/CM/%%MLARCH%%-unix/pgraph-util.cm +@dirrm smlnj/lib/cml/CM/%%MLARCH%%-unix +@dirrm smlnj/lib/cml/CM +@dirrm smlnj/lib/cml +@dirrm smlnj/lib/cml-lib/CM/%%MLARCH%%-unix +@dirrm smlnj/lib/cml-lib/CM +@dirrm smlnj/lib/cml-lib +@dirrm smlnj/lib/eXene.cm/CM/%%MLARCH%%-unix +@dirrm smlnj/lib/eXene.cm/CM +@dirrm smlnj/lib/eXene.cm +@dirrm smlnj/lib/c-int.cm/CM/%%MLARCH%%-unix +@dirrm smlnj/lib/c-int.cm/CM +@dirrm smlnj/lib/c-int.cm +@dirrm smlnj/lib/c.cm/CM/%%MLARCH%%-unix +@dirrm smlnj/lib/c.cm/CM +@dirrm smlnj/lib/c.cm +@dirrm smlnj/lib/ckit-lib.cm/CM/%%MLARCH%%-unix +@dirrm smlnj/lib/ckit-lib.cm/CM +@dirrm smlnj/lib/ckit-lib.cm +@dirrm smlnj/lib/memory.cm/CM/%%MLARCH%%-unix +@dirrm smlnj/lib/memory.cm/CM +@dirrm smlnj/lib/memory.cm +@dirrm smlnj/lib/mlrisc-tools/CM/%%MLARCH%%-unix +@dirrm smlnj/lib/mlrisc-tools/CM +@dirrm smlnj/lib/mlrisc-tools +@dirrm smlnj/lib/pgraph-util.cm/CM/%%MLARCH%%-unix +@dirrm smlnj/lib/pgraph-util.cm/CM +@dirrm smlnj/lib/pgraph-util.cm diff --git a/lang/sml-nj-devel/files/plist-flint b/lang/sml-nj-devel/files/plist-flint new file mode 100644 index 000000000000..6081641f6be7 --- /dev/null +++ b/lang/sml-nj-devel/files/plist-flint @@ -0,0 +1 @@ +smlnj/lib/smlnj/viscomp/CM/%%MLARCH%%-unix/core_flint.cm diff --git a/lang/sml-nj-devel/pkg-plist b/lang/sml-nj-devel/pkg-plist index 0e87683ce244..519a5ecbbd0b 100644 --- a/lang/sml-nj-devel/pkg-plist +++ b/lang/sml-nj-devel/pkg-plist @@ -1,24 +1,18 @@ bin/ml-build -bin/ml-burg bin/ml-lex bin/ml-makedepend -bin/ml-nlffigen bin/ml-yacc bin/sml smlnj/bin/.arch-n-opsys -smlnj/bin/.heap/ml-burg.%%MLARCH%%-bsd smlnj/bin/.heap/ml-lex.%%MLARCH%%-bsd -smlnj/bin/.heap/ml-nlffigen.%%MLARCH%%-bsd smlnj/bin/.heap/ml-yacc.%%MLARCH%%-bsd smlnj/bin/.heap/sml.%%MLARCH%%-bsd smlnj/bin/.link-sml smlnj/bin/.run/run.%%MLARCH%%-freebsd smlnj/bin/.run-sml smlnj/bin/ml-build -smlnj/bin/ml-burg smlnj/bin/ml-lex smlnj/bin/ml-makedepend -smlnj/bin/ml-nlffigen smlnj/bin/ml-yacc smlnj/bin/sml smlnj/lib/SMLNJ-MLRISC/CM/%%MLARCH%%-unix/ALPHA.cm @@ -34,16 +28,13 @@ smlnj/lib/SMLNJ-MLRISC/CM/%%MLARCH%%-unix/SPARC.cm smlnj/lib/SMLNJ-MLRISC/CM/%%MLARCH%%-unix/Visual.cm smlnj/lib/basis.cm/CM/%%MLARCH%%-unix/basis.cm smlnj/lib/burg-ext.cm/CM/%%MLARCH%%-unix/burg-ext.cm -smlnj/lib/c-int.cm/CM/%%MLARCH%%-unix/c-int.cm -smlnj/lib/c.cm/CM/%%MLARCH%%-unix/c.cm -smlnj/lib/ckit-lib.cm/CM/%%MLARCH%%-unix/ckit-lib.cm smlnj/lib/dir-tool.cm/CM/%%MLARCH%%-unix/dir-tool.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/inet-lib.cm/CM/%%MLARCH%%-unix/inet-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/memory.cm/CM/%%MLARCH%%-unix/memory.cm smlnj/lib/ml-yacc-lib.cm/CM/%%MLARCH%%-unix/ml-yacc-lib.cm smlnj/lib/mlburg-tool.cm/CM/%%MLARCH%%-unix/mlburg-tool.cm smlnj/lib/mllex-tool.cm/CM/%%MLARCH%%-unix/mllex-tool.cm @@ -122,21 +113,15 @@ smlnj/lib/unix-lib.cm/CM/%%MLARCH%%-unix/unix-lib.cm @dirrm smlnj/lib/burg-ext.cm/CM/%%MLARCH%%-unix @dirrm smlnj/lib/burg-ext.cm/CM @dirrm smlnj/lib/burg-ext.cm -@dirrm smlnj/lib/c-int.cm/CM/%%MLARCH%%-unix -@dirrm smlnj/lib/c-int.cm/CM -@dirrm smlnj/lib/c-int.cm -@dirrm smlnj/lib/c.cm/CM/%%MLARCH%%-unix -@dirrm smlnj/lib/c.cm/CM -@dirrm smlnj/lib/c.cm -@dirrm smlnj/lib/ckit-lib.cm/CM/%%MLARCH%%-unix -@dirrm smlnj/lib/ckit-lib.cm/CM -@dirrm smlnj/lib/ckit-lib.cm @dirrm smlnj/lib/dir-tool.cm/CM/%%MLARCH%%-unix @dirrm smlnj/lib/dir-tool.cm/CM @dirrm smlnj/lib/dir-tool.cm @dirrm smlnj/lib/grm-ext.cm/CM/%%MLARCH%%-unix @dirrm smlnj/lib/grm-ext.cm/CM @dirrm smlnj/lib/grm-ext.cm +@dirrm smlnj/lib/hash-cons-lib.cm/CM/%%MLARCH%%-unix +@dirrm smlnj/lib/hash-cons-lib.cm/CM +@dirrm smlnj/lib/hash-cons-lib.cm @dirrm smlnj/lib/html-lib.cm/CM/%%MLARCH%%-unix @dirrm smlnj/lib/html-lib.cm/CM @dirrm smlnj/lib/html-lib.cm @@ -149,9 +134,6 @@ smlnj/lib/unix-lib.cm/CM/%%MLARCH%%-unix/unix-lib.cm @dirrm smlnj/lib/make-tool.cm/CM/%%MLARCH%%-unix @dirrm smlnj/lib/make-tool.cm/CM @dirrm smlnj/lib/make-tool.cm -@dirrm smlnj/lib/memory.cm/CM/%%MLARCH%%-unix -@dirrm smlnj/lib/memory.cm/CM -@dirrm smlnj/lib/memory.cm @dirrm smlnj/lib/ml-yacc-lib.cm/CM/%%MLARCH%%-unix @dirrm smlnj/lib/ml-yacc-lib.cm/CM @dirrm smlnj/lib/ml-yacc-lib.cm |