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; |
Free forum by Nabble | Edit this page |