SML/NJ 110.67 on OpenBSD 4.3/i386

"Brian P. O'Hanlon" <[email protected]> Fri, 18 Jul 2008 00:00:55 -0400
Newsgroups gmane.comp.lang.sml.smlnj
Message-ID <[email protected]>
For those who are interested, I managed to get sml/nj 110.67
compiled on OpenBSD 110.67; the basic idea is to treat it like
NetBSD/i386.  First, I edited config/_arch-n-opsys:

  OpenBSD)
    OPSYS=netbsd2
    HEAP_OPSYS=bsd
    case `uname -m` in
      *86) ARCH=x86;;
      *) exit 1;; 
    esac
    ;;  

Then I did the standard editing of config/targets, and ran
config/install.sh.  It worked fine until it was done with building the
runtime; the problem was that this created run.x86-netbsd instead of
run.x86-netbsd2, for which the installer was looking, so I simply copied
it to run.x86-netbsd, and continued install.sh.  Everything else went
fine.

> uname -a
OpenBSD foo.bar 4.3 GENERIC#698 i386
> sml
Standard ML of New Jersey v110.67 [built: Thu Jul 17 23:21:12 2008]
- SMLofNJ.SysInfo.getOSKind ();
[autoloading]
[library $SMLNJ-BASIS/basis.cm is stable]
[autoloading done]
val it = UNIX : ?.SysInfo.os_kind
- SMLofNJ.SysInfo.getOSName ();
val it = "BSD" : string

Hopefully this is useful to anyone who used OpenBSD and SML/NJ; next
step for me is to see if I can get it working under FreeBSD/amd64.
Also, I should note that I used the gcc 4.2 package that comes with
OpenBSD rather than the 3.3 system compiler; I do not know whether this
made a difference, but I can certainly investigate further.

-Brian


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/