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