[MLton-commit] r7421

Wesley Terpstra wesley at mlton.org
Wed Feb 17 07:06:17 PST 2010


A debian package creates cross targets for use under debian.
This allows every debian architecture to target any other (and/or windows).


----------------------------------------------------------------------

A   mlton/trunk/package/mlton-cross/
A   mlton/trunk/package/mlton-cross/Makefile
A   mlton/trunk/package/mlton-cross/README
A   mlton/trunk/package/mlton-cross/control.in
A   mlton/trunk/package/mlton-cross/debian/
A   mlton/trunk/package/mlton-cross/debian/changelog
A   mlton/trunk/package/mlton-cross/debian/compat
A   mlton/trunk/package/mlton-cross/debian/control
A   mlton/trunk/package/mlton-cross/debian/copyright
A   mlton/trunk/package/mlton-cross/debian/rules
A   mlton/trunk/package/mlton-cross/fix-gmp-win64.patch
A   mlton/trunk/package/mlton-cross/win64/
A   mlton/trunk/package/mlton-cross/win64/arith.h
A   mlton/trunk/package/mlton-cross/win64/c-types.h
A   mlton/trunk/package/mlton-cross/win64/c-types.sml
A   mlton/trunk/package/mlton-cross/win64/constants
A   mlton/trunk/package/mlton-cross/win64/ml-types.h
A   mlton/trunk/package/mlton-cross/win64/sizes

----------------------------------------------------------------------

Added: mlton/trunk/package/mlton-cross/Makefile
===================================================================
--- mlton/trunk/package/mlton-cross/Makefile	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/Makefile	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,123 @@
+VERSION=20100206~svn
+REVISION=r7414
+MIRROR=http://ftp.de.debian.org/debian
+
+TARGETS=alpha amd64 armel hppa i386 ia64 mips mipsel powerpc s390 sparc
+
+all:	debian/control $(patsubst %,cross-%,$(TARGETS)) mingw32 mingw64
+
+clean:
+	rm -rf gmp mlton mingw* cross-* constants.c
+
+distclean:	clean
+	rm -rf gmp* *.deb mlton_*.orig.tar.gz *.tmp *~
+
+release:	distclean
+	tar cvzf ../mlton-cross_$(VERSION).orig.tar.gz \
+		--exclude .svn --exclude debian \
+		--transform "s@^@mlton-cross-$(VERSION)/@" \
+                                      *
+
+install:
+	for i in $(TARGETS); do \
+		cp -a cross-$$i/* $(DESTDIR)/mlton-target-`dpkg-architecture -a$$i -f -qDEB_HOST_GNU_TYPE 2>/dev/null | sed 's at _@- at g'`/; \
+	done
+	cp -a mingw32/* $(DESTDIR)/mlton-target-i586-mingw32msvc/
+	cp -a mingw64/* $(DESTDIR)/mlton-target-amd64-mingw32msvc/
+
+debian/control:	control.in
+	sed 's/VERSION/$(VERSION)-$(REVISION)/g' < $< > $@.tmp
+	mv $@.tmp $@
+
+.PRECIOUS: mlton_$(VERSION).orig.tar.gz
+mlton_$(VERSION).orig.tar.gz:
+	rm -f $@.tmp $@
+	wget -O $@.tmp "$(MIRROR)/pool/main/m/mlton/$@"
+	mv $@.tmp $@
+
+mlton:	mlton_$(VERSION).orig.tar.gz
+	rm -rf $@.tmp $@
+	mkdir $@.tmp
+	tar xvzfC $< $@.tmp mlton-$(VERSION)/runtime mlton-$(VERSION)/include mlton-$(VERSION)/bin
+	mv $@.tmp/mlton-$(VERSION) $@
+	rm -rf $@.tmp
+	touch $@
+
+gmp:
+	apt-get source libgmp3-dev
+	mv gmp-* gmp
+	cd gmp; patch -p1 < ../fix-gmp-win64.patch
+	cd gmp; autoconf
+
+%.staging/stamp:	mlton
+	mkdir -p $*.staging.tmp
+	cp -a mlton/* $*.staging.tmp
+	touch $*.staging.tmp/stamp
+	mv $*.staging.tmp $*.staging
+
+constants.c:
+	mlton -build-constants true > $@
+
+mingw32.staging/runtime/gmp.h:	mingw32.staging/stamp gmp
+	mkdir -p mingw32.staging/gmp.obj
+	cd mingw32.staging/gmp.obj; ../../gmp/configure ABI=32 --host=i586-mingw32msvc --enable-static --disable-shared
+	make -C mingw32.staging/gmp.obj DESTDIR=`pwd`/mingw32.staging/gmp.dest all install
+	cp mingw32.staging/gmp.dest/usr/local/include/gmp.h $@
+
+mingw32:	mingw32.staging/runtime/gmp.h constants.c
+	rm -rf $@.tmp $@
+	mkdir -p $@.tmp/usr/lib/mlton/targets/i586-mingw32msvc/include
+	mkdir -p $@.tmp/usr/lib/mlton/targets/i586-mingw32msvc/sml
+	make -C mingw32.staging/runtime TARGET=i586-mingw32msvc TARGET_ARCH=x86 TARGET_OS=mingw
+	cp mingw32.staging/runtime/gen/sizes mingw32.staging/runtime/*.a mingw32.staging/gmp.dest/usr/local/lib/libgmp.a $@.tmp/usr/lib/mlton/targets/i586-mingw32msvc
+	rm $@.tmp/usr/lib/mlton/targets/i586-mingw32msvc/*-gdb.a
+	cp mingw32.staging/runtime/gen/c-types.h mingw32.staging/runtime/gmp.h $@.tmp/usr/lib/mlton/targets/i586-mingw32msvc/include
+	cp mingw32.staging/runtime/gen/c-types.sml $@.tmp/usr/lib/mlton/targets/i586-mingw32msvc/sml
+	echo mingw > $@.tmp/usr/lib/mlton/targets/i586-mingw32msvc/os
+	echo x86 > $@.tmp/usr/lib/mlton/targets/i586-mingw32msvc/arch
+	i586-mingw32msvc-gcc -std=gnu99 -m32 -o mingw32.staging/constants -O1 -w -I /usr/lib/mlton/include -I $@.tmp/usr/lib/mlton/targets/i586-mingw32msvc/include -L $@.tmp/usr/lib/mlton/targets/i586-mingw32msvc constants.c -lmlton -lgmp -lgdtoa -lgmp -lm
+	./mingw32.staging/constants > $@.tmp/usr/lib/mlton/targets/i586-mingw32msvc/constants
+	mv $@.tmp $@
+	
+mingw64.staging/runtime/gmp.h:	mingw64.staging/stamp gmp
+	mkdir -p mingw64.staging/gmp.obj
+	cd mingw64.staging/gmp.obj; ../../gmp/configure ABI=64 --host=amd64-mingw32msvc --enable-static --disable-shared
+	make -C mingw64.staging/gmp.obj DESTDIR=`pwd`/mingw64.staging/gmp.dest all install
+	cp mingw64.staging/gmp.dest/usr/local/include/gmp.h $@
+
+mingw64:	mingw64.staging/runtime/gmp.h constants.c
+	rm -rf $@.tmp $@
+	mkdir -p $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc/include
+	mkdir -p $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc/sml
+	# work-around wine not yet supporting 64-bit
+	make -C mingw64.staging/runtime TARGET=amd64-mingw32msvc TARGET_ARCH=amd64 TARGET_OS=mingw gdtoa/arithchk.out util.o
+	cp win64/*types* mingw64.staging/runtime/gen
+	cp win64/arith.h mingw64.staging/runtime/gdtoa
+	make -C mingw64.staging/runtime TARGET=amd64-mingw32msvc TARGET_ARCH=amd64 TARGET_OS=mingw libmlton.a
+	cp win64/sizes mingw64.staging/runtime/gen
+	# end of work-around
+	make -C mingw64.staging/runtime TARGET=amd64-mingw32msvc TARGET_ARCH=amd64 TARGET_OS=mingw OMIT_BYTECODE=yes
+	cp mingw64.staging/runtime/gen/sizes mingw64.staging/runtime/*.a mingw64.staging/gmp.dest/usr/local/lib/libgmp.a $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc
+	rm $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc/*-gdb.a
+	cp mingw64.staging/runtime/gen/c-types.h mingw64.staging/runtime/gmp.h $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc/include
+	cp mingw64.staging/runtime/gen/c-types.sml $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc/sml
+	echo mingw > $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc/os
+	echo amd64 > $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc/arch
+	amd64-mingw32msvc-gcc -std=gnu99 -m64 -o mingw64.staging/constants -O1 -w -I /usr/lib/mlton/include -I $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc/include -L $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc constants.c -lmlton -lgmp -lgdtoa -lgmp -lm
+	# another no win64 work-around
+	cp win64/constants $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc/constants
+	#./mingw64.staging/constants > $@.tmp/usr/lib/mlton/targets/amd64-mingw32msvc/constants
+	mv $@.tmp $@
+
+.PRECIOUS: mlton_$(VERSION)-$(REVISION)_%.deb
+mlton_$(VERSION)-$(REVISION)_%.deb:
+	rm -f $@.tmp $@
+	wget -O $@.tmp "$(MIRROR)/pool/main/m/mlton/$@"
+	mv $@.tmp $@
+
+cross-%:	mlton_$(VERSION)-$(REVISION)_%.deb
+	rm -rf $@.tmp $@
+	mkdir $@.tmp
+	dpkg-deb --fsys-tarfile $< | tar xv -C $@.tmp ./usr/lib/mlton/targets/self
+	mv $@.tmp/usr/lib/mlton/targets/self $@.tmp/usr/lib/mlton/targets/$(shell dpkg-architecture -a$* -f -qDEB_HOST_GNU_TYPE 2>/dev/null)
+	mv $@.tmp $@

Added: mlton/trunk/package/mlton-cross/README
===================================================================
--- mlton/trunk/package/mlton-cross/README	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/README	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,22 @@
+mlton-cross
+-----------
+
+These packages add cross-compilation support to MLton.
+To use them, you will also need a cross-compiling gcc toolchain.
+
+For example, to setup a debian armel target, run:
+	apt-get install mlton-target-arm-linux-gnueabi
+	apt-cross -a armel -i libc6-dev libgmp3-dev
+	apt-get install gcc-4.4-arm-linux-gnueabi
+For an ia64 target:
+	apt-get install mlton-target-ia64-linux-gnu
+	apt-cross -a ia64 -i libc6.1-dev libgmp3-dev
+	apt-get install gcc-4.4-ia64-linux-gnu
+
+To use MLton to compile SML for armel/ia64, run:
+	mlton -target arm-linux-gnueabi myproject.mlb
+	mlton -target ia64-linux-gnu myproject.mlb
+
+Toolchains for win32/win64 should already be installed via dependencies.
+
+ -- Wesley W. Terpstra (Debian) <terpstra at debian.org>, Sun, 14 Feb 2010 03:47:12 +0200

Added: mlton/trunk/package/mlton-cross/control.in
===================================================================
--- mlton/trunk/package/mlton-cross/control.in	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/control.in	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,136 @@
+Source: mlton-cross
+Section: devel
+Priority: optional
+Maintainer: Wesley W. Terpstra (Debian) <terpstra at debian.org>
+Build-Depends: mlton (= VERSION), binfmt-support, wine-unstable, mingw-w64, gcc-mingw32, debhelper (>= 7.0.0), cdbs (>= 0.4.52), autoconf
+Standards-Version: 3.8.4.0
+
+Package: mlton-target-i586-mingw32msvc
+Architecture: all
+Depends: mlton (= VERSION)
+Recommends: gcc-mingw32, mingw32-runtime
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target i586-mingw32msvc to MLton.
+ Executables compiled with this option (on any system) will target
+ windows mingw win32.
+ 
+Package: mlton-target-amd64-mingw32msvc
+Architecture: all
+Depends: mlton (= VERSION)
+Recommends: gcc-mingw32, mingw-w64
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target amd64-mingw32msvc to MLton.
+ Executables compiled with this option (on any system) will target
+ windows mingw win64.
+
+Package: mlton-target-alpha-linux-gnu
+Architecture: all
+Depends: mlton (= VERSION), emdebian-tools
+Recommends: gcc-4.4-alpha-linux-gnu | c-compiler-alpha-linux-gnu, libc6.1-dev-alpha-cross, libgmp3-dev-alpha-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target alpha-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux alpha.
+
+Package: mlton-target-x86-64-linux-gnu
+Architecture: all
+Depends: mlton (= VERSION), emdebian-tools
+Recommends: gcc-4.4-x86-64-linux-gnu | c-compiler-x86-64-linux-gnu, libc6-dev-amd64-cross, libgmp3-dev-amd64-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target x86_64-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux amd64.
+
+Package: mlton-target-arm-linux-gnueabi
+Architecture: all
+Depends: mlton (= VERSION), emdebian-tools
+Recommends: gcc-4.4-arm-linux-gnueabi | c-compiler-arm-linux-gnueabi, libc6-dev-armel-cross, libgmp3-dev-armel-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target arm-linux-gnueabi to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux armel.
+
+Package: mlton-target-hppa-linux-gnu
+Architecture: all
+Depends: mlton (= VERSION), emdebian-tools
+Recommends: gcc-4.4-hppa-linux-gnu | c-compiler-hppa-linux-gnu, libc6-dev-hppa-cross, libgmp3-dev-hppa-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target hppa-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux hppa.
+
+Package: mlton-target-i486-linux-gnu
+Architecture: all
+Depends: mlton (= VERSION), emdebian-tools
+Recommends: gcc-4.4-i486-linux-gnu | c-compiler-i486-linux-gnu, libc6-dev-i386-cross, libgmp3-dev-i386-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target i486-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux i386.
+
+Package: mlton-target-ia64-linux-gnu
+Architecture: all
+Depends: mlton (= VERSION), emdebian-tools
+Recommends: gcc-4.4-ia64-linux-gnu | c-compiler-ia64-linux-gnu, libc6.1-dev-ia64-cross, libgmp3-dev-ia64-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target ia64-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux ia64.
+
+Package: mlton-target-mips-linux-gnu
+Architecture: all
+Depends: mlton (= VERSION), emdebian-tools
+Recommends: gcc-4.4-mips-linux-gnu | c-compiler-mips-linux-gnu, libc6-dev-mips-cross, libgmp3-dev-mips-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target mips-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux mips.
+
+Package: mlton-target-mipsel-linux-gnu
+Architecture: all
+Depends: mlton (= VERSION), emdebian-tools
+Recommends: gcc-4.4-mipsel-linux-gnu | c-compiler-mipsel-linux-gnu, libc6-dev-mipsel-cross, libgmp3-dev-mipsel-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target mipsel-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux mipsel.
+
+Package: mlton-target-powerpc-linux-gnu
+Architecture: all
+Depends: mlton (= VERSION), emdebian-tools
+Recommends: gcc-4.4-powerpc-linux-gnu | c-compiler-powerpc-linux-gnu, libc6-dev-powerpc-cross, libgmp3-dev-powerpc-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target powerpc-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux powerpc.
+
+Package: mlton-target-s390-linux-gnu
+Architecture: all
+Depends: mlton (= VERSION), emdebian-tools
+Recommends: gcc-4.4-s390-linux-gnu | c-compiler-s390-linux-gnu, libc6-dev-s390-cross, libgmp3-dev-s390-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target s390-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux s390.
+
+Package: mlton-target-sparc-linux-gnu
+Architecture: all
+Depends: mlton (= VERSION), emdebian-tools
+Recommends: gcc-4.4-sparc-linux-gnu | c-compiler-sparc-linux-gnu, libc6-dev-sparc-cross, libgmp3-dev-sparc-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target sparc-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux sparc.

Added: mlton/trunk/package/mlton-cross/debian/changelog
===================================================================
--- mlton/trunk/package/mlton-cross/debian/changelog	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/debian/changelog	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,5 @@
+mlton-cross (20100206~svn-r7414) unstable; urgency=low
+
+  * New package to ease building cross-compiled MLton programs.
+
+ -- Wesley W. Terpstra (Debian) <terpstra at debian.org>  Mon, 08 Feb 2010 20:22:20 +0100

Added: mlton/trunk/package/mlton-cross/debian/compat
===================================================================
--- mlton/trunk/package/mlton-cross/debian/compat	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/debian/compat	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1 @@
+7

Added: mlton/trunk/package/mlton-cross/debian/control
===================================================================
--- mlton/trunk/package/mlton-cross/debian/control	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/debian/control	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,136 @@
+Source: mlton-cross
+Section: devel
+Priority: optional
+Maintainer: Wesley W. Terpstra (Debian) <terpstra at debian.org>
+Build-Depends: mlton (= 20100206~svn-r7414), binfmt-support, wine-unstable, mingw-w64, gcc-mingw32, debhelper (>= 7.0.0), cdbs (>= 0.4.52), autoconf
+Standards-Version: 3.8.4.0
+
+Package: mlton-target-i586-mingw32msvc
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414)
+Recommends: gcc-mingw32, mingw32-runtime
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target i586-mingw32msvc to MLton.
+ Executables compiled with this option (on any system) will target
+ windows mingw win32.
+ 
+Package: mlton-target-amd64-mingw32msvc
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414)
+Recommends: gcc-mingw32, mingw-w64
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target amd64-mingw32msvc to MLton.
+ Executables compiled with this option (on any system) will target
+ windows mingw win64.
+
+Package: mlton-target-alpha-linux-gnu
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414), emdebian-tools
+Recommends: gcc-4.4-alpha-linux-gnu | c-compiler-alpha-linux-gnu, libc6.1-dev-alpha-cross, libgmp3-dev-alpha-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target alpha-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux alpha.
+
+Package: mlton-target-x86-64-linux-gnu
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414), emdebian-tools
+Recommends: gcc-4.4-x86-64-linux-gnu | c-compiler-x86-64-linux-gnu, libc6-dev-amd64-cross, libgmp3-dev-amd64-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target x86_64-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux amd64.
+
+Package: mlton-target-arm-linux-gnueabi
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414), emdebian-tools
+Recommends: gcc-4.4-arm-linux-gnueabi | c-compiler-arm-linux-gnueabi, libc6-dev-armel-cross, libgmp3-dev-armel-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target arm-linux-gnueabi to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux armel.
+
+Package: mlton-target-hppa-linux-gnu
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414), emdebian-tools
+Recommends: gcc-4.4-hppa-linux-gnu | c-compiler-hppa-linux-gnu, libc6-dev-hppa-cross, libgmp3-dev-hppa-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target hppa-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux hppa.
+
+Package: mlton-target-i486-linux-gnu
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414), emdebian-tools
+Recommends: gcc-4.4-i486-linux-gnu | c-compiler-i486-linux-gnu, libc6-dev-i386-cross, libgmp3-dev-i386-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target i486-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux i386.
+
+Package: mlton-target-ia64-linux-gnu
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414), emdebian-tools
+Recommends: gcc-4.4-ia64-linux-gnu | c-compiler-ia64-linux-gnu, libc6.1-dev-ia64-cross, libgmp3-dev-ia64-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target ia64-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux ia64.
+
+Package: mlton-target-mips-linux-gnu
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414), emdebian-tools
+Recommends: gcc-4.4-mips-linux-gnu | c-compiler-mips-linux-gnu, libc6-dev-mips-cross, libgmp3-dev-mips-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target mips-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux mips.
+
+Package: mlton-target-mipsel-linux-gnu
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414), emdebian-tools
+Recommends: gcc-4.4-mipsel-linux-gnu | c-compiler-mipsel-linux-gnu, libc6-dev-mipsel-cross, libgmp3-dev-mipsel-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target mipsel-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux mipsel.
+
+Package: mlton-target-powerpc-linux-gnu
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414), emdebian-tools
+Recommends: gcc-4.4-powerpc-linux-gnu | c-compiler-powerpc-linux-gnu, libc6-dev-powerpc-cross, libgmp3-dev-powerpc-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target powerpc-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux powerpc.
+
+Package: mlton-target-s390-linux-gnu
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414), emdebian-tools
+Recommends: gcc-4.4-s390-linux-gnu | c-compiler-s390-linux-gnu, libc6-dev-s390-cross, libgmp3-dev-s390-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target s390-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux s390.
+
+Package: mlton-target-sparc-linux-gnu
+Architecture: all
+Depends: mlton (= 20100206~svn-r7414), emdebian-tools
+Recommends: gcc-4.4-sparc-linux-gnu | c-compiler-sparc-linux-gnu, libc6-dev-sparc-cross, libgmp3-dev-sparc-cross
+Homepage: http://mlton.org/
+Description: Cross-compiler support files for MLton
+ This package adds support for -target sparc-linux-gnu to MLton.
+ Executables compiled with this option (on any system) will target
+ debian linux sparc.

Added: mlton/trunk/package/mlton-cross/debian/copyright
===================================================================
--- mlton/trunk/package/mlton-cross/debian/copyright	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/debian/copyright	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,102 @@
+This package was debianized by "Wesley W. Terpstra (Debian)" <terpstra at debian.org>.
+
+Upstream Authors:
+ 
+   See http://mlton.org/Developers
+
+   To send a comment, question, or bug report to MLton's authors, use
+   MLton at mlton.org.
+
+MLton's copyright is held in part by the NEC Research Institute.  It
+is released under a BSD-style license.
+
+   MLton COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
+   
+   Copyright (C) 1999-2009 Henry Cejtin, Matthew Fluet, Suresh
+      Jagannathan, and Stephen Weeks.
+   Copyright (c) 1997-2000 by the NEC Research Institute
+   
+   Permission to use, copy, modify, and distribute this software and its
+   documentation for any purpose and without fee is hereby granted,
+   provided that the above copyright notice appear in all copies and that
+   both the copyright notice and this permission notice and warranty
+   disclaimer appear in supporting documentation, and that the name of
+   NEC, or any NEC entity not be used in advertising or publicity
+   pertaining to distribution of the software without specific, written
+   prior permission.
+
+   The above copyright holders disclaim all warranties with regard to
+   this software, including all implied warranties of merchantability and
+   fitness. In no event shall the above copyright holders be liable for
+   any special, indirect or consequential damages or any damages
+   whatsoever resulting from loss of use, data or profits, whether in an
+   action of contract, negligence or other tortious action, arising out
+   of or in connection with the use or performance of this software.
+
+The following portions of the software are derived from the Standard ML
+of New Jersey compiler:
+
+  front-end mllex specification, front-end mlyacc specification,
+  precedence parser, CM lexer and parser
+
+Parts of MLton's Basis Library are derived from the following portions
+of the Basis Library code of the SMLNJ compiler:
+
+  OS.IO, Posix.IO, Process, and Unix
+
+The following utilities and libraries are derived from the SMLNJ system:
+
+  mllex, mlyacc and MLYacc Library, Concurrent ML Library, SML/NJ
+  Library, CKit Library, mlnlffigen and MLNLFFI Library
+
+SMLNJ's copyright is held by Lucent Technologies.  It was released
+under a BSD-style license.
+
+   STANDARD ML OF NEW JERSEY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
+
+   Copyright (c) 1989-1998 by Lucent Technologies
+
+   Permission to use, copy, modify, and distribute this software and its
+   documentation for any purpose and without fee is hereby granted,
+   provided that the above copyright notice appear in all copies and that
+   both the copyright notice and this permission notice and warranty
+   disclaimer appear in supporting documentation, and that the name of
+   Lucent Technologies, Bell Labs or any Lucent entity not be used in
+   advertising or publicity pertaining to distribution of the software
+   without specific, written prior permission.
+
+   Lucent disclaims all warranties with regard to this software,
+   including all implied warranties of merchantability and fitness. In no
+   event shall Lucent be liable for any special, indirect or
+   consequential damages or any damages whatsoever resulting from loss of
+   use, data or profits, whether in an action of contract, negligence or
+   other tortious action, arising out of or in connection with the use
+   or performance of this software.
+
+Parts of MLton's Basis Library are derived from the following portions
+of the Basis Library code of the ML Kit compiler:
+
+   Path, Time, and Date
+
+The ML Kit Basis Bibrary is distributed under the MIT License.
+
+   Copyright (c) 2004 IT University of Copenhagen
+   
+   Permission is hereby granted, free of charge, to any person obtaining
+   a copy of this software and associated documentation files (the
+   "Software"), to deal in the Software without restriction, including
+   without limitation the rights to use, copy, modify, merge, publish,
+   distribute, sublicense, and/or sell copies of the Software, and to
+   permit persons to whom the Software is furnished to do so, subject to
+   the following conditions:
+   
+   The above copyright notice and this permission notice shall be
+   included in all copies or substantial portions of the Software.
+   
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+   LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+   OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+   WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Added: mlton/trunk/package/mlton-cross/debian/rules
===================================================================
--- mlton/trunk/package/mlton-cross/debian/rules	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/debian/rules	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,10 @@
+#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/makefile.mk
+
+DEB_STRIP_EXCLUDE = .a
+
+DEB_MAKE_CLEAN_TARGET   = distclean
+DEB_MAKE_BUILD_TARGET   = all
+DEB_MAKE_INSTALL_TARGET = install DESTDIR=$(CURDIR)/debian


Property changes on: mlton/trunk/package/mlton-cross/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: mlton/trunk/package/mlton-cross/fix-gmp-win64.patch
===================================================================
--- mlton/trunk/package/mlton-cross/fix-gmp-win64.patch	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/fix-gmp-win64.patch	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,275 @@
+this patch applies to gmp-4.3.2.
+this is already in the gmp-5.x versions, but not in the gmp-4.3.x.
+
+# HG changeset patch
+# User Torbjorn Granlund <tege at gmplib.org>
+# Date 1252935940 -7200
+# Node ID 54f1b4ef7c7cff1437aed25a137269bb808eb84f
+# Parent  568147bd9e53d8244a40d45ae6755def8d6e00d4
+Initial mingw64 support.
+
+2009-09-14  Torbjorn Granlund  <tege at gmplib.org>
+
+	* configure.in: Handle mingw64.
+	* gmp-impl.h (gmp_intptr_t): Declare.
+	* tests/amd64check.c (calling_conventions_values): Use CNST_LIMB.
+	* tests/memory.c: Use gmp_intptr_t; print pointers using C90 "%p".
+	* tests/misc.c: Use gmp_intptr_t.
+	* tests/mpq/t-get_str.c: Print pointers using C90 "%p".
+
+--- a/configure.in	Wed Aug 12 17:26:19 2009 +0200
++++ b/configure.in	Mon Sep 14 15:45:40 2009 +0200
+@@ -1467,14 +1467,6 @@
+         SPEED_CYCLECOUNTER_OBJ_64=x86_64.lo
+         cyclecounter_size_64=2
+ 
+-        case $host in
+-          *-*-solaris*)
+-            # Sun cc.
+-            cclist_64="$cclist_64 cc"
+-            cc_64_cflags="-xO3 -m64"
+-            ;;
+-        esac
+-
+ 	case $host_cpu in
+ 	  athlon64 | x86_64)
+ 	    abilist="64 32"
+@@ -1494,6 +1486,20 @@
+ 	    path_64="x86_64/atom x86_64"
+ 	    ;;
+ 	esac
++
++        case $host in
++          *-*-solaris*)
++            # Sun cc.
++            cclist_64="$cclist_64 cc"
++            cc_64_cflags="-xO3 -m64"
++            ;;
++	  *-*-mingw*)
++    	    limb_64=longlong
++    	    path_64=""	# Windows amd64 calling conventions are *different*
++    	    # Silence many pedantic warnings for w64.  FIXME.
++    	    gcc_64_cflags="$gcc_64_cflags -std=gnu99"
++            ;;
++        esac
+ 	;;
+     esac
+     ;;
+@@ -3099,6 +3105,8 @@
+ # of any sensible system.  In a generic C build, grepping LONG_BIT out of
+ # <limits.h> might be an alternative, for maximum portability.
+ #
++AC_CHECK_TYPES(intptr_t)
++AC_CHECK_SIZEOF(void *)
+ AC_CHECK_SIZEOF(unsigned short)
+ AC_CHECK_SIZEOF(unsigned)
+ AC_CHECK_SIZEOF(unsigned long)
+--- a/gmp-impl.h	Wed Aug 12 17:26:19 2009 +0200
++++ b/gmp-impl.h	Mon Sep 14 15:45:40 2009 +0200
+@@ -198,6 +198,14 @@
+ #endif
+ 
+ 
++/* gmp_intptr_t, for pointer to integer casts */
++#if HAVE_INTPTR_T
++typedef intptr_t            gmp_intptr_t;
++#else /* fallback */
++typedef size_t              gmp_intptr_t;
++#endif
++
++
+ /* const and signed must match __gmp_const and __gmp_signed, so follow the
+    decision made for those in gmp.h.    */
+ #if ! __GMP_HAVE_CONST
+--- a/tests/amd64check.c	Wed Aug 12 17:26:19 2009 +0200
++++ b/tests/amd64check.c	Mon Sep 14 15:45:40 2009 +0200
+@@ -25,18 +25,18 @@
+ 
+ /* Vector if constants and register values.  We use one vector to allow access
+    via a base pointer, very beneficial for the PIC-enabled amd64call.asm.  */
+-long calling_conventions_values[23] =
++mp_limb_t calling_conventions_values[23] =
+ {
+-  0x1234567887654321L,		/* want_rbx */
+-  0x89ABCDEFFEDCBA98L,		/* want_rbp */
+-  0xDEADBEEFBADECAFEL,		/* want_r12 */
+-  0xFFEEDDCCBBAA9988L,		/* want_r13 */
+-  0x0011223344556677L,		/* want_r14 */
+-  0x1234432156788765L,		/* want_r15 */
++  CNST_LIMB(0x1234567887654321),	/* want_rbx */
++  CNST_LIMB(0x89ABCDEFFEDCBA98),	/* want_rbp */
++  CNST_LIMB(0xDEADBEEFBADECAFE),	/* want_r12 */
++  CNST_LIMB(0xFFEEDDCCBBAA9988),	/* want_r13 */
++  CNST_LIMB(0x0011223344556677),	/* want_r14 */
++  CNST_LIMB(0x1234432156788765),	/* want_r15 */
+ 
+-  0xFEEDABBACAAFBEED,		/* JUNK_RAX */
+-  0xAB78DE89FF5125BB,		/* JUNK_R10 */
+-  0x1238901890189031		/* JUNK_R11 */
++  CNST_LIMB(0xFEEDABBACAAFBEED),	/* JUNK_RAX */
++  CNST_LIMB(0xAB78DE89FF5125BB),	/* JUNK_R10 */
++  CNST_LIMB(0x1238901890189031)		/* JUNK_R11 */
+ 
+   /* rest of array used for dynamic values.  */
+ };
+--- a/tests/memory.c	Wed Aug 12 17:26:19 2009 +0200
++++ b/tests/memory.c	Mon Sep 14 15:45:40 2009 +0200
+@@ -88,12 +88,12 @@
+   tests_memory_list = h;
+ 
+   rptr = __gmp_default_allocate (size + 2 * sizeof (mp_limb_t));
+-  ptr = (void *) ((long) rptr + sizeof (mp_limb_t));
++  ptr = (void *) ((gmp_intptr_t) rptr + sizeof (mp_limb_t));
+ 
+-  *((mp_limb_t *) ((long) ptr - sizeof (mp_limb_t)))
++  *((mp_limb_t *) ((gmp_intptr_t) ptr - sizeof (mp_limb_t)))
+     = PATTERN1 - ((mp_limb_t) ptr);
+   PATTERN2_var = PATTERN2 - ((mp_limb_t) ptr);
+-  memcpy ((void *) ((long) ptr + size), &PATTERN2_var, sizeof (mp_limb_t));
++  memcpy ((void *) ((gmp_intptr_t) ptr + size), &PATTERN2_var, sizeof (mp_limb_t));
+ 
+   h->size = size;
+   h->ptr = ptr;
+@@ -109,16 +109,16 @@
+ 
+   if (new_size == 0)
+     {
+-      fprintf (stderr, "tests_reallocate(): attempt to reallocate 0x%lX to 0 bytes\n",
+-	       (unsigned long) ptr);
++      fprintf (stderr, "tests_reallocate(): attempt to reallocate %p to 0 bytes\n",
++	       ptr);
+       abort ();
+     }
+ 
+   hp = tests_memory_find (ptr);
+   if (hp == NULL)
+     {
+-      fprintf (stderr, "tests_reallocate(): attempt to reallocate bad pointer 0x%lX\n",
+-	       (unsigned long) ptr);
++      fprintf (stderr, "tests_reallocate(): attempt to reallocate bad pointer %p\n",
++	       ptr);
+       abort ();
+     }
+   h = *hp;
+@@ -130,28 +130,28 @@
+       abort ();
+     }
+ 
+-  if (*((mp_limb_t *) ((long) ptr - sizeof (mp_limb_t)))
++  if (*((mp_limb_t *) ((gmp_intptr_t) ptr - sizeof (mp_limb_t)))
+       != PATTERN1 - ((mp_limb_t) ptr))
+     {
+       fprintf (stderr, "in realloc: redzone clobbered before block\n");
+       abort ();
+     }
+   PATTERN2_var = PATTERN2 - ((mp_limb_t) ptr);
+-  if (memcmp ((void *) ((long) ptr + h->size), &PATTERN2_var, sizeof (mp_limb_t)))
++  if (memcmp ((void *) ((gmp_intptr_t) ptr + h->size), &PATTERN2_var, sizeof (mp_limb_t)))
+     {
+       fprintf (stderr, "in realloc: redzone clobbered after block\n");
+       abort ();
+     }
+ 
+-  rptr = __gmp_default_reallocate ((void *) ((long) ptr - sizeof (mp_limb_t)),
++  rptr = __gmp_default_reallocate ((void *) ((gmp_intptr_t) ptr - sizeof (mp_limb_t)),
+ 				 old_size + 2 * sizeof (mp_limb_t),
+ 				 new_size + 2 * sizeof (mp_limb_t));
+-  ptr = (void *) ((long) rptr + sizeof (mp_limb_t));
++  ptr = (void *) ((gmp_intptr_t) rptr + sizeof (mp_limb_t));
+ 
+-  *((mp_limb_t *) ((long) ptr - sizeof (mp_limb_t)))
++  *((mp_limb_t *) ((gmp_intptr_t) ptr - sizeof (mp_limb_t)))
+     = PATTERN1 - ((mp_limb_t) ptr);
+   PATTERN2_var = PATTERN2 - ((mp_limb_t) ptr);
+-  memcpy ((void *) ((long) ptr + new_size), &PATTERN2_var, sizeof (mp_limb_t));
++  memcpy ((void *) ((gmp_intptr_t) ptr + new_size), &PATTERN2_var, sizeof (mp_limb_t));
+ 
+   h->size = new_size;
+   h->ptr = ptr;
+@@ -164,8 +164,8 @@
+   struct header  **hp = tests_memory_find (ptr);
+   if (hp == NULL)
+     {
+-      fprintf (stderr, "tests_free(): attempt to free bad pointer 0x%lX\n",
+-	       (unsigned long) ptr);
++      fprintf (stderr, "tests_free(): attempt to free bad pointer %p\n",
++	       ptr);
+       abort ();
+     }
+   return hp;
+@@ -180,20 +180,20 @@
+ 
+   *hp = h->next;  /* unlink */
+ 
+-  if (*((mp_limb_t *) ((long) ptr - sizeof (mp_limb_t)))
++  if (*((mp_limb_t *) ((gmp_intptr_t) ptr - sizeof (mp_limb_t)))
+       != PATTERN1 - ((mp_limb_t) ptr))
+     {
+       fprintf (stderr, "in free: redzone clobbered before block\n");
+       abort ();
+     }
+   PATTERN2_var = PATTERN2 - ((mp_limb_t) ptr);
+-  if (memcmp ((void *) ((long) ptr + h->size), &PATTERN2_var, sizeof (mp_limb_t)))
++  if (memcmp ((void *) ((gmp_intptr_t) ptr + h->size), &PATTERN2_var, sizeof (mp_limb_t)))
+     {
+       fprintf (stderr, "in free: redzone clobbered after block\n");
+       abort ();
+     }
+ 
+-  __gmp_default_free ((void *) ((long) ptr - sizeof(mp_limb_t)),
++  __gmp_default_free ((void *) ((gmp_intptr_t) ptr - sizeof(mp_limb_t)),
+ 		      h->size + 2 * sizeof (mp_limb_t));
+   __gmp_default_free (h, sizeof (*h));
+ }
+--- a/tests/misc.c	Wed Aug 12 17:26:19 2009 +0200
++++ b/tests/misc.c	Mon Sep 14 15:45:40 2009 +0200
+@@ -132,8 +132,8 @@
+ void *
+ align_pointer (void *p, size_t align)
+ {
+-  unsigned long  d;
+-  d = ((unsigned long) p) & (align-1);
++  gmp_intptr_t d;
++  d = ((gmp_intptr_t) p) & (align-1);
+   d = (d != 0 ? align-d : 0);
+   return (void *) (((char *) p) + d);
+ }
+--- a/tests/mpq/t-get_str.c	Wed Aug 12 17:26:19 2009 +0200
++++ b/tests/mpq/t-get_str.c	Mon Sep 14 15:45:40 2009 +0200
+@@ -65,8 +65,8 @@
+     {
+       printf ("mpq_get_str wrong return value (passing non-NULL)\n");
+       printf ("  base %d\n", base);
+-      printf ("  got  0x%lX\n", (unsigned long) ret);
+-      printf ("  want 0x%lX\n", (unsigned long) want);
++      printf ("  got  %p\n", ret);
++      printf ("  want %p\n", want);
+       abort ();
+     }
+   if (strcmp (str, want) != 0)
+
+
+=== these two files are regenerated using autoconf-2.61.
+
+--- a/config.in	2010-01-07 22:09:40.000000000 +0200
++++ b/config.in	2010-01-08 19:20:01.000000000 +0200
+@@ -161,6 +161,9 @@
+ /* Define to 1 if the system has the type `intmax_t'. */
+ #undef HAVE_INTMAX_T
+ 
++/* Define to 1 if the system has the type `intptr_t'. */
++#undef HAVE_INTPTR_T
++
+ /* Define to 1 if you have the <inttypes.h> header file. */
+ #undef HAVE_INTTYPES_H
+ 
+@@ -459,6 +462,9 @@
+ /* The size of `unsigned short', as computed by sizeof. */
+ #undef SIZEOF_UNSIGNED_SHORT
+ 
++/* The size of `void *', as computed by sizeof. */
++#undef SIZEOF_VOID_P
++
+ /* Define to 1 if sscanf requires writable inputs */
+ #undef SSCANF_WRITABLE_INPUT
+ 

Added: mlton/trunk/package/mlton-cross/win64/arith.h
===================================================================
--- mlton/trunk/package/mlton-cross/win64/arith.h	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/win64/arith.h	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,6 @@
+#define IEEE_8087
+#define Arith_Kind_ASL 1
+#define Long int
+#define Intcast (int)(long)
+#define Double_Align
+#define X64_bit_pointers

Added: mlton/trunk/package/mlton-cross/win64/c-types.h
===================================================================
--- mlton/trunk/package/mlton-cross/win64/c-types.h	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/win64/c-types.h	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,86 @@
+/* Copyright (C) 2004-2007 Henry Cejtin, Matthew Fluet, Suresh
+ *    Jagannathan, and Stephen Weeks.
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ */
+
+#ifndef _MLTON_CTYPES_H_
+#define _MLTON_CTYPES_H_
+
+
+/* C */
+typedef /* _Bool */ Word8_t C_Bool_t;
+typedef /* char */ Int8_t C_Char_t;
+typedef /* signed char */ Int8_t C_SChar_t;
+typedef /* unsigned char */ Word8_t C_UChar_t;
+typedef /* short */ Int16_t C_Short_t;
+typedef /* signed short */ Int16_t C_SShort_t;
+typedef /* unsigned short */ Word16_t C_UShort_t;
+typedef /* int */ Int32_t C_Int_t;
+typedef /* signed int */ Int32_t C_SInt_t;
+typedef /* unsigned int */ Word32_t C_UInt_t;
+typedef /* long */ Int32_t C_Long_t;
+typedef /* signed long */ Int32_t C_SLong_t;
+typedef /* unsigned long */ Word32_t C_ULong_t;
+typedef /* long long */ Int64_t C_LongLong_t;
+typedef /* signed long long */ Int64_t C_SLongLong_t;
+typedef /* unsigned long long */ Word64_t C_ULongLong_t;
+typedef /* float */ Real32_t C_Float_t;
+typedef /* double */ Real64_t C_Double_t;
+typedef /* size_t */ Word64_t C_Size_t;
+
+typedef /* unsigned char* */ Word64_t C_Pointer_t;
+typedef /* char* */ Word64_t C_String_t;
+typedef /* char** */ Word64_t C_StringArray_t;
+
+/* Generic integers */
+typedef C_Int_t C_Fd_t;
+typedef C_Int_t C_Signal_t;
+typedef C_Int_t C_Status_t;
+typedef C_Int_t C_Sock_t;
+
+/* C99 */
+typedef /* ptrdiff_t */ Int64_t C_Ptrdiff_t;
+typedef /* intmax_t */ Int64_t C_Intmax_t;
+typedef /* uintmax_t */ Word64_t C_UIntmax_t;
+typedef /* intptr_t */ Int64_t C_Intptr_t;
+typedef /* uintptr_t */ Word64_t C_UIntptr_t;
+
+/* from <dirent.h> */
+typedef /* DIR* */ Word64_t C_DirP_t;
+
+/* from <poll.h> */
+typedef /* MLton_nfds_t */ Word32_t C_NFds_t;
+
+/* from <resource.h> */
+typedef /* MLton_rlim_t */ Word32_t C_RLim_t;
+
+/* from <sys/types.h> */
+typedef /* clock_t */ Int32_t C_Clock_t;
+typedef /* dev_t */ Word32_t C_Dev_t;
+typedef /* MLton_gid_t */ Word16_t C_GId_t;
+typedef /* ino_t */ Word16_t C_INo_t;
+typedef /* mode_t */ Word16_t C_Mode_t;
+typedef /* MLton_nlink_t */ Int16_t C_NLink_t;
+typedef /* off_t */ Int32_t C_Off_t;
+typedef /* pid_t */ Int64_t C_PId_t;
+typedef /* ssize_t */ Int64_t C_SSize_t;
+typedef /* MLton_suseconds_t */ Int32_t C_SUSeconds_t;
+typedef /* time_t */ Int64_t C_Time_t;
+typedef /* MLton_uid_t */ Word16_t C_UId_t;
+
+/* from <sys/socket.h> */
+typedef /* socklen_t */ Int32_t C_Socklen_t;
+
+/* from <termios.h> */
+typedef /* MLton_cc_t */ Word8_t C_CC_t;
+typedef /* MLton_speed_t */ Word32_t C_Speed_t;
+typedef /* MLton_tcflag_t */ Word32_t C_TCFlag_t;
+
+/* from "gmp.h" */
+typedef /* mp_limb_t */ Word64_t C_MPLimb_t;
+
+#define C_Errno_t(t) t
+
+#endif /* _MLTON_CTYPES_H_ */

Added: mlton/trunk/package/mlton-cross/win64/c-types.sml
===================================================================
--- mlton/trunk/package/mlton-cross/win64/c-types.sml	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/win64/c-types.sml	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,130 @@
+(* Copyright (C) 2004-2007 Henry Cejtin, Matthew Fluet, Suresh
+ *    Jagannathan, and Stephen Weeks.
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ *)
+
+
+(* C *)
+structure C_Bool = WordToBool (type t = Word8.word val zero: t = 0wx0 val one: t = 0wx1)
+structure C_Char = struct open Int8 type t = int end
+functor C_Char_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int8 (A)
+structure C_SChar = struct open Int8 type t = int end
+functor C_SChar_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int8 (A)
+structure C_UChar = struct open Word8 type t = word end
+functor C_UChar_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word8 (A)
+structure C_Short = struct open Int16 type t = int end
+functor C_Short_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int16 (A)
+structure C_SShort = struct open Int16 type t = int end
+functor C_SShort_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int16 (A)
+structure C_UShort = struct open Word16 type t = word end
+functor C_UShort_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word16 (A)
+structure C_Int = struct open Int32 type t = int end
+functor C_Int_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_SInt = struct open Int32 type t = int end
+functor C_SInt_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_UInt = struct open Word32 type t = word end
+functor C_UInt_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_Long = struct open Int32 type t = int end
+functor C_Long_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_SLong = struct open Int32 type t = int end
+functor C_SLong_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_ULong = struct open Word32 type t = word end
+functor C_ULong_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_LongLong = struct open Int64 type t = int end
+functor C_LongLong_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_SLongLong = struct open Int64 type t = int end
+functor C_SLongLong_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_ULongLong = struct open Word64 type t = word end
+functor C_ULongLong_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+structure C_Float = struct open Real32 type t = real end
+functor C_Float_ChooseRealN (A: CHOOSE_REALN_ARG) = ChooseRealN_Real32 (A)
+structure C_Double = struct open Real64 type t = real end
+functor C_Double_ChooseRealN (A: CHOOSE_REALN_ARG) = ChooseRealN_Real64 (A)
+structure C_Size = struct open Word64 type t = word end
+functor C_Size_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+
+structure C_Pointer = struct open Word64 type t = word end
+functor C_Pointer_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+structure C_String = struct open Word64 type t = word end
+functor C_String_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+structure C_StringArray = struct open Word64 type t = word end
+functor C_StringArray_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+
+(* Generic integers *)
+structure C_Fd = C_Int
+functor C_Fd_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
+structure C_Signal = C_Int
+functor C_Signal_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
+structure C_Status = C_Int
+functor C_Status_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
+structure C_Sock = C_Int
+functor C_Sock_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
+
+(* C99 *)
+structure C_Ptrdiff = struct open Int64 type t = int end
+functor C_Ptrdiff_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_Intmax = struct open Int64 type t = int end
+functor C_Intmax_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_UIntmax = struct open Word64 type t = word end
+functor C_UIntmax_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+structure C_Intptr = struct open Int64 type t = int end
+functor C_Intptr_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_UIntptr = struct open Word64 type t = word end
+functor C_UIntptr_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+
+(* from <dirent.h> *)
+structure C_DirP = struct open Word64 type t = word end
+functor C_DirP_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+
+(* from <poll.h> *)
+structure C_NFds = struct open Word32 type t = word end
+functor C_NFds_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+
+(* from <resource.h> *)
+structure C_RLim = struct open Word32 type t = word end
+functor C_RLim_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+
+(* from <sys/types.h> *)
+structure C_Clock = struct open Int32 type t = int end
+functor C_Clock_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_Dev = struct open Word32 type t = word end
+functor C_Dev_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_GId = struct open Word16 type t = word end
+functor C_GId_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word16 (A)
+structure C_INo = struct open Word16 type t = word end
+functor C_INo_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word16 (A)
+structure C_Mode = struct open Word16 type t = word end
+functor C_Mode_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word16 (A)
+structure C_NLink = struct open Int16 type t = int end
+functor C_NLink_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int16 (A)
+structure C_Off = struct open Int32 type t = int end
+functor C_Off_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_PId = struct open Int64 type t = int end
+functor C_PId_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_SSize = struct open Int64 type t = int end
+functor C_SSize_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_SUSeconds = struct open Int32 type t = int end
+functor C_SUSeconds_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_Time = struct open Int64 type t = int end
+functor C_Time_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_UId = struct open Word16 type t = word end
+functor C_UId_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word16 (A)
+
+(* from <sys/socket.h> *)
+structure C_Socklen = struct open Int32 type t = int end
+functor C_Socklen_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+
+(* from <termios.h> *)
+structure C_CC = struct open Word8 type t = word end
+functor C_CC_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word8 (A)
+structure C_Speed = struct open Word32 type t = word end
+functor C_Speed_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_TCFlag = struct open Word32 type t = word end
+functor C_TCFlag_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+
+(* from "gmp.h" *)
+structure C_MPLimb = struct open Word64 type t = word end
+functor C_MPLimb_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+

Added: mlton/trunk/package/mlton-cross/win64/constants
===================================================================
--- mlton/trunk/package/mlton-cross/win64/constants	2010-02-15 16:58:09 UTC (rev 7420)
+++ mlton/trunk/package/mlton-cross/win64/constants	2010-02-17 15:06:15 UTC (rev 7421)
@@ -0,0 +1,548 @@
+stackTop_Offset = 16
+stackLimit_Offset = 24
+stackBottom_Offset = 864
+signalsInfo.signalIsPending_Offset = 764
+maxFrameSize_Offset = 620
+limitPlusSlop_Offset = 600
+limit_Offset = 8
+generationalMaps.cardMapAbsolute_Offset = 456
+frontier_Offset = 0
+exnStack_Offset = 32
+sourceMaps.curSourceSeqsIndex_Offset = 776
+currentThread_Offset = 392
+atomicState_Offset = 68
+stackTop_Size = 8
+stackLimit_Size = 8
+stackBottom_Size = 8
+signalsInfo.signalIsPending_Size = 4
+maxFrameSize_Size = 4
+limitPlusSlop_Size = 8
+limit_Size = 8
+generationalMaps.cardMapAbsolute_Size = 8
+frontier_Size = 8
+exnStack_Size = 8
+sourceMaps.curSourceSeqsIndex_Size = 4
+currentThread_Size = 8
+atomicState_Size = 4
+MLton_Platform_Arch_host = amd64
+MLton_Platform_Arch_bigendian = false
+MLton_Platform_OS_host = mingw
+IEEEReal_FloatClass_FP_INFINITE = 1280
+IEEEReal_FloatClass_FP_NAN = 256
+IEEEReal_FloatClass_FP_NORMAL = 1024
+IEEEReal_FloatClass_FP_SUBNORMAL = 17408
+IEEEReal_FloatClass_FP_ZERO = 16384
+IEEEReal_RoundingMode_FE_DOWNWARD = 1
+IEEEReal_RoundingMode_FE_NOSUPPORT = 4294967295
+IEEEReal_RoundingMode_FE_TONEAREST = 0
+IEEEReal_RoundingMode_FE_TOWARDZERO = 3
+IEEEReal_RoundingMode_FE_UPWARD = 2
+MLton_Itimer_PROF = 2
+MLton_Itimer_REAL = 0
+MLton_Itimer_VIRTUAL = 1
+MLton_Rlimit_AS = 6
+MLton_Rlimit_CORE = 4
+MLton_Rlimit_CPU = 0
+MLton_Rlimit_DATA = 2
+MLton_Rlimit_FSIZE = 1
+MLton_Rlimit_INFINITY = 4294967295
+MLton_Rlimit_MEMLOCK = 4294967295
+MLton_Rlimit_NOFILE = 5
+MLton_Rlimit_NPROC = 4294967295
+MLton_Rlimit_RSS = 4294967295
+MLton_Rlimit_STACK = 3
+MLton_Syslog_Facility_LOG_AUTH = 1
+MLton_Syslog_Facility_LOG_CRON = 2
+MLton_Syslog_Facility_LOG_DAEMON = 3
+MLton_Syslog_Facility_LOG_KERN = 4
+MLton_Syslog_Facility_LOG_LOCAL0 = 5
+MLton_Syslog_Facility_LOG_LOCAL1 = 6
+MLton_Syslog_Facility_LOG_LOCAL2 = 7
+MLton_Syslog_Facility_LOG_LOCAL3 = 8
+MLton_Syslog_Facility_LOG_LOCAL4 = 9
+MLton_Syslog_Facility_LOG_LOCAL5 = 10
+MLton_Syslog_Facility_LOG_LOCAL6 = 11
+MLton_Syslog_Facility_LOG_LOCAL7 = 12
+MLton_Syslog_Facility_LOG_LPR = 13
+MLton_Syslog_Facility_LOG_MAIL = 14
+MLton_Syslog_Facility_LOG_NEWS = 15
+MLton_Syslog_Facility_LOG_SYSLOG = 16
+MLton_Syslog_Facility_LOG_USER = 17
+MLton_Syslog_Facility_LOG_UUCP = 18
+MLton_Syslog_Logopt_LOG_CONS = 2
+MLton_Syslog_Logopt_LOG_NDELAY = 8
+MLton_Syslog_Logopt_LOG_NOWAIT = 16
+MLton_Syslog_Logopt_LOG_ODELAY = 4
+MLton_Syslog_Logopt_LOG_PERROR = 32
+MLton_Syslog_Logopt_LOG_PID = 1
+MLton_Syslog_Severity_LOG_ALERT = 6
+MLton_Syslog_Severity_LOG_CRIT = 5
+MLton_Syslog_Severity_LOG_DEBUG = 0
+MLton_Syslog_Severity_LOG_EMERG = 7
+MLton_Syslog_Severity_LOG_ERR = 4
+MLton_Syslog_Severity_LOG_INFO = 1
+MLton_Syslog_Severity_LOG_NOTICE = 2
+MLton_Syslog_Severity_LOG_WARNING = 3
+NetHostDB_INADDR_ANY = 0
+NetHostDB_inAddrSize = 4
+OS_IO_POLLIN = 1
+OS_IO_POLLOUT = 4
+OS_IO_POLLPRI = 2
+Posix_Error_E2BIG = 7
+Posix_Error_EACCES = 13
+Posix_Error_EADDRINUSE = 10048
+Posix_Error_EADDRNOTAVAIL = 10049
+Posix_Error_EAFNOSUPPORT = 10047
+Posix_Error_EAGAIN = 11
+Posix_Error_EALREADY = 10037
+Posix_Error_EBADF = 9
+Posix_Error_EBADMSG = 77
+Posix_Error_EBUSY = 16
+Posix_Error_ECANCELED = 10103
+Posix_Error_ECHILD = 10
+Posix_Error_ECONNABORTED = 10053
+Posix_Error_ECONNREFUSED = 10061
+Posix_Error_ECONNRESET = 10054
+Posix_Error_EDEADLK = 36
+Posix_Error_EDESTADDRREQ = 10039
+Posix_Error_EDOM = 33
+Posix_Error_EDQUOT = 10069
+Posix_Error_EEXIST = 17
+Posix_Error_EFAULT = 14
+Posix_Error_EFBIG = 27
+Posix_Error_EHOSTUNREACH = 10065
+Posix_Error_EIDRM = 4294967295
+Posix_Error_EILSEQ = 42
+Posix_Error_EINPROGRESS = 10036
+Posix_Error_EINTR = 4
+Posix_Error_EINVAL = 22
+Posix_Error_EIO = 5
+Posix_Error_EISCONN = 10056
+Posix_Error_EISDIR = 21
+Posix_Error_ELOOP = 10062
+Posix_Error_EMFILE = 24
+Posix_Error_EMLINK = 31
+Posix_Error_EMSGSIZE = 10040
+Posix_Error_EMULTIHOP = 4294967295
+Posix_Error_ENAMETOOLONG = 38
+Posix_Error_ENETDOWN = 10050
+Posix_Error_ENETRESET = 10052
+Posix_Error_ENETUNREACH = 10051
+Posix_Error_ENFILE = 23
+Posix_Error_ENOBUFS = 10055
+Posix_Error_ENODATA = 4294967295
+Posix_Error_ENODEV = 19
+Posix_Error_ENOENT = 2
+Posix_Error_ENOEXEC = 8
+Posix_Error_ENOLCK = 39
+Posix_Error_ENOLINK = 4294967295
+Posix_Error_ENOMEM = 12
+Posix_Error_ENOMSG = 4294967295
+Posix_Error_ENOPROTOOPT = 10042
+Posix_Error_ENOSPC = 28
+Posix_Error_ENOSR = 4294967295
+Posix_Error_ENOSTR = 4294967295
+Posix_Error_ENOSYS = 40
+Posix_Error_ENOTCONN = 10057
+Posix_Error_ENOTDIR = 20
+Posix_Error_ENOTEMPTY = 41
+Posix_Error_ENOTSOCK = 10038
+Posix_Error_ENOTSUP = 4294967295
+Posix_Error_ENOTTY = 25
+Posix_Error_ENXIO = 6
+Posix_Error_EOPNOTSUPP = 10045
+Posix_Error_EOVERFLOW = 4294967295
+Posix_Error_EPERM = 1
+Posix_Error_EPIPE = 32
+Posix_Error_EPROTO = 4294967295
+Posix_Error_EPROTONOSUPPORT = 10043
+Posix_Error_EPROTOTYPE = 10041
+Posix_Error_ERANGE = 34
+Posix_Error_EROFS = 30
+Posix_Error_ESPIPE = 29
+Posix_Error_ESRCH = 3
+Posix_Error_ESTALE = 10070
+Posix_Error_ETIME = 4294967295
+Posix_Error_ETIMEDOUT = 10060
+Posix_Error_ETXTBSY = 4294967295
+Posix_Error_EWOULDBLOCK = 11
+Posix_Error_EXDEV = 18
+Posix_FileSys_A_F_OK = 0
+Posix_FileSys_A_R_OK = 4
+Posix_FileSys_A_W_OK = 2
+Posix_FileSys_A_X_OK = 1
+Posix_FileSys_O_APPEND = 8
+Posix_FileSys_O_BINARY = 32768
+Posix_FileSys_O_CREAT = 256
+Posix_FileSys_O_DSYNC = 0
+Posix_FileSys_O_EXCL = 1024
+Posix_FileSys_O_NOCTTY = 32768
+Posix_FileSys_O_NONBLOCK = 16384
+Posix_FileSys_O_RDONLY = 0
+Posix_FileSys_O_RDWR = 2
+Posix_FileSys_O_RSYNC = 0
+Posix_FileSys_O_SYNC = 0
+Posix_FileSys_O_TEXT = 16384
+Posix_FileSys_O_TRUNC = 512
+Posix_FileSys_O_WRONLY = 1
+Posix_FileSys_PC_ALLOC_SIZE_MIN = 4294967295
+Posix_FileSys_PC_ASYNC_IO = 4294967295
+Posix_FileSys_PC_CHOWN_RESTRICTED = 6
+Posix_FileSys_PC_FILESIZEBITS = 4294967295
+Posix_FileSys_PC_LINK_MAX = 0
+Posix_FileSys_PC_MAX_CANON = 1
+Posix_FileSys_PC_MAX_INPUT = 2
+Posix_FileSys_PC_NAME_MAX = 3
+Posix_FileSys_PC_NO_TRUNC = 7
+Posix_FileSys_PC_PATH_MAX = 4
+Posix_FileSys_PC_PIPE_BUF = 5
+Posix_FileSys_PC_PRIO_IO = 4294967295
+Posix_FileSys_PC_REC_INCR_XFER_SIZE = 4294967295
+Posix_FileSys_PC_REC_MAX_XFER_SIZE = 4294967295
+Posix_FileSys_PC_REC_MIN_XFER_SIZE = 4294967295
+Posix_FileSys_PC_REC_XFER_ALIGN = 4294967295
+Posix_FileSys_PC_SYMLINK_MAX = 4294967295
+Posix_FileSys_PC_SYNC_IO = 4294967295
+Posix_FileSys_PC_TWO_SYMLINKS = 4294967295
+Posix_FileSys_PC_VDISABLE = 8
+Posix_FileSys_S_IFBLK = 12288
+Posix_FileSys_S_IFCHR = 8192
+Posix_FileSys_S_IFDIR = 16384
+Posix_FileSys_S_IFIFO = 4096
+Posix_FileSys_S_IFLNK = 0
+Posix_FileSys_S_IFMT = 61440
+Posix_FileSys_S_IFREG = 32768
+Posix_FileSys_S_IFSOCK = 0
+Posix_FileSys_S_IRGRP = 32
+Posix_FileSys_S_IROTH = 4
+Posix_FileSys_S_IRUSR = 256
+Posix_FileSys_S_IRWXG = 56
+Posix_FileSys_S_IRWXO = 7
+Posix_FileSys_S_IRWXU = 448
+Posix_FileSys_S_ISGID = 1024
+Posix_FileSys_S_ISUID = 2048
+Posix_FileSys_S_ISVTX = 0
+Posix_FileSys_S_IWGRP = 16
+Posix_FileSys_S_IWOTH = 2
+Posix_FileSys_S_IWUSR = 128
+Posix_FileSys_S_IXGRP = 8
+Posix_FileSys_S_IXOTH = 1
+Posix_FileSys_S_IXUSR = 64
+Posix_IO_F_DUPFD = 0
+Posix_IO_F_GETFD = 1
+Posix_IO_F_GETFL = 3
+Posix_IO_F_GETOWN = 5
+Posix_IO_F_SETFD = 2
+Posix_IO_F_SETFL = 4
+Posix_IO_F_SETOWN = 6
+Posix_IO_FD_CLOEXEC = 1
+Posix_IO_FLock_F_GETLK = 7
+Posix_IO_FLock_F_RDLCK = 1
+Posix_IO_FLock_F_SETLK = 8
+Posix_IO_FLock_F_SETLKW = 9
+Posix_IO_FLock_F_UNLCK = 3
+Posix_IO_FLock_F_WRLCK = 2
+Posix_IO_FLock_SEEK_CUR = 1
+Posix_IO_FLock_SEEK_END = 2
+Posix_IO_FLock_SEEK_SET = 0
+Posix_IO_O_ACCMODE = 3
+Posix_IO_SEEK_CUR = 1
+Posix_IO_SEEK_END = 2
+Posix_IO_SEEK_SET = 0
+Posix_ProcEnv_SC_2_C_BIND = 4294967295
+Posix_ProcEnv_SC_2_C_DEV = 4294967295
+Posix_ProcEnv_SC_2_CHAR_TERM = 4294967295
+Posix_ProcEnv_SC_2_FORT_DEV = 4294967295
+Posix_ProcEnv_SC_2_FORT_RUN = 4294967295
+Posix_ProcEnv_SC_2_LOCALEDEF = 4294967295
+Posix_ProcEnv_SC_2_PBS = 4294967295
+Posix_ProcEnv_SC_2_PBS_ACCOUNTING = 4294967295
+Posix_ProcEnv_SC_2_PBS_CHECKPOINT = 4294967295
+Posix_ProcEnv_SC_2_PBS_LOCATE = 4294967295
+Posix_ProcEnv_SC_2_PBS_MESSAGE = 4294967295
+Posix_ProcEnv_SC_2_PBS_TRACK = 4294967295
+Posix_ProcEnv_SC_2_SW_DEV = 4294967295
+Posix_ProcEnv_SC_2_UPE = 4294967295
+Posix_ProcEnv_SC_2_VERSION = 4294967295
+Posix_ProcEnv_SC_ADVISORY_INFO = 4294967295
+Posix_ProcEnv_SC_AIO_LISTIO_MAX = 4294967295
+Posix_ProcEnv_SC_AIO_MAX = 4294967295
+Posix_ProcEnv_SC_AIO_PRIO_DELTA_MAX = 4294967295
+Posix_ProcEnv_SC_ARG_MAX = 0
+Posix_ProcEnv_SC_ASYNCHRONOUS_IO = 4294967295
+Posix_ProcEnv_SC_ATEXIT_MAX = 4294967295
+Posix_ProcEnv_SC_BARRIERS = 4294967295
+Posix_ProcEnv_SC_BC_BASE_MAX = 4294967295
+Posix_ProcEnv_SC_BC_DIM_MAX = 4294967295
+Posix_ProcEnv_SC_BC_SCALE_MAX = 4294967295
+Posix_ProcEnv_SC_BC_STRING_MAX = 4294967295
+Posix_ProcEnv_SC_CHILD_MAX = 1
+Posix_ProcEnv_SC_CLK_TCK = 2
+Posix_ProcEnv_SC_CLOCK_SELECTION = 4294967295
+Posix_ProcEnv_SC_COLL_WEIGHTS_MAX = 4294967295
+Posix_ProcEnv_SC_CPUTIME = 4294967295
+Posix_ProcEnv_SC_DELAYTIMER_MAX = 4294967295
+Posix_ProcEnv_SC_EXPR_NEST_MAX = 4294967295
+Posix_ProcEnv_SC_FSYNC = 4294967295
+Posix_ProcEnv_SC_GETGR_R_SIZE_MAX = 4294967295
+Posix_ProcEnv_SC_GETPW_R_SIZE_MAX = 4294967295
+Posix_ProcEnv_SC_HOST_NAME_MAX = 4294967295
+Posix_ProcEnv_SC_IOV_MAX = 4294967295
+Posix_ProcEnv_SC_IPV6 = 4294967295
+Posix_ProcEnv_SC_JOB_CONTROL = 5
+Posix_ProcEnv_SC_LINE_MAX = 4294967295
+Posix_ProcEnv_SC_LOGIN_NAME_MAX = 4294967295
+Posix_ProcEnv_SC_MAPPED_FILES = 4294967295
+Posix_ProcEnv_SC_MEMLOCK = 4294967295
+Posix_ProcEnv_SC_MEMLOCK_RANGE = 4294967295
+Posix_ProcEnv_SC_MEMORY_PROTECTION = 4294967295
+Posix_ProcEnv_SC_MESSAGE_PASSING = 4294967295
+Posix_ProcEnv_SC_MONOTONIC_CLOCK = 4294967295
+Posix_ProcEnv_SC_MQ_OPEN_MAX = 4294967295
+Posix_ProcEnv_SC_MQ_PRIO_MAX = 4294967295
+Posix_ProcEnv_SC_NGROUPS_MAX = 3
+Posix_ProcEnv_SC_OPEN_MAX = 4
+Posix_ProcEnv_SC_PAGE_SIZE = 4294967295
+Posix_ProcEnv_SC_PAGESIZE = 4294967295
+Posix_ProcEnv_SC_PRIORITIZED_IO = 4294967295
+Posix_ProcEnv_SC_PRIORITY_SCHEDULING = 4294967295
+Posix_ProcEnv_SC_RAW_SOCKETS = 4294967295
+Posix_ProcEnv_SC_RE_DUP_MAX = 4294967295
+Posix_ProcEnv_SC_READER_WRITER_LOCKS = 4294967295
+Posix_ProcEnv_SC_REALTIME_SIGNALS = 4294967295
+Posix_ProcEnv_SC_REGEXP = 4294967295
+Posix_ProcEnv_SC_RTSIG_MAX = 4294967295
+Posix_ProcEnv_SC_SAVED_IDS = 6
+Posix_ProcEnv_SC_SEM_NSEMS_MAX = 4294967295
+Posix_ProcEnv_SC_SEM_VALUE_MAX = 4294967295
+Posix_ProcEnv_SC_SEMAPHORES = 4294967295
+Posix_ProcEnv_SC_SHARED_MEMORY_OBJECTS = 4294967295
+Posix_ProcEnv_SC_SHELL = 4294967295
+Posix_ProcEnv_SC_SIGQUEUE_MAX = 4294967295
+Posix_ProcEnv_SC_SPAWN = 4294967295
+Posix_ProcEnv_SC_SPIN_LOCKS = 4294967295
+Posix_ProcEnv_SC_SPORADIC_SERVER = 4294967295
+Posix_ProcEnv_SC_SS_REPL_MAX = 4294967295
+Posix_ProcEnv_SC_STREAM_MAX = 4294967295
+Posix_ProcEnv_SC_SYMLOOP_MAX = 4294967295
+Posix_ProcEnv_SC_SYNCHRONIZED_IO = 4294967295
+Posix_ProcEnv_SC_THREAD_ATTR_STACKADDR = 4294967295
+Posix_ProcEnv_SC_THREAD_ATTR_STACKSIZE = 4294967295
+Posix_ProcEnv_SC_THREAD_CPUTIME = 4294967295
+Posix_ProcEnv_SC_THREAD_DESTRUCTOR_ITERATIONS = 4294967295
+Posix_ProcEnv_SC_THREAD_KEYS_MAX = 4294967295
+Posix_ProcEnv_SC_THREAD_PRIO_INHERIT = 4294967295
+Posix_ProcEnv_SC_THREAD_PRIO_PROTECT = 4294967295
+Posix_ProcEnv_SC_THREAD_PRIORITY_SCHEDULING = 4294967295
+Posix_ProcEnv_SC_THREAD_PROCESS_SHARED = 4294967295
+Posix_ProcEnv_SC_THREAD_SAFE_FUNCTIONS = 4294967295
+Posix_ProcEnv_SC_THREAD_SPORADIC_SERVER = 4294967295
+Posix_ProcEnv_SC_THREAD_STACK_MIN = 4294967295
+Posix_ProcEnv_SC_THREAD_THREADS_MAX = 4294967295
+Posix_ProcEnv_SC_THREADS = 4294967295
+Posix_ProcEnv_SC_TIMEOUTS = 4294967295
+Posix_ProcEnv_SC_TIMER_MAX = 4294967295
+Posix_ProcEnv_SC_TIMERS = 4294967295
+Posix_ProcEnv_SC_TRACE = 4294967295
+Posix_ProcEnv_SC_TRACE_EVENT_FILTER = 4294967295
+Posix_ProcEnv_SC_TRACE_EVENT_NAME_MAX = 4294967295
+Posix_ProcEnv_SC_TRACE_INHERIT = 4294967295
+Posix_ProcEnv_SC_TRACE_LOG = 4294967295
+Posix_ProcEnv_SC_TRACE_NAME_MAX = 4294967295
+Posix_ProcEnv_SC_TRACE_SYS_MAX = 4294967295
+Posix_ProcEnv_SC_TRACE_USER_EVENT_MAX = 4294967295
+Posix_ProcEnv_SC_TTY_NAME_MAX = 4294967295
+Posix_ProcEnv_SC_TYPED_MEMORY_OBJECTS = 4294967295
+Posix_ProcEnv_SC_TZNAME_MAX = 4294967295
+Posix_ProcEnv_SC_V6_ILP32_OFF32 = 4294967295
+Posix_ProcEnv_SC_V6_ILP32_OFFBIG = 4294967295
+Posix_ProcEnv_SC_V6_LP64_OFF64 = 4294967295
+Posix_ProcEnv_SC_V6_LPBIG_OFFBIG = 4294967295
+Posix_ProcEnv_SC_VERSION = 7
+Posix_ProcEnv_SC_XBS5_ILP32_OFF32 = 4294967295
+Posix_ProcEnv_SC_XBS5_ILP32_OFFBIG = 4294967295
+Posix_ProcEnv_SC_XBS5_LP64_OFF64 = 4294967295
+Posix_ProcEnv_SC_XBS5_LPBIG_OFFBIG = 4294967295
+Posix_ProcEnv_SC_XOPEN_CRYPT = 4294967295
+Posix_ProcEnv_SC_XOPEN_ENH_I18N = 4294967295
+Posix_ProcEnv_SC_XOPEN_LEGACY = 4294967295
+Posix_ProcEnv_SC_XOPEN_REALTIME = 4294967295
+Posix_ProcEnv_SC_XOPEN_REALTIME_THREADS = 4294967295
+Posix_ProcEnv_SC_XOPEN_SHM = 4294967295
+Posix_ProcEnv_SC_XOPEN_STREAMS = 4294967295
+Posix_ProcEnv_SC_XOPEN_UNIX = 4294967295
+Posix_ProcEnv_SC_XOPEN_VERSION = 4294967295
+Posix_Process_W_NOHANG = 1
+Posix_Process_W_UNTRACED = 2
+Posix_Signal_NSIG = 32
+Posix_Signal_SIG_BLOCK = 1
+Posix_Signal_SIG_SETMASK = 0
+Posix_Signal_SIG_UNBLOCK = 2
+Posix_Signal_SIGABRT = 6
+Posix_Signal_SIGALRM = 14
+Posix_Signal_SIGBUS = 10
+Posix_Signal_SIGCHLD = 23
+Posix_Signal_SIGCONT = 26
+Posix_Signal_SIGFPE = 8
+Posix_Signal_SIGHUP = 1
+Posix_Signal_SIGILL = 4
+Posix_Signal_SIGINT = 2
+Posix_Signal_SIGKILL = 9
+Posix_Signal_SIGPIPE = 13
+Posix_Signal_SIGPOLL = 4294967295
+Posix_Signal_SIGPROF = 30
+Posix_Signal_SIGQUIT = 3
+Posix_Signal_SIGSEGV = 11
+Posix_Signal_SIGSTOP = 16
+Posix_Signal_SIGSYS = 12
+Posix_Signal_SIGTERM = 15
+Posix_Signal_SIGTRAP = 5
+Posix_Signal_SIGTSTP = 18
+Posix_Signal_SIGTTIN = 24
+Posix_Signal_SIGTTOU = 25
+Posix_Signal_SIGURG = 4294967295
+Posix_Signal_SIGUSR1 = 27
+Posix_Signal_SIGUSR2 = 28
+Posix_Signal_SIGVTALRM = 29
+Posix_Signal_SIGXCPU = 4294967295
+Posix_Signal_SIGXFSZ = 4294967295
+Posix_TTY_B0 = 0
+Posix_TTY_B110 = 3
+Posix_TTY_B1200 = 9
+Posix_TTY_B134 = 4
+Posix_TTY_B150 = 5
+Posix_TTY_B1800 = 10
+Posix_TTY_B19200 = 14
+Posix_TTY_B200 = 6
+Posix_TTY_B2400 = 11
+Posix_TTY_B300 = 7
+Posix_TTY_B38400 = 15
+Posix_TTY_B4800 = 12
+Posix_TTY_B50 = 1
+Posix_TTY_B600 = 8
+Posix_TTY_B75 = 2
+Posix_TTY_B9600 = 13
+Posix_TTY_C_CLOCAL = 2048
+Posix_TTY_C_CREAD = 128
+Posix_TTY_C_CS5 = 0
+Posix_TTY_C_CS6 = 16
+Posix_TTY_C_CS7 = 32
+Posix_TTY_C_CS8 = 48
+Posix_TTY_C_CSIZE = 48
+Posix_TTY_C_CSTOPB = 64
+Posix_TTY_C_HUPCL = 1024
+Posix_TTY_C_PARENB = 256
+Posix_TTY_C_PARODD = 512
+Posix_TTY_I_BRKINT = 2
+Posix_TTY_I_ICRNL = 256
+Posix_TTY_I_IGNBRK = 1
+Posix_TTY_I_IGNCR = 128
+Posix_TTY_I_IGNPAR = 4
+Posix_TTY_I_INLCR = 64
+Posix_TTY_I_INPCK = 16
+Posix_TTY_I_ISTRIP = 32
+Posix_TTY_I_IXANY = 32768
+Posix_TTY_I_IXOFF = 4096
+Posix_TTY_I_IXON = 1024
+Posix_TTY_I_PARMRK = 65536
+Posix_TTY_L_ECHO = 4
+Posix_TTY_L_ECHOE = 8
+Posix_TTY_L_ECHOK = 16
+Posix_TTY_L_ECHONL = 32
+Posix_TTY_L_ICANON = 2
+Posix_TTY_L_IEXTEN = 256
+Posix_TTY_L_ISIG = 1
+Posix_TTY_L_NOFLSH = 64
+Posix_TTY_L_TOSTOP = 128
+Posix_TTY_O_BS0 = 4294967295
+Posix_TTY_O_BS1 = 4294967295
+Posix_TTY_O_BSDLY = 4294967295
+Posix_TTY_O_CR0 = 4294967295
+Posix_TTY_O_CR1 = 4294967295
+Posix_TTY_O_CR2 = 4294967295
+Posix_TTY_O_CR3 = 4294967295
+Posix_TTY_O_CRDLY = 4294967295
+Posix_TTY_O_FF0 = 4294967295
+Posix_TTY_O_FF1 = 4294967295
+Posix_TTY_O_FFDLY = 4294967295
+Posix_TTY_O_NL0 = 4294967295
+Posix_TTY_O_NL1 = 4294967295
+Posix_TTY_O_NLDLY = 4294967295
+Posix_TTY_O_OCRNL = 4294967295
+Posix_TTY_O_OFILL = 4294967295
+Posix_TTY_O_ONLCR = 4294967295
+Posix_TTY_O_ONLRET = 4294967295
+Posix_TTY_O_ONOCR = 4294967295
+Posix_TTY_O_OPOST = 1
+Posix_TTY_O_TAB0 = 4294967295
+Posix_TTY_O_TAB1 = 4294967295
+Posix_TTY_O_TAB2 = 4294967295
+Posix_TTY_O_TAB3 = 4294967295
+Posix_TTY_O_TABDLY = 4294967295
+Posix_TTY_O_VT0 = 4294967295
+Posix_TTY_O_VT1 = 4294967295
+Posix_TTY_O_VTDLY = 4294967295
+Posix_TTY_TC_TCIFLUSH = 0
+Posix_TTY_TC_TCIOFF = 2
+Posix_TTY_TC_TCIOFLUSH = 2
+Posix_TTY_TC_TCION = 3
+Posix_TTY_TC_TCOFLUSH = 1
+Posix_TTY_TC_TCOOFF = 0
+Posix_TTY_TC_TCOON = 1
+Posix_TTY_TC_TCSADRAIN = 3
+Posix_TTY_TC_TCSAFLUSH = 1
+Posix_TTY_TC_TCSANOW = 2
+Posix_TTY_V_NCCS = 18
+Posix_TTY_V_VEOF = 4
+Posix_TTY_V_VEOL = 2
+Posix_TTY_V_VERASE = 5
+Posix_TTY_V_VINTR = 6
+Posix_TTY_V_VKILL = 7
+Posix_TTY_V_VMIN = 9
+Posix_TTY_V_VQUIT = 10
+Posix_TTY_V_VSTART = 12
+Posix_TTY_V_VSTOP = 13
+Posix_TTY_V_VSUSP = 14
+Posix_TTY_V_VTIME = 16
+Socket_AF_INET = 2
+Socket_AF_INET6 = 23
+Socket_AF_UNIX = 1
+Socket_AF_UNSPEC = 0
+Socket_Ctl_FIONBIO = 2147772030
+Socket_Ctl_FIONREAD = 1074030207
+Socket_Ctl_SIOCATMARK = 1074033415
+Socket_Ctl_SO_ACCEPTCONN = 2
+Socket_Ctl_SO_BROADCAST = 32
+Socket_Ctl_SO_DEBUG = 1
+Socket_Ctl_SO_DONTROUTE = 16
+Socket_Ctl_SO_ERROR = 4103
+Socket_Ctl_SO_KEEPALIVE = 8
+Socket_Ctl_SO_LINGER = 128
+Socket_Ctl_SO_OOBINLINE = 256
+Socket_Ctl_SO_RCVBUF = 4098
+Socket_Ctl_SO_RCVLOWAT = 4100
+Socket_Ctl_SO_RCVTIMEO = 4102
+Socket_Ctl_SO_REUSEADDR = 4
+Socket_Ctl_SO_SNDBUF = 4097
+Socket_Ctl_SO_SNDLOWAT = 4099
+Socket_Ctl_SO_SNDTIMEO = 4101



More information about the MLton-commit mailing list