From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: Date: Thu, 25 Oct 2007 17:43:23 +0100 From: "roger peppe" To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu> Subject: Re: [9fans] Plan9ports under windows/cygwin? In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <2C87DC29-AD18-440D-8890-A2CF4F888032@telus.net> <48D81915-6ADA-411D-AA5E-B79309035E2B@telus.net> Topicbox-Message-UUID: d9066c2e-ead2-11e9-9d60-3106f5b1d025 yeah, os(1) is your friend. but you need to watch out for the fact that files have different names inside inferno and out. i usually knock up a little script to translate the names (there's no universally correct answer, so it varies somewhat each time, depending on your conventional namespace) for example, here's part of the script i'm using currently, running inferno under macos, and using the windows F# compiler running on a remote computer (mounted on /n/remote, with /n/remote/cmd mounted on /cmd) load regex std assemblies=(...) subfn ftrans { emuroot := ${unquote "{cat /n/remote/env/emuroot}} ifs := ' ' f := $1 if{! match '^[a-zA-Z]:[\\/]' $f} { if{! ~ $f '/*'}{ f = `{pwd}^/$f } if{! ~ $f '/n/remote/*'}{ echo $f is not in remote namespace } f = ${re s '^/n/remote' '' $f} f = ${re sg '/+' '\\' $emuroot/$f} } result = $f } fn osrun { os -d ${ftrans .} ${ftrans $1} ${tl $*} } fn fsc { opts := () # --fast-sublanguage-only for(i in $assemblies){ opts = (-r $i) $opts } osrun 'C:\Program Files\FSharp-1.9.2.9\bin\fsc' $opts $* < /dev/null | (sed -e 's/ $//' -e '/^$/d' -e 's/^([a-zA-Z0-9.]+)\(([0-9]+),([0-9]+)\)/\1:\2-#0+#\3;+0/' -e 's/error: FS[[0-9]+: //') }