[MLton-commit] r6807

Wesley Terpstra wesley at mlton.org
Mon Aug 25 11:23:03 PDT 2008


Don't populate the root folder with too much trash.
Include a start menu link to msys.bat
----------------------------------------------------------------------

U   mlton/trunk/package/mingw/Makefile
U   mlton/trunk/package/mingw/files2wix-component.sml
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	2008-08-25 17:25:30 UTC (rev 6806)
+++ mlton/trunk/package/mingw/Makefile	2008-08-25 18:23:02 UTC (rev 6807)
@@ -50,10 +50,9 @@
 	mv $@.tmp $@
 
 msys.wxs:		$(MINGW_MSYS) self.wxs
-	(tar tjf $<; echo bin/bash.exe) | ./files2wix-component MSYS > $@.tmp
+	(tar --exclude postinstall -tjf $<; echo bin/bash.exe) | ./files2wix-component MSYS > $@.tmp
 	cd staging; tar xjf $(MINGW_MSYS)
 	cp staging/bin/sh.exe staging/bin/bash.exe
-	cp msys.bat staging
 	mv $@.tmp $@
 
 gmp.wxs:		$(MINGW_GMP) self.wxs

Modified: mlton/trunk/package/mingw/files2wix-component.sml
===================================================================
--- mlton/trunk/package/mingw/files2wix-component.sml	2008-08-25 17:25:30 UTC (rev 6806)
+++ mlton/trunk/package/mingw/files2wix-component.sml	2008-08-25 18:23:02 UTC (rev 6807)
@@ -20,7 +20,8 @@
       val prefix = "\
          \    <ComponentGroup Id='component." ^ myId ^ "'>\n"
       fun component path = 
-         if #file (OS.Path.splitDirFile path) = "" then "" else "\
+         case OS.Path.splitDirFile path of {file, dir} =>
+         if file = "" orelse dir = "" then "" else "\
          \      <ComponentRef Id='component." ^ escape path ^ "' />\n"
       val suffix = "\
          \    </ComponentGroup>\n"
@@ -33,13 +34,13 @@
 fun dirEntry path =
    let
       val {dir, file} = OS.Path.splitDirFile path
-      val dir = if dir = "" then "INSTALLDIR" else "dir." ^ escape dir
+      val dirId = "dir." ^ escape dir
       val uglypath = escape path
       val guid = guid path
       val file83 = file83 file
    in
-      if file = "" then "" else
-      "    <DirectoryRef Id='" ^ dir ^ "'>\n\
+      if file = "" orelse dir = "" then "" else
+      "    <DirectoryRef Id='" ^ dirId ^ "'>\n\
       \      <Component Id='component." ^ uglypath ^ "' \
                        \Guid='" ^ guid ^ "'>\n\
       \         <File Id='file." ^ uglypath ^ "' \

Modified: mlton/trunk/package/mingw/mlton.wxs
===================================================================
--- mlton/trunk/package/mingw/mlton.wxs	2008-08-25 17:25:30 UTC (rev 6806)
+++ mlton/trunk/package/mingw/mlton.wxs	2008-08-25 18:23:02 UTC (rev 6807)
@@ -31,7 +31,7 @@
       <Component Id='component.path' Guid='5B06C123-B426-3D4D-BE48-4D07BAD8A6BA'>
         <Environment Id='env.path' Name='PATH' Action='set' Part='last' System='yes' Value='[dir.bin]' />
       </Component>
-      <Component Id='component.batch' Guid='A2E613BD-41F8-1CF7-D5EA-0C41674D78AC'>
+      <Component Id='component.bin_mlton.bat' Guid='A2E613BD-41F8-1CF7-D5EA-0C41674D78AC'>
         <File Id='file.bin_mlton.bat' Name='mlton.bat' Source='mlton.bat' DiskId='1' Vital='yes' />
         <ProgId Id='MLton.mlb' Description='Standard ML basis file'>
           <Extension Id='mlb' ContentType='application/mlb'>
@@ -44,11 +44,18 @@
           </Extension>
         </ProgId>
       </Component>
+      <Component Id='component.bin_msys.bat' Guid='9C492AB5-3C90-66AF-E442-D6B96A9890C4'>
+        <File Id='file.bin_msys.bat' Name='msys.bat' Source='msys.bat' DiskId='1' Vital='yes'>
+          <Shortcut Id='start_msys' Directory='ProgramMenuDir' Name='MSYS' Description='Unix-like system shell' Icon='msys.ico'>
+            <Icon Id='msys.ico' SourceFile='staging/msys.ico'/>
+          </Shortcut>
+        </File>
+      </Component>
     </DirectoryRef>
    
     <Feature Id='MLton' Title='MLton' Description='A whole-program optimizing Standard ML compiler.' Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR'>
       <ComponentGroupRef Id='component.MLton' />
-      <ComponentRef Id='component.batch' />
+      <ComponentRef Id='component.bin_mlton.bat' />
       <ComponentRef Id='component.path' />
       <Feature Id='Debug' Title='Debug' Description='The MLton runtime libraries with included debug information.' Level='10'>
         <ComponentGroupRef Id='component.Debug' />
@@ -73,6 +80,7 @@
         <ComponentGroupRef Id='component.GCC' />
       </Feature>
       <Feature Id='MSYS' Title='MSYS' Description='A system shell along with UNIX-style command-line utilities.' Level='1'>
+        <ComponentRef Id='component.bin_msys.bat' />
         <ComponentRef Id='component.path' />
         <ComponentGroupRef Id='component.MSYS' />
       </Feature>

Modified: mlton/trunk/package/mingw/msys.bat
===================================================================
--- mlton/trunk/package/mingw/msys.bat	2008-08-25 17:25:30 UTC (rev 6806)
+++ mlton/trunk/package/mingw/msys.bat	2008-08-25 18:23:02 UTC (rev 6807)
@@ -30,7 +30,7 @@
 rem ember that we execute here if we recursed.
 :_Resume
 for %%F in (1 2 3) do shift
-if NOT EXIST "%WD%msys-1.0.dll" set WD=.\bin\
+if NOT EXIST "%WD%msys-1.0.dll" set WD=
 
 rem ember that we get here even in command.com.
 :_WindowsNT
@@ -43,7 +43,7 @@
 goto EOF
 :_NotX64
 
-if NOT EXIST "%WD%msys-1.0.dll" set WD=%~dp0\bin\
+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




More information about the MLton-commit mailing list