Re: Problems porting from old Compilation Manager

John Reppy <[email protected]> Fri, 27 Nov 2009 11:45:45 -0600
Newsgroups gmane.comp.lang.sml.smlnj
Message-ID <[email protected]>
Documentation for the 110.0.7 version of CM can be found at

	http://smlnj.org/doc/CM/Old/index.html

the new version is documented at

	http://smlnj.org/doc/CM/new.pdf

The main difference is that the newer version of CM requires explicit
mention of the basis ($/basis.cm) in CM files and the role of groups
changed (which may not be an issue).

The other porting problems will have to do with the SML'97 Basis
specification, which 110.0.7 predated.  The Basis library is documented
at

	http://www.standardml.org/Basis/

Please let us know if you have any questions.

	- John

On Nov 27, 2009, at 4:58 AM, Colin Fleming wrote:

> Hi all,
> 
> I'm trying to compile MLj, the SML to JVM compiler. The project is
> pretty well abandoned, and they recommend compiling it with a very old
> version of SML/NJ (110.0.7) which I couldn't get to compile on OSX.
> That version uses the old CM, so when I try to compile with the most
> recent version, it fails. The culprit seems to be the build.sml file:
> 
> val path =
>  case OS.Process.getEnv "BOOTCLASSPATH" of
>    NONE =>
>    (print
>  "\nSet BOOTCLASSPATH to the zip or jar file containing system classes\n";
>     OS.Process.exit OS.Process.failure)
> 
>  | SOME path => path;
> 
> val version_id = #version_id Compiler.version;
> val newer = hd version_id > 110 orelse hd (tl version_id) > 0;
> if newer then CM.set_root "sources2.cm" else ();
> OS.FileSys.chDir "src";
> CM.make ();
> Version.compileTime := Date.toString (Date.fromTimeLocal (Time.now ()));
> SMLofNJ.Internals.GC.messages false;
> 
> PackageManager.setBootClassPath (Path.pathToList path);
> 
> if Make.makeAndFreezeBasis (true, "build.log")
> then SMLofNJ.exportFn ("../bin/mlj-jdk1.1.1", TopLevel.main)
> else (print "\nFailed to build basis\n"; OS.Process.exit OS.Process.failure);
> 
> I managed to make some progress by commenting the CM.set_root line and
> adjusting the CM.make command to 'CM.make "sources2.cm"', but then the
> subsequent lines fail because it can't find Version or PackageManager.
> Did something change with the visibility of compiled structures in the
> switch to the new CM? Can I explicitly import those structures somehow
> in the new one?
> 
> Apologies if the question is very basic, I'm very new to SML.
> 
> Thanks for any help,
> Colin
> 
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
> trial. Simplify your report design, integration and deployment - and focus on 
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Smlnj-list mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/smlnj-list
> 


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july