[MLton-commit] r7206

Wesley Terpstra wesley at mlton.org
Sat Jul 4 09:55:27 PDT 2009


Fix packaging issues for Windows 7 and include 64-bit support.


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

U   mlton/trunk/package/mingw/Makefile
A   mlton/trunk/package/mingw/dl/gmp64.get
A   mlton/trunk/package/mingw/dl/mingw64.get
A   mlton/trunk/package/mingw/dl/wget.get
U   mlton/trunk/package/mingw/mlton.bat
U   mlton/trunk/package/mingw/mlton.wxs
U   mlton/trunk/package/mingw/msys.bat

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

Modified: mlton/trunk/package/mingw/Makefile
===================================================================
--- mlton/trunk/package/mingw/Makefile	2009-07-04 16:42:02 UTC (rev 7205)
+++ mlton/trunk/package/mingw/Makefile	2009-07-04 16:55:26 UTC (rev 7206)
@@ -1,5 +1,5 @@
 MLTON=../../build/bin/mlton
-PKG=self dbg runtime w32api binutils gcc gmp msys gdb dlfcn
+PKG=self runtime w32api binutils gcc gmp msys gdb dlfcn wget self64 gmp64 mingw64
 
 PKG_LST=$(patsubst %,%.lst,$(PKG))
 PKG_WXS=$(patsubst %,%.wxs,$(PKG))
@@ -21,14 +21,29 @@
 	rm -rf staging
 	$(MAKE) -C ../.. PREFIX= install
 	mv ../../install staging
-	cd staging; find * -type f ! -name *-gdb.a > ../$@.tmp
+	rm staging/lib/mlton/self/*-gdb.a
+	cd staging; find * -type f > ../$@.tmp
 	mv $@.tmp $@
 
-dbg.lst:	self.lst
-	cd staging; find * -type f -name *-gdb.a > ../$@.tmp
+self64.lst:	self.lst
+	rm -rf ../../runtime.x64
+	cp -a ../../runtime ../../runtime.x64
+	$(MAKE) -C ../../runtime.x64 TARGET=x86_64-w64-mingw32 TARGET_ARCH=amd64 TARGET_OS=mingw clean all
+	mkdir -p staging/lib/mlton/sml/basis/config/c/amd64-mingw
+	cp ../../runtime.x64/gen/c-types.sml staging/lib/mlton/sml/basis/config/c/amd64-mingw
+	mkdir -p staging/lib/mlton/x86_64-w64-mingw32/include
+	cp ../../runtime.x64/gen/c-types.h staging/lib/mlton/x86_64-w64-mingw32/include
+	cp ../../runtime.x64/gen/sizes ../../runtime.x64/*.a staging/lib/mlton/x86_64-w64-mingw32
+	rm staging/lib/mlton/x86_64-w64-mingw32/*-gdb.a
+	rm -rf ../../runtime.x64
+	mlton -target x86_64-w64-mingw32 -build-constants true > staging/w64-constants.c
+	mlton -target x86_64-w64-mingw32 -verbose 1 staging/w64-constants.c
+	./staging/w64-constants > staging/lib/mlton/x86_64-w64-mingw32/constants
+	echo "x86_64-w64-mingw32 amd64 mingw" >> staging/lib/mlton/target-map
+	cd staging; find lib/mlton/x86_64-w64-mingw32 lib/mlton/sml/basis/config/c/amd64-mingw -type f > ../$@.tmp
 	mv $@.tmp $@
-
-%.lst:	dl/%.get dbg.lst
+
+%.lst:	dl/%.get self.lst
 	cd staging; . ../$< | tar --exclude postinstall -t -k | sed 's@^\./@@' > ../$@.tmp
 	cd staging; . ../$< | tar -x
 	mv $@.tmp $@

Added: mlton/trunk/package/mingw/dl/gmp64.get
===================================================================
--- mlton/trunk/package/mingw/dl/gmp64.get	2009-07-04 16:42:02 UTC (rev 7205)
+++ mlton/trunk/package/mingw/dl/gmp64.get	2009-07-04 16:55:26 UTC (rev 7206)
@@ -0,0 +1,4 @@
+. ../dl/mirrors
+f=gmp-4.3.1-w64-static.tar.bz2
+get "$REBUILT" "$f"
+bzip2 -dc "$f"

Added: mlton/trunk/package/mingw/dl/mingw64.get
===================================================================
--- mlton/trunk/package/mingw/dl/mingw64.get	2009-07-04 16:42:02 UTC (rev 7205)
+++ mlton/trunk/package/mingw/dl/mingw64.get	2009-07-04 16:55:26 UTC (rev 7206)
@@ -0,0 +1,4 @@
+. ../dl/mirrors
+f=mingw-w64_x86-64_mingw32_4.4.0-1.tar.bz2
+get "$REBUILT" "$f"
+bzip2 -dc "$f"

Added: mlton/trunk/package/mingw/dl/wget.get
===================================================================
--- mlton/trunk/package/mingw/dl/wget.get	2009-07-04 16:42:02 UTC (rev 7205)
+++ mlton/trunk/package/mingw/dl/wget.get	2009-07-04 16:55:26 UTC (rev 7206)
@@ -0,0 +1,4 @@
+. ../dl/mirrors
+f=wget.tar.bz2
+get "$REBUILT" "$f"
+bunzip2 -dc "$f"

Modified: mlton/trunk/package/mingw/mlton.bat
===================================================================
--- mlton/trunk/package/mingw/mlton.bat	2009-07-04 16:42:02 UTC (rev 7205)
+++ mlton/trunk/package/mingw/mlton.bat	2009-07-04 16:55:26 UTC (rev 7206)
@@ -66,7 +66,7 @@
 set ccopts=-O1 -fno-strict-aliasing -fomit-frame-pointer -w
 set ccopts=%ccopts% -fno-strength-reduce -fschedule-insns -fschedule-insns2
 set ccopts=%ccopts% -malign-functions=5 -malign-jumps=2 -malign-loops=2
-set linkopts=-lm -lgmp -lws2_32 -lkernel32 -lpsapi -lnetapi32 -lwinmm -Wl,--enable-stdcall-fixup
+set linkopts=-lm -lgmp -lws2_32 -lkernel32 -lpsapi -lnetapi32 -lwinmm -Wl,--enable-stdcall-fixup -Wl,-s
 
 "%mlton%" @MLton ram-slop 0.5 %rargs% -- "%lib%" -cc "%cc%" -ar-script "%bin%\static-library.bat" -cc-opt-quote "-I%lib%\include" -cc-opt "%ccopts%" -mlb-path-map "%lib%\mlb-path-map" -link-opt "%linkopts%" %args%
 set retval=%errorlevel%

Modified: mlton/trunk/package/mingw/mlton.wxs
===================================================================
--- mlton/trunk/package/mingw/mlton.wxs	2009-07-04 16:42:02 UTC (rev 7205)
+++ mlton/trunk/package/mingw/mlton.wxs	2009-07-04 16:55:26 UTC (rev 7206)
@@ -81,17 +81,9 @@
       <ComponentRef Id='component.download.url' />
       <ComponentRef Id='component.readme.txt' />
       <ComponentRef Id='component.documentation' />
-      <Feature Id='Debug' Title='Debug' Description='The MLton runtime libraries with included debug information.' Level='10' AllowAdvertise='no'>
-        <ComponentGroupRef Id='component.dbg' />
-      </Feature>
     </Feature>
-    <Feature Id='GMP' Title='GMP' Description='An arbitrary precision integer artihmetic library.' Level='1' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
-      <ComponentGroupRef Id='component.gmp' />
-    </Feature>
-    <Feature Id='dlfcn' Title='Dlfcn' Description='An implementation of the POSIX dynamic linking loader API for Windows.' Level='1' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
-      <ComponentGroupRef Id='component.dlfcn' />
-    </Feature>
-    <Feature Id='MinGW' Title='MinGW' Description='The minimalist GNU for Windows C compiler toolchain.' Level='1' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
+
+    <Feature Id='MinGW32' Title='MinGW32' Description='The minimalist GNU for Windows C compiler toolchain, targetting Win32.' Level='1' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
       <Feature Id='Runtime' Title='Runtime' Description='An assortment of thin wrappers that provide POSIX-like functionality on a windows platform.' Level='1' AllowAdvertise='no'>
         <ComponentGroupRef Id='component.runtime' />
       </Feature>
@@ -112,12 +104,34 @@
         <ComponentRef Id='component.path' />
         <ComponentGroupRef Id='component.msys' />
       </Feature>
+      <Feature Id='GMP' Title='GMP' Description='An arbitrary precision integer artihmetic library.' Level='1' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
+        <ComponentGroupRef Id='component.gmp' />
+      </Feature>
+      <Feature Id='dlfcn' Title='Dlfcn' Description='An implementation of the POSIX dynamic linking loader API for Windows.' Level='1' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
+        <ComponentGroupRef Id='component.dlfcn' />
+      </Feature>
       <Feature Id='GDB' Title='GDB' Description='A command-line operated program debugger.' Level='10' AllowAdvertise='no'>
         <ComponentRef Id='component.path' />
         <ComponentGroupRef Id='component.gdb' />
       </Feature>
+      <Feature Id='WGet' Title='WGet' Description='A command-line tool for retrieving files from the web.' Level='10' AllowAdvertise='no'>
+        <ComponentRef Id='component.path' />
+        <ComponentGroupRef Id='component.wget' />
+      </Feature>
     </Feature>
 
+    <Feature Id='Win64' Title='Win64' Description='Support compiling programs for the Win64 platform.' Level='10' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
+      <Feature Id='MinGW64' Title='MinGW64' Description='The minimalist GNU for Windows C compiler toolchain, targetting Win64 platforms.' Level='10' AllowAdvertise='no'>
+        <ComponentGroupRef Id='component.mingw64' />
+      </Feature>
+      <Feature Id='MLton64' Title='MLton64' Description='Libraries and target information to build 64-bit SML programs.' Level='10' AllowAdvertise='no'>
+        <ComponentGroupRef Id='component.self64' />
+      </Feature>
+      <Feature Id='GMP64' Title='GMP64' Description='An arbitrary precision integer artihmetic library.' Level='10' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
+        <ComponentGroupRef Id='component.gmp64' />
+      </Feature>
+    </Feature>
+
     <UIRef Id="WixUI_Mondo" />
     <WixVariable Id="WixUIBannerBmp" Value="Bitmaps/bannrbmp.bmp" />
     <WixVariable Id="WixUIDialogBmp" Value="Bitmaps/dlgbmp.bmp" />

Modified: mlton/trunk/package/mingw/msys.bat
===================================================================
--- mlton/trunk/package/mingw/msys.bat	2009-07-04 16:42:02 UTC (rev 7205)
+++ mlton/trunk/package/mingw/msys.bat	2009-07-04 16:55:26 UTC (rev 7206)
@@ -46,10 +46,10 @@
 if NOT EXIST "%WD%msys-1.0.dll" set WD=%~dp0
 
 rem ember Set up option to use rxvt based on value of %1
-if "x%MSYSCON%" == "x" set MSYSCON=rxvt.exe
-if "x%1" == "x-norxvt" set MSYSCON=sh.exe
-if "x%1" == "x--norxvt" set MSYSCON=sh.exe
-if "x%MSYSCON%" == "xsh.exe" shift
+if "x%MSYSCON%" == "x" set MSYSCON=sh.exe
+if "x%1" == "x-rxvt" set MSYSCON=rxvt.exe
+if "x%1" == "x--rxvt" set MSYSCON=rxvt.exe
+if "x%MSYSCON%" == "xrxvt.exe" shift
 
 if "x%MSYSTEM%" == "x" set MSYSTEM=MINGW32
 if "%1" == "MINGW32" set MSYSTEM=MINGW32




More information about the MLton-commit mailing list