[commit] r2480 - Modify Newspeak MacOS vm to answer Resources directory for primVMPath so that

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[commit] r2480 - Modify Newspeak MacOS vm to answer Resources directory for primVMPath so that

commits-3
 
Author: eliot
Date: 2011-07-30 13:45:12 -0700 (Sat, 30 Jul 2011)
New Revision: 2480

Modified:
   branches/Cog/nscogbuild/macbuild/installer/LayoutDiskImage.applescript.in
   branches/Cog/nscogbuild/macbuild/installer/Makefile
   branches/Cog/nscogbuild/macbuild/installer/branding.gmk
   branches/Cog/nscogbuild/macbuild/installer/installer-Darwin.gmk
   branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
   branches/Cog/platforms/Mac OS/vm/sqMacImageIO.c
Log:
Modify Newspeak MacOS vm to answer Resources directory for primVMPath so that
the sources file can be included in the Resources directory (which makes for a
neater install).  Modify the MacOS dmg installer a) to put the sources in the
Resources directory and b) to include the YY.WW.REV version in the dmg name.


Modified: branches/Cog/nscogbuild/macbuild/installer/LayoutDiskImage.applescript.in
===================================================================
--- branches/Cog/nscogbuild/macbuild/installer/LayoutDiskImage.applescript.in 2011-07-30 00:26:10 UTC (rev 2479)
+++ branches/Cog/nscogbuild/macbuild/installer/LayoutDiskImage.applescript.in 2011-07-30 20:45:12 UTC (rev 2480)
@@ -16,7 +16,6 @@
  end tell
  set position of item "Applications" to {370, 91}
  set position of item "@@VM_LOCALIZED_NAME@@.app" to {130, 91}
- set position of item "@@SOURCEFILENAME1@@" to {130, 266}
  eject
  end tell
 end tell

Modified: branches/Cog/nscogbuild/macbuild/installer/Makefile
===================================================================
--- branches/Cog/nscogbuild/macbuild/installer/Makefile 2011-07-30 00:26:10 UTC (rev 2479)
+++ branches/Cog/nscogbuild/macbuild/installer/Makefile 2011-07-30 20:45:12 UTC (rev 2480)
@@ -5,6 +5,7 @@
 # edit and run ./links to get .app and sources, then run make
 
 SOURCES := yes
+SOURCEFILENAME1 := $(shell echo ~/Squeak/SqueakV41.sources)
 DOCUMENTATION_DIR := doc
 
 include branding.gmk
@@ -20,9 +21,9 @@
 $(VM_LOCALIZED_NAME_ESC).app:
  rm -rf $(VM_LOCALIZED_NAME_ESC).app
  cp -R ../Fast.app $(VM_LOCALIZED_NAME_ESC).app
+ ln $(SOURCEFILENAME1) $(VM_LOCALIZED_NAME_ESC).app/Contents/Resources
 
 # Cab contents:
 VM_BUNDLE := $(VM_LOCALIZED_NAME_ESC).app
-SOURCEFILENAME1 := SqueakV41.sources
 
 include installer-Darwin.gmk

Modified: branches/Cog/nscogbuild/macbuild/installer/branding.gmk
===================================================================
--- branches/Cog/nscogbuild/macbuild/installer/branding.gmk 2011-07-30 00:26:10 UTC (rev 2479)
+++ branches/Cog/nscogbuild/macbuild/installer/branding.gmk 2011-07-30 20:45:12 UTC (rev 2480)
@@ -1,7 +1,11 @@
 # Version should follow the Windows convention (0-255.0-255.0-65535)
 # For the prototype, use YY.MM.DDNN (NN should come from the image
 # name, e.g., nsboot-20YY-MM-DD.NN.image)
-#VERSION := 07.11.0101
+# For Cog would like to use YY.MMDD.SVN where SVN is the Subversion checkin
+# id taken from platforms/Cross/vm/sqSCCSVersion.h.  But that doesn't fit
+# the 0-255 field.  So use YY.WW.SVN where WW is the week number.
+SVNREV  := $(shell grep '\$Rev: ' ../../../platforms/Cross/vm/sqSCCSVersion.h | sed 's/.*$Rev: \([0-9][0-9]*\).*/\1/' )
+VERSION := $(shell date +%g.%U.$(SVNREV))
 
 # Base name of the executable (.exe is appended on Windows)
 ifndef VM_BASE_NAME

Modified: branches/Cog/nscogbuild/macbuild/installer/installer-Darwin.gmk
===================================================================
--- branches/Cog/nscogbuild/macbuild/installer/installer-Darwin.gmk 2011-07-30 00:26:10 UTC (rev 2479)
+++ branches/Cog/nscogbuild/macbuild/installer/installer-Darwin.gmk 2011-07-30 20:45:12 UTC (rev 2480)
@@ -1,4 +1,4 @@
-VM_DMG := $(VM_LOCALIZED_NAME_ESC).dmg
+VM_DMG := $(VM_LOCALIZED_NAME_ESC)-$(VERSION).dmg
 
 $(VM_DMG): $(VM_BUNDLE) $(INSTALLER_BACKGROUND).png LayoutDiskImage.applescript $(INSTALLER_ICON).icns
  -hdiutil eject '/Volumes/$(PRODUCT_NAME)'
@@ -9,7 +9,6 @@
  cp -p '$(INSTALLER_BACKGROUND).png' '/Volumes/$(PRODUCT_NAME)/.background'
  ln -s /Applications '/Volumes/$(PRODUCT_NAME)/.'
  ditto $(VM_BUNDLE) '/Volumes/$(PRODUCT_NAME)/$(VM_LOCALIZED_NAME).app'
- ditto $(SOURCEFILENAME1) '/Volumes/$(PRODUCT_NAME)/$(SOURCEFILENAME1)'
  bless --folder '/Volumes/$(PRODUCT_NAME)' --openfolder '/Volumes/$(PRODUCT_NAME)'
  cp '$(INSTALLER_ICON).icns' '/Volumes/$(PRODUCT_NAME)/.VolumeIcon.icns'
  /Developer/Tools/SetFile -a C '/Volumes/$(PRODUCT_NAME)'


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Fri Jul 29 12:58:01 PDT 2011
   + Sat Jul 30 13:44:56 PDT 2011

Modified: branches/Cog/platforms/Mac OS/vm/sqMacImageIO.c
===================================================================
--- branches/Cog/platforms/Mac OS/vm/sqMacImageIO.c 2011-07-30 00:26:10 UTC (rev 2479)
+++ branches/Cog/platforms/Mac OS/vm/sqMacImageIO.c 2011-07-30 20:45:12 UTC (rev 2480)
@@ -22,22 +22,44 @@
 #include "sqMacEncoding.h"
 
 
+/* On Newspeak we want to answer the Resources directory for vmPathGetLength/
+ * primitiveVMPath/primVMPath since this allows us to put the sources file
+ * in the Resources directory.
+ */
+#if NewspeakVM
+static void
+getVMResourcesDirectory(char *path)
+{
+extern char **argVec;
 
+ ux2sqPath(argVec[0], strlen(argVec[0]), path, VMPATH_SIZE,1);
+ strcpy(strstr(path,"MacOS/"),"Resources");
+}
+#endif /* NewspeakVM */
+
 /*** VM Home Directory Path ***/
 
 int vmPathSize(void) {
-        char path[VMPATH_SIZE + 1];
-        
-        getVMPathWithEncoding(path,gCurrentVMEncoding);
+ char path[VMPATH_SIZE + 1];
+
+#if NewspeakVM
+ getVMResourcesDirectory(path);
+#else
+ getVMPathWithEncoding(path,gCurrentVMEncoding);
+#endif
  return strlen(path);
 }
 
 int vmPathGetLength(sqInt sqVMPathIndex, int length) {
  char *stVMPath = (char *) sqVMPathIndex;
  int count, i;
-        char path[VMPATH_SIZE + 1];
+ char path[VMPATH_SIZE + 1];
 
-        getVMPathWithEncoding(path,gCurrentVMEncoding);
+#if NewspeakVM
+ getVMResourcesDirectory(path);
+#else
+ getVMPathWithEncoding(path,gCurrentVMEncoding);
+#endif
  count = strlen(path);
  count = (length < count) ? length : count;