diff --git a/cygwinbuild/GreenCogSqueak.ico b/cygwinbuild/GreenCogSqueak.ico new file mode 100644 index 0000000..f6d03cf Binary files /dev/null and b/cygwinbuild/GreenCogSqueak.ico differ diff --git a/cygwinbuild/Makefile b/cygwinbuild/Makefile index f3877e7..73ad5f2 100644 --- a/cygwinbuild/Makefile +++ b/cygwinbuild/Makefile @@ -12,7 +12,7 @@ CONFIGURATION=product THREADING=single # The name of the VM to build -VM:=Croquet +VM:=Squeak VM_NAME?=$(VM) # Is this a Croquet VM (defaults to OGL instead of D3D)? @@ -190,7 +190,8 @@ OBJCOPY:= objcopy # Note: RC compiles the .rc files into linkable .o files # RC:= windres -RCFLAGS:= --include-dir $(PLATDIR)/win32/misc -D_WIN32 +SVNREV:= $(shell sed -e "s/^static.*SvnRawRevisionString.*Rev: \([0-9][0-9]*\).*/\\1/p" -e d $(PLATDIR)/Cross/vm/sqSCCSVersion.h) +RCFLAGS:= --include-dir $(PLATDIR)/win32/misc -D_WIN32 -DFILEVERSIONVALUES=4,0,$(SVNREV),0 '-DFILEVERSIONSTRING=\"4.0.$(SVNREV)\\0\"' .SUFFIXES: .SUFFIXES: .ccg .cc .c .o .s .i .rc .res .cg .hg .ccg .cpp @@ -202,6 +203,9 @@ RCFLAGS:= --include-dir $(PLATDIR)/win32/misc -D_WIN32 # default: print-settings init $(VMEXE) $(CONSOLEVMEXE) $(DLLS) $(STRIPEXE) $(STRIPCONSOLEEXE) +svnver: + echo $(RC) $(RCFLAGS) + productmt:; $(MAKE) -f $(MAKEFILE_LIST) CONFIGURATION=product THREADING=multi $(@,product=) default diff --git a/cygwinbuild/Squeak.rc b/cygwinbuild/Squeak.rc index 8f22493..03f6979 100755 --- a/cygwinbuild/Squeak.rc +++ b/cygwinbuild/Squeak.rc @@ -1,11 +1,11 @@ #ifdef _WIN32 -1 ICON DISCARDABLE "squeak.ico" +1 ICON DISCARDABLE "GreenCogSqueak.ico" 2 ICON DISCARDABLE "squeak2.ico" 3 ICON DISCARDABLE "squeak3.ico" 1 VERSIONINFO - FILEVERSION 3,11,3,0 - PRODUCTVERSION 3,11,0,0 + FILEVERSION FILEVERSIONVALUES + PRODUCTVERSION 4,0,0,0 FILEFLAGSMASK 0x3fL FILEFLAGS 0xaL FILEOS 0x10001L @@ -17,11 +17,11 @@ BEGIN BLOCK "040904E4" // Lang=US English, CharSet=Windows Multilin BEGIN VALUE "CompanyName", "Squeak.org\0" - VALUE "FileDescription", "Squeak Virtual Machine\0" - VALUE "FileVersion", "3.11.3\0" - VALUE "LegalCopyright", "Copyright \251 Squeak.org 1996-2009\0" - VALUE "ProductName", "Squeak\0" - VALUE "ProductVersion", "3.11\0" + VALUE "FileDescription", "Squeak Cog Virtual Machine\0" + VALUE "FileVersion", FILEVERSIONSTRING + VALUE "LegalCopyright", "Copyright \251 Squeak.org 1996-2013\0" + VALUE "ProductName", "Squeak Cog\0" + VALUE "ProductVersion", "4.0\0" END END BLOCK "VarFileInfo" @@ -29,4 +29,4 @@ BEGIN VALUE "Translation", 0x409, 1252 END END -#endif \ No newline at end of file +#endif diff --git a/cygwinbuild/mvm b/cygwinbuild/mvm index 3bb7198..32428c5 100755 --- a/cygwinbuild/mvm +++ b/cygwinbuild/mvm @@ -2,4 +2,4 @@ rm -rf build*/vm/Croquet*.exe make debug;make assert;make make THREADING=multi CONFIGURATION=debug;make THREADING=multi CONFIGURATION=assert;make THREADING=multi -ls -rlt build*/vm/Croquet*.exe +ls -rlt build*/vm/Squeak*.exe diff --git a/cygwinbuild/plugins.ext b/cygwinbuild/plugins.ext index a72bb54..80d1eba 100644 --- a/cygwinbuild/plugins.ext +++ b/cygwinbuild/plugins.ext @@ -1,4 +1,6 @@ # Copied, perhaps edited, from ../src/examplePlugins.ext +# N.B. SqueakSSL is not ready for prime time. Compiles but does not link fully. +# See platforms/win32/plugins/SqueakSSL/Makefile EXTERNAL_PLUGINS = \ BochsIA32Plugin \ SqueakFFIPrims \ diff --git a/image/Workspace.text b/image/Workspace.text index 576a4b7..4b792b4 100644 --- a/image/Workspace.text +++ b/image/Workspace.text @@ -1 +1 @@ -This image is intended to build new CoInterpreter or StackInterpreter Cog VMs, and a Newspeak VM, and to run the Cog VM simulator (see the VM Simulation Workspace). The following doit offers a menu of configurations that create a single; source tree (../src) for all platforms. Since they use a relative path they will work out of the box. Generate the entire VM using them. Choose Squeak Cog VM by default, and when prompted choose CoInterpreter. VMMaker generateConfiguration To rebuild this image - start with a Squeak 4.3 or newer image (this is a Squeak 4.3 trunk image that you can update). 1. If Alien is not already in the image, load it, e.g. Alien-eem.18 from http://www.squeaksource.com/Alien. 2. If FFI is not already in the image, load FFI-Pools, e.g. FFI-Pools-eem.3, from http://source.squeak.org/FFI (For FFIConstants) [2a. Load FFI if you want to use cog:selector: to compile a method in this image] 3. Load SharedPool-Speech, e.g. SharedPool-Speech-dtl.2, from http://www.squeaksource.com/Speech (For KlattResonatorIndices) 4. Load Balloon-Engine-Pools (e.g. Balloon-Engine-Pools-JB.2) from http://source.squeak.org/VMMaker 5. From http://source.squeak.org/VMMaker load "VMMaker.oscog" and "Cog" monticello packages. First load the most up-to-dateVMMaker.oscog, e.g. VMMaker.oscog-eem.157, and then the most up-to-date Cog, e.g. Cog-eem.46. N.B. do *not* load VMMaker or VMMaker-oscog. N.B. VMMaker.oscog packages may be listed with VMMaker packages depending on Monticello version. \ No newline at end of file +This image is intended to build new CoInterpreter or StackInterpreter Cog VMs, and a Newspeak VM, and to run the Cog VM simulator (see the VM Simulation Workspace). The following doit offers a menu of configurations that create a single; source tree (../src) for all platforms. Since they use a relative path they will work out of the box. Generate the entire VM using them. Choose Squeak Cog VM by default, and when prompted choose CoInterpreter. VMMaker generateConfiguration To rebuild this image - start with a Squeak 4.4 or newer image (the Squeak 4.3 All-in-one is fine too, but please update the image). 1. If Alien is not already in the image, load it, e.g. Alien-eem.18 from http://www.squeaksource.com/Alien. 2. If FFI is not already in the image, load FFI-Pools, e.g. FFI-Pools-eem.3, from http://source.squeak.org/FFI (For FFIConstants) [2a. Load FFI if you want to use cog:selector: to compile a method in this image] 3. Load SharedPool-Speech, e.g. SharedPool-Speech-dtl.2, from http://www.squeaksource.com/Speech (For KlattResonatorIndices) 4. Load Balloon-Engine-Pools (e.g. Balloon-Engine-Pools-JB.2) from http://source.squeak.org/VMMaker 5. From http://source.squeak.org/VMMaker load "VMMaker.oscog" and "Cog" monticello packages. First load the most up-to-dateVMMaker.oscog, e.g. VMMaker.oscog-eem.278, and then the most up-to-date Cog, e.g. Cog-lw.60. N.B. do *not* load VMMaker or VMMaker-oscog. N.B. VMMaker.oscog packages may be listed with VMMaker packages depending on Monticello version. 6. Load any additional plugins not in VMMaker. Currently these are: - SqueakSSLPlugin from e.g. SqueakSSL-Plugin-ar.3 at http://www.squeaksource.com/SqueakSSL - Win32OSProcessPlugin & UnixOSProcessPlugin from e.g. VMConstruction-Plugins-OSProcessPlugin.oscog-eem.41 at http://www.squeaksource.com/OSProcessPlugin - FT2Plugin from e.g. Freetype-Plugin-IgorStasenko.57 at http://www.squeaksource.com/FreetypePlugin - AioPlugin from e.g. VMConstruction-Plugins-AioPlugin-dtl.14 at t http://www.squeaksource.com/AioPlugin Read the class comments of StackInterpreterSimulator and CogVMSimulator for running the simulator. \ No newline at end of file diff --git a/macbuild/CoreMTVM.xcodeproj/project.pbxproj b/macbuild/CoreMTVM.xcodeproj/project.pbxproj index 21ffda6..60f4d4e 100755 --- a/macbuild/CoreMTVM.xcodeproj/project.pbxproj +++ b/macbuild/CoreMTVM.xcodeproj/project.pbxproj @@ -255,7 +255,7 @@ A2FB6B730CCD723F00A29088 /* LocalePlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = A2FB6B720CCD723F00A29088 /* LocalePlugin.h */; }; DA6061C40AA515470009E25D /* sqMacMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F5F8AEF402EB4E0A0100013C /* sqMacMain.c */; }; DA6061CA0AA5155E0009E25D /* sqNamedPrims.c in Sources */ = {isa = PBXBuildFile; fileRef = F5F8AFDD02EB4E0A0100013C /* sqNamedPrims.c */; }; - DAFA08940AA64625008DF459 /* Croquet.icns in Resources */ = {isa = PBXBuildFile; fileRef = DAFA08930AA64625008DF459 /* Croquet.icns */; }; + DAFA08940AA64625008DF459 /* GreenCogSqueak.icns in Resources */ = {isa = PBXBuildFile; fileRef = DAFA08930AA64625008DF459 /* GreenCogSqueak.icns */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -301,7 +301,7 @@ 94196AAE09974200005962BF /* sqMacUIEventsUniversal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacUIEventsUniversal.c; sourceTree = ""; }; 94196AAF09974200005962BF /* sqMacUIMenuBarUniversal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacUIMenuBarUniversal.c; sourceTree = ""; }; 94196AB009974200005962BF /* sqMacWindowUniversal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacWindowUniversal.c; sourceTree = ""; }; - 941A3C0C09AA144000C9D25A /* Croquet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Croquet.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 941A3C0C09AA144000C9D25A /* Squeak.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Squeak.app; sourceTree = BUILT_PRODUCTS_DIR; }; 9426FF0F09F489D200ECEDDC /* chartables.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = chartables.c; sourceTree = ""; }; 9426FF1009F489D200ECEDDC /* config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; 9426FF1109F489D200ECEDDC /* get.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = get.c; sourceTree = ""; }; @@ -396,7 +396,7 @@ A2FB6B580CCD71B000A29088 /* sqMacLocaleCarbon.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqMacLocaleCarbon.h; path = LocalePlugin/sqMacLocaleCarbon.h; sourceTree = ""; }; A2FB6B720CCD723F00A29088 /* LocalePlugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = LocalePlugin.h; path = LocalePlugin/LocalePlugin.h; sourceTree = ""; }; DAD40DAF0AA60CE90082521A /* CoreVM.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = CoreVM.plist; sourceTree = ""; }; - DAFA08930AA64625008DF459 /* Croquet.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = Croquet.icns; path = resources/ProjectBuilder/Croquet.icns; sourceTree = ""; }; + DAFA08930AA64625008DF459 /* GreenCogSqueak.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = GreenCogSqueak.icns; path = resources/ProjectBuilder/GreenCogSqueak.icns; sourceTree = ""; }; F5F8AE0F02EB4E090100013C /* sqMacOpenGL.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sqMacOpenGL.h; sourceTree = ""; }; F5F8AE3D02EB4E090100013C /* sqMacInternetConfiguration.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacInternetConfiguration.c; sourceTree = ""; }; F5F8AE3F02EB4E090100013C /* sqMacJoystickAndTablet.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacJoystickAndTablet.c; sourceTree = ""; }; @@ -563,7 +563,7 @@ isa = PBXGroup; children = ( 664A73DB0300584000A80109 /* Squeak VM.r */, - DAFA08930AA64625008DF459 /* Croquet.icns */, + DAFA08930AA64625008DF459 /* GreenCogSqueak.icns */, 664A73DC0300584000A80109 /* Squeak.icns */, 664A73DD0300584000A80109 /* SqueakChanges.icns */, 664A73DE0300584000A80109 /* SqueakImage.icns */, @@ -579,7 +579,7 @@ 08773F3000C6A1C4C0A80109 /* Products */ = { isa = PBXGroup; children = ( - 941A3C0C09AA144000C9D25A /* Croquet.app */, + 941A3C0C09AA144000C9D25A /* Squeak.app */, ); name = Products; sourceTree = ""; @@ -1714,9 +1714,9 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 941A3B2B09AA144000C9D25A /* Croquet */ = { + 941A3B2B09AA144000C9D25A /* Squeak */ = { isa = PBXNativeTarget; - buildConfigurationList = 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Croquet" */; + buildConfigurationList = 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Squeak" */; buildPhases = ( 941A3B2C09AA144000C9D25A /* Headers */, 941A3B7109AA144000C9D25A /* Resources */, @@ -1731,10 +1731,10 @@ "; dependencies = ( ); - name = Croquet; + name = Squeak; productInstallPath = "$(USER_APPS_DIR)"; productName = "Squeak VM OPT"; - productReference = 941A3C0C09AA144000C9D25A /* Croquet.app */; + productReference = 941A3C0C09AA144000C9D25A /* Squeak.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -1757,7 +1757,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 941A3B2B09AA144000C9D25A /* Croquet */, + 941A3B2B09AA144000C9D25A /* Squeak */, ); }; /* End PBXProject section */ @@ -1775,7 +1775,7 @@ 941A3B7709AA144000C9D25A /* SqueakGeneric.icns in Resources */, 941A3B7809AA144000C9D25A /* SqueakProject.icns in Resources */, 941A3B7909AA144000C9D25A /* SqueakSources.icns in Resources */, - DAFA08940AA64625008DF459 /* Croquet.icns in Resources */, + DAFA08940AA64625008DF459 /* GreenCogSqueak.icns in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2000,7 +2000,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.5; OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; SECTORDER_FLAGS = ""; UNSTRIPPED_PRODUCT = YES; WARNING_CFLAGS = ""; @@ -2078,7 +2078,7 @@ OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; PER_ARCH_CFLAGS_i386 = ""; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = app; ZERO_LINK = NO; @@ -2106,7 +2106,7 @@ HAVE_SYS_TIME_H, ); GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS_QUOTED_FOR_TARGET_1)"; - GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS_QUOTED_FOR_TARGET_1 = "BUILD_VERSION=\"\\\"Croquet Cog OS/X 4.0.0\\\"\""; + GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS_QUOTED_FOR_TARGET_1 = "BUILD_VERSION=\"\\\"Squeak Cog OS/X 4.0.0\\\"\""; GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_UNROLL_LOOPS = YES; GCC_VERSION_i386 = 4.2; @@ -2117,7 +2117,7 @@ $SRCROOT, ); ICC_DATA_NO_ALIAS = NO; - ICC_DEFINES = "ILP32=1 _NONSTD_SOURCE $(GCC_PREPROCESSOR_DEFINITIONS) BUILD_VERSION=\"\\\"Croquet Cog OS/X 4.0.0\\\"\""; + ICC_DEFINES = "ILP32=1 _NONSTD_SOURCE $(GCC_PREPROCESSOR_DEFINITIONS) BUILD_VERSION=\"\\\"Squeak Cog OS/X 4.0.0\\\"\""; ICC_FP_MODEL = src; ICC_LANG_ANSI_OPT = NO; ICC_OPTLEVEL = speedHLO; @@ -2131,7 +2131,7 @@ OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; PER_ARCH_CFLAGS_i386 = "-O3 -falign-functions=16 -fno-gcse -mtune=prescott -march=pentium-m -mfpmath=sse -finline-functions -Wall -DUSE_INLINE_MEMORY_ACCESSORS"; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = app; @@ -2175,7 +2175,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.5; OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; SECTORDER_FLAGS = ""; UNSTRIPPED_PRODUCT = YES; WARNING_CFLAGS = ""; @@ -2260,7 +2260,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Croquet" */ = { + 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Squeak" */ = { isa = XCConfigurationList; buildConfigurations = ( 941A3C0809AA144000C9D25A /* Development */, diff --git a/macbuild/CoreVM.plist b/macbuild/CoreVM.plist index 34f097f..037150f 100644 --- a/macbuild/CoreVM.plist +++ b/macbuild/CoreVM.plist @@ -14,9 +14,9 @@ image CFBundleTypeIconFile - Croquet.icns + SqueakImage.icns CFBundleTypeName - Croquet Image File + Squeak Image File CFBundleTypeOSTypes STim @@ -30,9 +30,9 @@ sources CFBundleTypeIconFile - Croquet.icns + SqueakSources.icns CFBundleTypeName - Croquet Sources File + Squeak Sources File CFBundleTypeOSTypes STso @@ -46,9 +46,9 @@ changes CFBundleTypeIconFile - Croquet.icns + SqueakChanges.icns CFBundleTypeName - Croquet Changes File + Squeak Changes File CFBundleTypeOSTypes STch @@ -366,21 +366,21 @@ CFBundleExecutable - Croquet + Squeak CFBundleGetInfoString - Croquet Cog 4.0.0 http://www.mirandabanda.org + Squeak Cog 4.0.0 http://www.mirandabanda.org CFBundleShortVersionString - Croquet Cog 4.0.0 + Squeak Cog 4.0.0 CFBundleVersion 4.0.0 CFBundleIconFile - Croquet.icns + GreenCogSqueak.icns CFBundleIdentifier com.squeak.Cog CFBundleInfoDictionaryVersion 6.0 CFBundleName - Croquet + Squeak CFBundlePackageType APPL CFBundleSignature @@ -484,7 +484,7 @@ SqueakUIFlushUseHighPercisionClock SqueakUnTrustedDirectory - ~/Library/Preferences/Croquet/Internet/Untrusted/ + ~/Library/Preferences/Squeak/Internet/Untrusted/ SqueakWindowAttribute ggAAHw== SqueakWindowHasTitle diff --git a/macbuild/CoreVM.xcodeproj/project.pbxproj b/macbuild/CoreVM.xcodeproj/project.pbxproj index 55714ee..3b248b3 100755 --- a/macbuild/CoreVM.xcodeproj/project.pbxproj +++ b/macbuild/CoreVM.xcodeproj/project.pbxproj @@ -255,7 +255,7 @@ A2FB6B730CCD723F00A29088 /* LocalePlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = A2FB6B720CCD723F00A29088 /* LocalePlugin.h */; }; DA6061C40AA515470009E25D /* sqMacMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F5F8AEF402EB4E0A0100013C /* sqMacMain.c */; }; DA6061CA0AA5155E0009E25D /* sqNamedPrims.c in Sources */ = {isa = PBXBuildFile; fileRef = F5F8AFDD02EB4E0A0100013C /* sqNamedPrims.c */; }; - DAFA08940AA64625008DF459 /* Croquet.icns in Resources */ = {isa = PBXBuildFile; fileRef = DAFA08930AA64625008DF459 /* Croquet.icns */; }; + DAFA08940AA64625008DF459 /* GreenCogSqueak.icns in Resources */ = {isa = PBXBuildFile; fileRef = DAFA08930AA64625008DF459 /* GreenCogSqueak.icns */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -301,7 +301,7 @@ 94196AAE09974200005962BF /* sqMacUIEventsUniversal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacUIEventsUniversal.c; sourceTree = ""; }; 94196AAF09974200005962BF /* sqMacUIMenuBarUniversal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacUIMenuBarUniversal.c; sourceTree = ""; }; 94196AB009974200005962BF /* sqMacWindowUniversal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacWindowUniversal.c; sourceTree = ""; }; - 941A3C0C09AA144000C9D25A /* Croquet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Croquet.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 941A3C0C09AA144000C9D25A /* Squeak.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Squeak.app; sourceTree = BUILT_PRODUCTS_DIR; }; 9426FF0F09F489D200ECEDDC /* chartables.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = chartables.c; sourceTree = ""; }; 9426FF1009F489D200ECEDDC /* config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; 9426FF1109F489D200ECEDDC /* get.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = get.c; sourceTree = ""; }; @@ -396,7 +396,7 @@ A2FB6B580CCD71B000A29088 /* sqMacLocaleCarbon.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqMacLocaleCarbon.h; path = LocalePlugin/sqMacLocaleCarbon.h; sourceTree = ""; }; A2FB6B720CCD723F00A29088 /* LocalePlugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = LocalePlugin.h; path = LocalePlugin/LocalePlugin.h; sourceTree = ""; }; DAD40DAF0AA60CE90082521A /* CoreVM.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = CoreVM.plist; sourceTree = ""; }; - DAFA08930AA64625008DF459 /* Croquet.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = Croquet.icns; path = resources/ProjectBuilder/Croquet.icns; sourceTree = ""; }; + DAFA08930AA64625008DF459 /* GreenCogSqueak.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = GreenCogSqueak.icns; path = resources/ProjectBuilder/GreenCogSqueak.icns; sourceTree = ""; }; F5F8AE0F02EB4E090100013C /* sqMacOpenGL.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sqMacOpenGL.h; sourceTree = ""; }; F5F8AE3D02EB4E090100013C /* sqMacInternetConfiguration.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacInternetConfiguration.c; sourceTree = ""; }; F5F8AE3F02EB4E090100013C /* sqMacJoystickAndTablet.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacJoystickAndTablet.c; sourceTree = ""; }; @@ -563,7 +563,7 @@ isa = PBXGroup; children = ( 664A73DB0300584000A80109 /* Squeak VM.r */, - DAFA08930AA64625008DF459 /* Croquet.icns */, + DAFA08930AA64625008DF459 /* GreenCogSqueak.icns */, 664A73DC0300584000A80109 /* Squeak.icns */, 664A73DD0300584000A80109 /* SqueakChanges.icns */, 664A73DE0300584000A80109 /* SqueakImage.icns */, @@ -579,7 +579,7 @@ 08773F3000C6A1C4C0A80109 /* Products */ = { isa = PBXGroup; children = ( - 941A3C0C09AA144000C9D25A /* Croquet.app */, + 941A3C0C09AA144000C9D25A /* Squeak.app */, ); name = Products; sourceTree = ""; @@ -1714,9 +1714,9 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 941A3B2B09AA144000C9D25A /* Croquet */ = { + 941A3B2B09AA144000C9D25A /* Squeak */ = { isa = PBXNativeTarget; - buildConfigurationList = 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Croquet" */; + buildConfigurationList = 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Squeak" */; buildPhases = ( 941A3B2C09AA144000C9D25A /* Headers */, 941A3B7109AA144000C9D25A /* Resources */, @@ -1731,10 +1731,10 @@ "; dependencies = ( ); - name = Croquet; + name = Squeak; productInstallPath = "$(USER_APPS_DIR)"; productName = "Squeak VM OPT"; - productReference = 941A3C0C09AA144000C9D25A /* Croquet.app */; + productReference = 941A3C0C09AA144000C9D25A /* Squeak.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -1757,7 +1757,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 941A3B2B09AA144000C9D25A /* Croquet */, + 941A3B2B09AA144000C9D25A /* Squeak */, ); }; /* End PBXProject section */ @@ -1775,7 +1775,7 @@ 941A3B7709AA144000C9D25A /* SqueakGeneric.icns in Resources */, 941A3B7809AA144000C9D25A /* SqueakProject.icns in Resources */, 941A3B7909AA144000C9D25A /* SqueakSources.icns in Resources */, - DAFA08940AA64625008DF459 /* Croquet.icns in Resources */, + DAFA08940AA64625008DF459 /* GreenCogSqueak.icns in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2000,7 +2000,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.5; OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; SECTORDER_FLAGS = ""; UNSTRIPPED_PRODUCT = YES; WARNING_CFLAGS = ""; @@ -2078,7 +2078,7 @@ OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; PER_ARCH_CFLAGS_i386 = ""; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = app; ZERO_LINK = NO; @@ -2106,7 +2106,7 @@ HAVE_SYS_TIME_H, ); GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS_QUOTED_FOR_TARGET_1)"; - GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS_QUOTED_FOR_TARGET_1 = "BUILD_VERSION=\"\\\"Croquet Cog OS/X 4.0.0\\\"\""; + GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS_QUOTED_FOR_TARGET_1 = "BUILD_VERSION=\"\\\"Squeak Cog OS/X 4.0.0\\\"\""; GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_UNROLL_LOOPS = YES; GCC_VERSION_i386 = 4.2; @@ -2117,7 +2117,7 @@ $SRCROOT, ); ICC_DATA_NO_ALIAS = NO; - ICC_DEFINES = "ILP32=1 _NONSTD_SOURCE $(GCC_PREPROCESSOR_DEFINITIONS) BUILD_VERSION=\"\\\"Croquet Cog OS/X 4.0.0\\\"\""; + ICC_DEFINES = "ILP32=1 _NONSTD_SOURCE $(GCC_PREPROCESSOR_DEFINITIONS) BUILD_VERSION=\"\\\"Squeak Cog OS/X 4.0.0\\\"\""; ICC_FP_MODEL = src; ICC_LANG_ANSI_OPT = NO; ICC_OPTLEVEL = speedHLO; @@ -2131,7 +2131,7 @@ OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; PER_ARCH_CFLAGS_i386 = "-O3 -falign-functions=16 -fno-gcse -mtune=prescott -march=pentium-m -mfpmath=sse -finline-functions -Wall -DUSE_INLINE_MEMORY_ACCESSORS"; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = app; @@ -2175,7 +2175,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.5; OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; SECTORDER_FLAGS = ""; UNSTRIPPED_PRODUCT = YES; WARNING_CFLAGS = ""; @@ -2260,7 +2260,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Croquet" */ = { + 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Squeak" */ = { isa = XCConfigurationList; buildConfigurations = ( 941A3C0809AA144000C9D25A /* Development */, diff --git a/macbuild/SqueakSSL/Info.plist b/macbuild/SqueakSSL/Info.plist new file mode 100644 index 0000000..ebd8fcc --- /dev/null +++ b/macbuild/SqueakSSL/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + SquealSSL + CFBundleIconFile + + CFBundleIdentifier + org.squeak.Cog.SqueakSSL + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + FAST + CFBundleVersion + 1.0 + CFBundleShortVersionString + 1.0 + CSResourcesFileMapped + + + diff --git a/macbuild/SqueakSSL/SqueakSSL.xcodeproj/project.pbxproj b/macbuild/SqueakSSL/SqueakSSL.xcodeproj/project.pbxproj new file mode 100644 index 0000000..d8e4ef9 --- /dev/null +++ b/macbuild/SqueakSSL/SqueakSSL.xcodeproj/project.pbxproj @@ -0,0 +1,270 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 73027B6B17012E5F0086D8E4 /* SqueakSSL.c in Sources */ = {isa = PBXBuildFile; fileRef = 73027B6A17012E5F0086D8E4 /* SqueakSSL.c */; }; + 732D9F4317012B6E00E25893 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 732D9F4117012B6E00E25893 /* Security.framework */; }; + 732D9F4417012B6E00E25893 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 732D9F4217012B6E00E25893 /* CoreFoundation.framework */; }; + 73D8A6421701272700C66275 /* sqMacSSL.c in Sources */ = {isa = PBXBuildFile; fileRef = 73D8A6411701272700C66275 /* sqMacSSL.c */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 32BAE0B30371A71500C91783 /* SqueakSSL_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SqueakSSL_Prefix.pch; sourceTree = ""; }; + 73027B6A17012E5F0086D8E4 /* SqueakSSL.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SqueakSSL.c; path = ../../src/plugins/SqueakSSL/SqueakSSL.c; sourceTree = SOURCE_ROOT; }; + 732D9F4117012B6E00E25893 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = ""; }; + 732D9F4217012B6E00E25893 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; + 73811791170128D400CB30CE /* sq.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sq.h; path = ../../platforms/Cross/vm/sq.h; sourceTree = SOURCE_ROOT; }; + 73D8A62E1701259800C66275 /* SqueakSSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SqueakSSL.h; path = ../../platforms/Cross/plugins/SqueakSSL/SqueakSSL.h; sourceTree = SOURCE_ROOT; }; + 73D8A6411701272700C66275 /* sqMacSSL.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sqMacSSL.c; path = "../../platforms/Mac OS/plugins/SqueakSSL/sqMacSSL.c"; sourceTree = SOURCE_ROOT; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* SqueakSSL.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SqueakSSL.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + DA3A20F50AA63CBF0050B983 /* interp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = interp.h; path = ../../src/vm/interp.h; sourceTree = SOURCE_ROOT; }; + DA3A20F60AA63CDC0050B983 /* sqMemoryAccess.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqMemoryAccess.h; path = ../../platforms/Cross/vm/sqMemoryAccess.h; sourceTree = SOURCE_ROOT; }; + DA3A20F70AA63CDC0050B983 /* sqVirtualMachine.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqVirtualMachine.h; path = ../../platforms/Cross/vm/sqVirtualMachine.h; sourceTree = SOURCE_ROOT; }; + DA3A20F80AA63D000050B983 /* config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = config.h; path = "../../platforms/Mac OS/vm/config.h"; sourceTree = SOURCE_ROOT; }; + DA3A20F90AA63D000050B983 /* sqConfig.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqConfig.h; path = "../../platforms/Mac OS/vm/sqConfig.h"; sourceTree = SOURCE_ROOT; }; + DA3A20FA0AA63D000050B983 /* sqPlatformSpecific.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqPlatformSpecific.h; path = "../../platforms/Mac OS/vm/sqPlatformSpecific.h"; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 732D9F4317012B6E00E25893 /* Security.framework in Frameworks */, + 732D9F4417012B6E00E25893 /* CoreFoundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* SqueakSSL */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = SqueakSSL; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 732D9F4017012B6E00E25893 /* Frameworks */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 73027B6717012E3F0086D8E4 /* SqueakSSL */, + 73D8A63C170125E500C66275 /* SqueakSSL */, + 73D8A636170125C500C66275 /* SqueakSSL */, + DA3A20F80AA63D000050B983 /* config.h */, + DA3A20F90AA63D000050B983 /* sqConfig.h */, + DA3A20FA0AA63D000050B983 /* sqPlatformSpecific.h */, + DA3A20F60AA63CDC0050B983 /* sqMemoryAccess.h */, + DA3A20F70AA63CDC0050B983 /* sqVirtualMachine.h */, + DA3A20F50AA63CBF0050B983 /* interp.h */, + 73811791170128D400CB30CE /* sq.h */, + 32BAE0B30371A71500C91783 /* SqueakSSL_Prefix.pch */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* SqueakSSL.bundle */, + ); + name = Products; + sourceTree = ""; + }; + 73027B6717012E3F0086D8E4 /* SqueakSSL */ = { + isa = PBXGroup; + children = ( + 73027B6A17012E5F0086D8E4 /* SqueakSSL.c */, + ); + name = SqueakSSL; + sourceTree = ""; + }; + 732D9F4017012B6E00E25893 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 732D9F4117012B6E00E25893 /* Security.framework */, + 732D9F4217012B6E00E25893 /* CoreFoundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 73D8A636170125C500C66275 /* SqueakSSL */ = { + isa = PBXGroup; + children = ( + 73D8A62E1701259800C66275 /* SqueakSSL.h */, + ); + name = SqueakSSL; + sourceTree = ""; + }; + 73D8A63C170125E500C66275 /* SqueakSSL */ = { + isa = PBXGroup; + children = ( + 73D8A6411701272700C66275 /* sqMacSSL.c */, + ); + name = SqueakSSL; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* SqueakSSL */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4FADC23308B4156C00ABE55E /* Build configuration list for PBXNativeTarget "SqueakSSL" */; + buildPhases = ( + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SqueakSSL; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = SqueakSSL; + productReference = 8D01CCD20486CAD60068D4B7 /* SqueakSSL.bundle */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 4FADC23708B4156C00ABE55E /* Build configuration list for PBXProject "SqueakSSL" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* SqueakSSL */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* SqueakSSL */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 73D8A6421701272700C66275 /* sqMacSSL.c in Sources */, + 73027B6B17012E5F0086D8E4 /* SqueakSSL.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 4FADC23408B4156C00ABE55E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = SqueakSSL_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Bundles"; + PRODUCT_NAME = SqueakSSL; + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; + }; + name = Debug; + }; + 4FADC23508B4156C00ABE55E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = i386; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = SqueakSSL_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Bundles"; + PRODUCT_NAME = SqueakSSL; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + 4FADC23808B4156C00ABE55E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = /Developer/Headers/FlatCarbon; + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + }; + name = Debug; + }; + 4FADC23908B4156C00ABE55E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = /Developer/Headers/FlatCarbon; + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 4FADC23308B4156C00ABE55E /* Build configuration list for PBXNativeTarget "SqueakSSL" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4FADC23408B4156C00ABE55E /* Debug */, + 4FADC23508B4156C00ABE55E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4FADC23708B4156C00ABE55E /* Build configuration list for PBXProject "SqueakSSL" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4FADC23808B4156C00ABE55E /* Debug */, + 4FADC23908B4156C00ABE55E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/macbuild/SqueakSSL/SqueakSSL_Prefix.pch b/macbuild/SqueakSSL/SqueakSSL_Prefix.pch new file mode 100644 index 0000000..e1af59f --- /dev/null +++ b/macbuild/SqueakSSL/SqueakSSL_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the 'Template' target in the 'Template' project. +// + +#include diff --git a/macbuild/Template/Template.xcodeproj/project.pbxproj b/macbuild/Template/Template.xcodeproj/project.pbxproj index 95fdc06..475ec17 100644 --- a/macbuild/Template/Template.xcodeproj/project.pbxproj +++ b/macbuild/Template/Template.xcodeproj/project.pbxproj @@ -149,7 +149,6 @@ COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = Template_Prefix.pch; @@ -164,12 +163,8 @@ 4FADC23508B4156C00ABE55E /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - ppc, - i386, - ); + ARCHS = i386; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = Template_Prefix.pch; INFOPLIST_FILE = Info.plist; @@ -186,7 +181,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = /Developer/Headers/FlatCarbon; PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; }; name = Debug; }; @@ -197,7 +192,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = /Developer/Headers/FlatCarbon; PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; }; name = Release; }; diff --git a/macbuild/makeclean b/macbuild/makeclean index 65b820e..caf0ad9 100755 --- a/macbuild/makeclean +++ b/macbuild/makeclean @@ -1,3 +1,3 @@ #!/bin/bash -rm -r ./build ./*/build ./plugin-projects/*/build ./Fast.app ./Debug.app ./Assert.app ./Croquet.app +rm -r ./build ./*/build ./plugin-projects/*/build ./Fast.app ./Debug.app ./Assert.app ./Croquet.app ./Squeak.app diff --git a/macbuild/makevm b/macbuild/makevm index 2931245..bc4fcd0 100755 --- a/macbuild/makevm +++ b/macbuild/makevm @@ -1,13 +1,14 @@ #!/bin/bash # Build a "complete" Mac VM consisting of CoreVM/CoreMTVM + Plugins. -# By default build the Deployment configuration into Croquet.app. +# By default build the Deployment configuration into $APP (Squeak.app) IFS=' ' BUILD_CONFIGURATION=Deployment NSD_BUILD_CONFIGURATION=Deployment XCD_BUILD_CONFIGURATION=Release +APP=Squeak.app VMAPP=".app" -DEST="Croquet" +DEST="Squeak" VMXCP=CoreVM SFP=SqueakFFIPrims KEEP= @@ -36,7 +37,7 @@ while getopts 'admskh?' opt $@; do echo ' -d: compile Development configuration in Debug.app for debugging' echo ' -m: compile the multi-threaded version of the target, e.g. FastMT.app instead of Fast.app' echo ' -s: compile DeploymentSymbols configuration in Fast.app for partial debugging' - echo ' -k: keep (do not delete) the existing Croquet.app prior to the build' + echo " -k: keep (do not delete) the existing $APP prior to the build" echo ' -h: display this help' exit 0;; esac @@ -61,9 +62,9 @@ echo echo $VMXCP xcodebuild -project $VMXCP.xcodeproj -configuration $BUILD_CONFIGURATION xcodebuild -project $VMXCP.xcodeproj -configuration $BUILD_CONFIGURATION if [ -d "$DEST" ]; then - mv build/$BUILD_CONFIGURATION/Croquet.app/* "$DEST" + mv build/$BUILD_CONFIGURATION/$APP/* "$DEST" else - mv build/$BUILD_CONFIGURATION/Croquet.app "$DEST" + mv build/$BUILD_CONFIGURATION/$APP "$DEST" fi ../scripts/versionInfoPlist ../platforms CoreVM.plist "$DEST/Contents/Info.plist" @@ -101,6 +102,13 @@ xcodebuild -project $SFP/SqueakFFI.xcodeproj -configuration $NSD_BUILD_CONFIGURA rm -rf "$DEST/Contents/Resources/SqueakFFIPrims.bundle" cp -R $SFP/build/$NSD_BUILD_CONFIGURATION/SqueakFFIPrims.bundle "$DEST/Contents/Resources" +# Build the SSL plugin (New as of 25 March 2013) +echo +echo SqueakSSL xcodebuild -project SqueakSSL/SqueakSSL.xcodeproj -configuration $XCD_BUILD_CONFIGURATION +xcodebuild -project SqueakSSL/SqueakSSL.xcodeproj -configuration $XCD_BUILD_CONFIGURATION +rm -rf "$DEST/Contents/Resources/SqueakSSL.bundle" +cp -R SqueakSSL/build/$XCD_BUILD_CONFIGURATION/SqueakSSL.bundle "$DEST/Contents/Resources" + # Build the BochsIA32Plugin # N.B. To build the plugin you also have to build the Bochs libraries in # ../processors/IA32/bochs. cd ../processors/IA32/bochs. Run conf.COG & makeem. diff --git a/macbuild/plugins.ext b/macbuild/plugins.ext index 4f31874..1d7f976 100644 --- a/macbuild/plugins.ext +++ b/macbuild/plugins.ext @@ -3,6 +3,7 @@ EXTERNAL_PLUGINS = \ BochsIA32Plugin \ CroquetPlugin \ SqueakFFIPrims \ +SqueakSSL \ FloatArrayPlugin \ FloatMathPlugin \ Mpeg3Plugin \ diff --git a/macbuild/resources/ProjectBuilder/GreenCogSqueak.icns b/macbuild/resources/ProjectBuilder/GreenCogSqueak.icns new file mode 100644 index 0000000..acdd741 Binary files /dev/null and b/macbuild/resources/ProjectBuilder/GreenCogSqueak.icns differ diff --git a/nscogbuild/cygwinbuild/Makefile b/nscogbuild/cygwinbuild/Makefile index a67dad4..80895ca 100644 --- a/nscogbuild/cygwinbuild/Makefile +++ b/nscogbuild/cygwinbuild/Makefile @@ -165,7 +165,8 @@ OBJCOPY:= objcopy # Note: RC compiles the .rc files into linkable .o files # RC:= windres -RCFLAGS:= --include-dir $(PLATDIR)/win32/misc -D_WIN32 +SVNREV:= $(shell sed -e "s/^static.*SvnRawRevisionString.*Rev: \([0-9][0-9]*\).*/\\1/p" -e d $(PLATDIR)/Cross/vm/sqSCCSVersion.h) +RCFLAGS:= --include-dir $(PLATDIR)/win32/misc -D_WIN32 -DFILEVERSIONVALUES=4,0,$(SVNREV),0 '-DFILEVERSIONSTRING=\"4.0.$(SVNREV)\\0\"' .SUFFIXES: .SUFFIXES: .ccg .cc .c .o .s .i .rc .res .cg .hg .ccg .cpp diff --git a/nscogbuild/cygwinbuild/nsvm.rc b/nscogbuild/cygwinbuild/nsvm.rc index db8fbc7..ca627d3 100644 --- a/nscogbuild/cygwinbuild/nsvm.rc +++ b/nscogbuild/cygwinbuild/nsvm.rc @@ -11,4 +11,30 @@ #endif CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "nsvm.exe.manifest" + +1 VERSIONINFO + FILEVERSION FILEVERSIONVALUES + PRODUCTVERSION 4,0,0,0 + FILEFLAGSMASK 0x3fL + FILEFLAGS 0xaL + FILEOS 0x10001L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" // Lang=US English, CharSet=Windows Multilin + BEGIN + VALUE "CompanyName", "newspeaklanguage.org\0" + VALUE "FileDescription", "Newsqueak Cog Virtual Machine\0" + VALUE "FileVersion", FILEVERSIONSTRING + VALUE "ProductName", "Newsqueak Cog\0" + VALUE "ProductVersion", "4.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END #endif diff --git a/nscogbuild/cygwinbuild/plugins.ext b/nscogbuild/cygwinbuild/plugins.ext index e5ec84c..ad37a37 100644 --- a/nscogbuild/cygwinbuild/plugins.ext +++ b/nscogbuild/cygwinbuild/plugins.ext @@ -1,2 +1,4 @@ # Copied, perhaps edited, from ../../nscogsrc/examplePlugins.ext +# N.B. SqueakSSL is not ready for prime time. Compiles but does not link fully. +# See platforms/win32/plugins/SqueakSSL/Makefile EXTERNAL_PLUGINS = diff --git a/nscogbuild/macbuild/SqueakSSL/Info.plist b/nscogbuild/macbuild/SqueakSSL/Info.plist new file mode 100644 index 0000000..ebd8fcc --- /dev/null +++ b/nscogbuild/macbuild/SqueakSSL/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + SquealSSL + CFBundleIconFile + + CFBundleIdentifier + org.squeak.Cog.SqueakSSL + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + FAST + CFBundleVersion + 1.0 + CFBundleShortVersionString + 1.0 + CSResourcesFileMapped + + + diff --git a/nscogbuild/macbuild/SqueakSSL/SqueakSSL.xcodeproj/eliot.mode1v3 b/nscogbuild/macbuild/SqueakSSL/SqueakSSL.xcodeproj/eliot.mode1v3 new file mode 100644 index 0000000..7fd186e --- /dev/null +++ b/nscogbuild/macbuild/SqueakSSL/SqueakSSL.xcodeproj/eliot.mode1v3 @@ -0,0 +1,1367 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 73D8A60C170124CE00C66275 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 089C167CFE841241C02AAC07 + 732D9F4017012B6E00E25893 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 13 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 850}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 868}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 305 234 1066 909 0 0 1920 1178 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Info.plist + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Info.plist + _historyCapacity + 0 + bookmark + 73027B7017012E740086D8E4 + history + + 732D9F7A17012BA000E25893 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {858, 663}} + RubberWindowFrame + 305 234 1066 909 0 0 1920 1178 + + Module + PBXNavigatorGroup + Proportion + 663pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 668}, {858, 200}} + RubberWindowFrame + 305 234 1066 909 0 0 1920 1178 + + Module + XCDetailModule + Proportion + 200pt + + + Proportion + 858pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 73027B7117012E740086D8E4 + 1CE0B1FE06471DED0097A5F4 + 73027B7217012E740086D8E4 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 73D8A60D170124CE00C66275 + /Users/eliot/Cog/oscogvm/macbuild/SqueakSSL/SqueakSSL.xcodeproj + + WindowString + 305 234 1066 909 0 0 1920 1178 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 613 500 500 500 0 0 1920 1178 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 613 500 500 500 0 0 1920 1178 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 73D8A60D170124CE00C66275 + 73027B7317012E740086D8E4 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 613 500 500 500 0 0 1920 1178 + WindowToolGUID + 73D8A60D170124CE00C66275 + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/nscogbuild/macbuild/SqueakSSL/SqueakSSL.xcodeproj/project.pbxproj b/nscogbuild/macbuild/SqueakSSL/SqueakSSL.xcodeproj/project.pbxproj new file mode 100644 index 0000000..5f93ff0 --- /dev/null +++ b/nscogbuild/macbuild/SqueakSSL/SqueakSSL.xcodeproj/project.pbxproj @@ -0,0 +1,270 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 73027B6B17012E5F0086D8E4 /* SqueakSSL.c in Sources */ = {isa = PBXBuildFile; fileRef = 73027B6A17012E5F0086D8E4 /* SqueakSSL.c */; }; + 732D9F4317012B6E00E25893 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 732D9F4117012B6E00E25893 /* Security.framework */; }; + 732D9F4417012B6E00E25893 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 732D9F4217012B6E00E25893 /* CoreFoundation.framework */; }; + 73D8A6421701272700C66275 /* sqMacSSL.c in Sources */ = {isa = PBXBuildFile; fileRef = 73D8A6411701272700C66275 /* sqMacSSL.c */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 32BAE0B30371A71500C91783 /* SqueakSSL_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SqueakSSL_Prefix.pch; sourceTree = ""; }; + 73027B6A17012E5F0086D8E4 /* SqueakSSL.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SqueakSSL.c; path = ../../../src/plugins/SqueakSSL/SqueakSSL.c; sourceTree = SOURCE_ROOT; }; + 732D9F4117012B6E00E25893 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = ""; }; + 732D9F4217012B6E00E25893 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; + 73811791170128D400CB30CE /* sq.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sq.h; path = ../../../platforms/Cross/vm/sq.h; sourceTree = SOURCE_ROOT; }; + 73D8A62E1701259800C66275 /* SqueakSSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SqueakSSL.h; path = ../../../platforms/Cross/plugins/SqueakSSL/SqueakSSL.h; sourceTree = SOURCE_ROOT; }; + 73D8A6411701272700C66275 /* sqMacSSL.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sqMacSSL.c; path = "../../../platforms/Mac OS/plugins/SqueakSSL/sqMacSSL.c"; sourceTree = SOURCE_ROOT; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* SqueakSSL.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SqueakSSL.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + DA3A20F50AA63CBF0050B983 /* interp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = interp.h; path = ../../../src/vm/interp.h; sourceTree = SOURCE_ROOT; }; + DA3A20F60AA63CDC0050B983 /* sqMemoryAccess.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqMemoryAccess.h; path = ../../../platforms/Cross/vm/sqMemoryAccess.h; sourceTree = SOURCE_ROOT; }; + DA3A20F70AA63CDC0050B983 /* sqVirtualMachine.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqVirtualMachine.h; path = ../../../platforms/Cross/vm/sqVirtualMachine.h; sourceTree = SOURCE_ROOT; }; + DA3A20F80AA63D000050B983 /* config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = config.h; path = "../../../platforms/Mac OS/vm/config.h"; sourceTree = SOURCE_ROOT; }; + DA3A20F90AA63D000050B983 /* sqConfig.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqConfig.h; path = "../../../platforms/Mac OS/vm/sqConfig.h"; sourceTree = SOURCE_ROOT; }; + DA3A20FA0AA63D000050B983 /* sqPlatformSpecific.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqPlatformSpecific.h; path = "../../../platforms/Mac OS/vm/sqPlatformSpecific.h"; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 732D9F4317012B6E00E25893 /* Security.framework in Frameworks */, + 732D9F4417012B6E00E25893 /* CoreFoundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* SqueakSSL */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = SqueakSSL; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 732D9F4017012B6E00E25893 /* Frameworks */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 73027B6717012E3F0086D8E4 /* SqueakSSL */, + 73D8A63C170125E500C66275 /* SqueakSSL */, + 73D8A636170125C500C66275 /* SqueakSSL */, + DA3A20F80AA63D000050B983 /* config.h */, + DA3A20F90AA63D000050B983 /* sqConfig.h */, + DA3A20FA0AA63D000050B983 /* sqPlatformSpecific.h */, + DA3A20F60AA63CDC0050B983 /* sqMemoryAccess.h */, + DA3A20F70AA63CDC0050B983 /* sqVirtualMachine.h */, + DA3A20F50AA63CBF0050B983 /* interp.h */, + 73811791170128D400CB30CE /* sq.h */, + 32BAE0B30371A71500C91783 /* SqueakSSL_Prefix.pch */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* SqueakSSL.bundle */, + ); + name = Products; + sourceTree = ""; + }; + 73027B6717012E3F0086D8E4 /* SqueakSSL */ = { + isa = PBXGroup; + children = ( + 73027B6A17012E5F0086D8E4 /* SqueakSSL.c */, + ); + name = SqueakSSL; + sourceTree = ""; + }; + 732D9F4017012B6E00E25893 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 732D9F4117012B6E00E25893 /* Security.framework */, + 732D9F4217012B6E00E25893 /* CoreFoundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 73D8A636170125C500C66275 /* SqueakSSL */ = { + isa = PBXGroup; + children = ( + 73D8A62E1701259800C66275 /* SqueakSSL.h */, + ); + name = SqueakSSL; + sourceTree = ""; + }; + 73D8A63C170125E500C66275 /* SqueakSSL */ = { + isa = PBXGroup; + children = ( + 73D8A6411701272700C66275 /* sqMacSSL.c */, + ); + name = SqueakSSL; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* SqueakSSL */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4FADC23308B4156C00ABE55E /* Build configuration list for PBXNativeTarget "SqueakSSL" */; + buildPhases = ( + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SqueakSSL; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = SqueakSSL; + productReference = 8D01CCD20486CAD60068D4B7 /* SqueakSSL.bundle */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 4FADC23708B4156C00ABE55E /* Build configuration list for PBXProject "SqueakSSL" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* SqueakSSL */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* SqueakSSL */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 73D8A6421701272700C66275 /* sqMacSSL.c in Sources */, + 73027B6B17012E5F0086D8E4 /* SqueakSSL.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 4FADC23408B4156C00ABE55E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = SqueakSSL_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Bundles"; + PRODUCT_NAME = SqueakSSL; + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; + }; + name = Debug; + }; + 4FADC23508B4156C00ABE55E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = i386; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = SqueakSSL_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Bundles"; + PRODUCT_NAME = SqueakSSL; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + 4FADC23808B4156C00ABE55E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = /Developer/Headers/FlatCarbon; + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + }; + name = Debug; + }; + 4FADC23908B4156C00ABE55E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = /Developer/Headers/FlatCarbon; + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 4FADC23308B4156C00ABE55E /* Build configuration list for PBXNativeTarget "SqueakSSL" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4FADC23408B4156C00ABE55E /* Debug */, + 4FADC23508B4156C00ABE55E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4FADC23708B4156C00ABE55E /* Build configuration list for PBXProject "SqueakSSL" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4FADC23808B4156C00ABE55E /* Debug */, + 4FADC23908B4156C00ABE55E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/nscogbuild/macbuild/SqueakSSL/SqueakSSL_Prefix.pch b/nscogbuild/macbuild/SqueakSSL/SqueakSSL_Prefix.pch new file mode 100644 index 0000000..e1af59f --- /dev/null +++ b/nscogbuild/macbuild/SqueakSSL/SqueakSSL_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the 'Template' target in the 'Template' project. +// + +#include diff --git a/nscogbuild/macbuild/makevm b/nscogbuild/macbuild/makevm index 1b07e34..37b0eb1 100755 --- a/nscogbuild/macbuild/makevm +++ b/nscogbuild/macbuild/makevm @@ -7,6 +7,7 @@ BUILD_CONFIGURATION=Deployment NSD_BUILD_CONFIGURATION=Deployment XCD_BUILD_CONFIGURATION=Release DEST="Newspeak Virtual Machine.app" +CONF=FAST KEEP= USAGE="usage: `basename $0` -[adskh?]" @@ -16,10 +17,12 @@ while getopts 'adskh?' opt $@; do a) BUILD_CONFIGURATION=Assert NSD_BUILD_CONFIGURATION=Development XCD_BUILD_CONFIGURATION=Debug + CONF=ASSERT DEST="Assert.app";; d) BUILD_CONFIGURATION=Development NSD_BUILD_CONFIGURATION=Development XCD_BUILD_CONFIGURATION=Debug + CONF=DEBUG DEST="Debug.app";; s) BUILD_CONFIGURATION=DeploymentSymbols DEST="Fast.app";; @@ -58,6 +61,14 @@ else mv build/$BUILD_CONFIGURATION/Newspeak\ Virtual\ Machine.app "$DEST" fi ../../scripts/versionInfoPlist ../../platforms CoreVM.plist "$DEST/Contents/Info.plist" +ex -u NONE "+g/????/s/????/$CONF/" +w +q "$DEST/Contents/Info.plist" + +# Build the SSL plugin (New as of 25 March 2013) +echo +echo SqueakSSL xcodebuild -project SqueakSSL/SqueakSSL.xcodeproj -configuration $XCD_BUILD_CONFIGURATION +xcodebuild -project SqueakSSL/SqueakSSL.xcodeproj -configuration $XCD_BUILD_CONFIGURATION +rm -rf "$DEST/Contents/Resources/SqueakSSL.bundle" +cp -R SqueakSSL/build/$XCD_BUILD_CONFIGURATION/SqueakSSL.bundle "$DEST/Contents/Resources" if false; then # Build the BochsIA32Plugin diff --git a/nscogbuild/macbuild/plugins.ext b/nscogbuild/macbuild/plugins.ext new file mode 100644 index 0000000..b0aa202 --- /dev/null +++ b/nscogbuild/macbuild/plugins.ext @@ -0,0 +1,3 @@ +# Copied, perhaps edited, from ../src/examplePlugins.ext +EXTERNAL_PLUGINS = \ +SqueakSSL diff --git a/nscogbuild/unixbuild/astbld/plugins.ext b/nscogbuild/unixbuild/astbld/plugins.ext index f4c7ea4..d12b438 100644 --- a/nscogbuild/unixbuild/astbld/plugins.ext +++ b/nscogbuild/unixbuild/astbld/plugins.ext @@ -1,2 +1,3 @@ # Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext EXTERNAL_PLUGINS = \ +SqueakSSL diff --git a/nscogbuild/unixbuild/bld/plugins.ext b/nscogbuild/unixbuild/bld/plugins.ext index f4c7ea4..d12b438 100644 --- a/nscogbuild/unixbuild/bld/plugins.ext +++ b/nscogbuild/unixbuild/bld/plugins.ext @@ -1,2 +1,3 @@ # Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext EXTERNAL_PLUGINS = \ +SqueakSSL diff --git a/nscogbuild/unixbuild/dbgbld/plugins.ext b/nscogbuild/unixbuild/dbgbld/plugins.ext index f4c7ea4..d12b438 100644 --- a/nscogbuild/unixbuild/dbgbld/plugins.ext +++ b/nscogbuild/unixbuild/dbgbld/plugins.ext @@ -1,2 +1,3 @@ # Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext EXTERNAL_PLUGINS = \ +SqueakSSL diff --git a/platforms/Mac OS/plugins/SqueakSSL/sqMacSSL.c b/platforms/Mac OS/plugins/SqueakSSL/sqMacSSL.c new file mode 100644 index 0000000..804104a --- /dev/null +++ b/platforms/Mac OS/plugins/SqueakSSL/sqMacSSL.c @@ -0,0 +1,479 @@ +/* sqMacSSL.c: SqueakSSL implementation based on Mac OSX Security Services */ +#include "sq.h" +#include "SqueakSSL.h" + +#include +#include + +typedef struct sqSSL { + int state; + int certFlags; + int loglevel; + + char *certName; + char *peerName; + + + SSLContextRef ctx; + CFArrayRef certs; + + /* internal data buffer */ + char *dataBuf; + int dataLen; + int dataMax; + + /* external data buffer */ + char *outBuf; + int outLen; + int outMax; +} sqSSL; + + +static sqSSL **handleBuf = NULL; +static sqInt handleMax = 0; + + +/********************************************************************/ +/********************************************************************/ +/********************************************************************/ + +/* SqueakSSLRead: Custom read function for Secure Transport */ +OSStatus SqueakSSLRead(SSLConnectionRef connection, void *data, + size_t *dataLength) { + sqSSL *ssl = (sqSSL*) connection; + size_t sz = *dataLength; + + if(ssl->loglevel) + printf("SqueakSSLRead: Requesting %d bytes, having %d bytes\n", + (int)sz, ssl->dataLen); + if(ssl->dataLen < sz) sz = ssl->dataLen; + memcpy(data, ssl->dataBuf, sz); + /* Did we have enough data? */ + if(sz == *dataLength) { + /* Adjust read buffer */ + memmove(ssl->dataBuf, ssl->dataBuf+sz, ssl->dataLen - sz); + ssl->dataLen -= sz; + *dataLength = sz; + return noErr; + } + ssl->dataLen = 0; + *dataLength = sz; + return errSSLWouldBlock; +} + +/* SqueakSSLRead: Custom write function for Secure Transport */ +OSStatus SqueakSSLWrite(SSLConnectionRef connection, const void *data, + size_t *dataLength) { + sqSSL *ssl = (sqSSL*) connection; + size_t sz = ssl->outMax - ssl->outLen; + + if(ssl->loglevel) + printf("SqueakSSLWrite: Writing %d bytes, having %d free\n", + (int)*dataLength, (int)sz); + if(sz == 0) { + *dataLength = 0; + return errSSLWouldBlock; + } + if(*dataLength < sz) sz = *dataLength; + memcpy(ssl->outBuf + ssl->outLen, data, sz); + ssl->outLen += sz; + *dataLength = sz; + return noErr; +} + +/********************************************************************/ +/********************************************************************/ +/********************************************************************/ + +/* sslFromHandle: Maps a handle to an SSL */ +static sqSSL *sslFromHandle(sqInt handle) { + return handle < handleMax ? handleBuf[handle] : NULL; +} + +/* sqSetupSSL: Common SSL setup task */ + +int sqSetupSSL(sqSSL *ssl, int isServer) { + OSStatus status; + + if(ssl->loglevel) printf("sqSetupSSL: Setting up new context\n"); + /* Create the new context */ + status = SSLNewContext(isServer, &ssl->ctx); + if(status) { + if(ssl->loglevel) printf("SSLNewContext failed: code = %d\n", (int)status); + return 0; + } + /* Set the connection ref */ + status = SSLSetConnection(ssl->ctx, ssl); + if(status) { + if(ssl->loglevel) printf("SSLSetConnection failed: code = %d\n", (int)status); + return 0; + } + + /* Set up the read/write functions */ + status = SSLSetIOFuncs(ssl->ctx,SqueakSSLRead, SqueakSSLWrite); + if(status) { + if(ssl->loglevel) printf("SSLSetIOFuncs failed: code = %d\n", (int)status); + return 0; + } + + /* Enable desired protocols */ + status = SSLSetProtocolVersionEnabled(ssl->ctx, kSSLProtocol2, false); + if(status) { + if(ssl->loglevel) printf("SSLSetProtocolVersionEnabled failed: code = %d\n", (int)status); + return 0; + } + + status = SSLSetProtocolVersionEnabled(ssl->ctx, kSSLProtocol3, true); + if(status) { + if(ssl->loglevel) printf("SSLSetProtocolVersionEnabled failed: code = %d\n", (int)status); + return 0; + } + + status = SSLSetProtocolVersionEnabled(ssl->ctx, kTLSProtocol1, true); + if(status) { + if(ssl->loglevel) printf("SSLSetProtocolVersionEnabled failed: code = %d\n", (int)status); + return 0; + } + /* Disable cert verification since we do that ourselves */ + status = SSLSetEnableCertVerify(ssl->ctx, false); + if(status) { + if(ssl->loglevel) printf("SSLSetEnableCertVerify failed: code = %d\n", (int)status); + return 0; + } + + return 1; +} + +/********************************************************************/ +/********************************************************************/ +/********************************************************************/ + +/* sqCreateSSL: Creates a new SSL instance. + Arguments: None. + Returns: SSL handle. +*/ +sqInt sqCreateSSL(void) { + sqInt handle = 0; + sqSSL *ssl = NULL; + + + ssl = calloc(1, sizeof(sqSSL)); + ssl->loglevel = 0; + + /* Find a free handle */ + for(handle = 1; handle < handleMax; handle++) + if(handleBuf[handle] == NULL) break; + + if(handle >= handleMax) { + int i, delta = 100; + /* Resize the handle buffer */ + handleBuf = realloc(handleBuf, (handleMax+delta)*sizeof(void*)); + for(i = handleMax; i < handleMax+delta; i++) + handleBuf[i] = NULL; + handleMax += delta; + } + handleBuf[handle] = ssl; + return handle; +} + +/* sqDestroySSL: Destroys an SSL instance. + Arguments: + handle - the SSL handle + Returns: Non-zero if successful. +*/ +sqInt sqDestroySSL(sqInt handle) { + sqSSL *ssl = sslFromHandle(handle); + if(ssl == NULL) return 0; + + if(ssl->certName) free(ssl->certName); + if(ssl->peerName) free(ssl->peerName); + + free(ssl); + handleBuf[handle] = NULL; + return 1; +} + +/* sqConnectSSL: Start/continue an SSL client handshake. + Arguments: + handle - the SSL handle + srcBuf - the input token sent by the remote peer + srcLen - the size of the input token + dstBuf - the output buffer for a new token + dstLen - the size of the output buffer + Returns: The size of the output token or an error code. +*/ +sqInt sqConnectSSL(sqInt handle, char* srcBuf, sqInt srcLen, char *dstBuf, sqInt dstLen) { + OSStatus status; + sqSSL *ssl = sslFromHandle(handle); + + if(ssl->loglevel) printf("sqConnectSSL: %x\n", (int)ssl); + + /* Verify state of session */ + if(ssl == NULL || (ssl->state != SQSSL_UNUSED && ssl->state != SQSSL_CONNECTING)) { + return SQSSL_INVALID_STATE; + } + + /* Set up the output buffer */ + ssl->outBuf = dstBuf; + ssl->outLen = 0; + ssl->outMax = dstLen; + + if(ssl->dataLen + srcLen > ssl->dataMax) { + /* resize the data buffer */ + ssl->dataMax += (srcLen < 4096) ? (4096) : (srcLen+1024); + ssl->dataBuf = realloc(ssl->dataBuf, ssl->dataMax); + if(!ssl->dataBuf) return SQSSL_OUT_OF_MEMORY; + } + if(ssl->loglevel) printf("sqConnectSSL: input token %d bytes\n", srcLen); + memcpy(ssl->dataBuf + ssl->dataLen, srcBuf, srcLen); + ssl->dataLen += srcLen; + + /* Establish initial connection */ + if(ssl->state == SQSSL_UNUSED) { + ssl->state = SQSSL_CONNECTING; + if(ssl->loglevel) printf("sqConnectSSL: Setting up SSL\n"); + if(!sqSetupSSL(ssl, 0)) return SQSSL_GENERIC_ERROR; + } + + status = SSLHandshake(ssl->ctx); + if(status == errSSLWouldBlock) { + /* Return token to caller */ + if(ssl->loglevel) printf("sqConnectSSL: Produced %d token bytes\n", ssl->outLen); + return ssl->outLen ? ssl->outLen : SQSSL_NEED_MORE_DATA; + } + if(status != noErr) { + if(ssl->loglevel) printf("sqConnectSSL: SSLHandshake returned %d\n", (int)status); + return SQSSL_GENERIC_ERROR; + } + /* We are connected. Verify the cert. */ + ssl->state = SQSSL_CONNECTED; + ssl->certFlags = -1; + + /* Extract the peer name from the cert */ + status = SSLCopyPeerCertificates(ssl->ctx, &ssl->certs); + if(status == noErr) { + if(CFArrayGetCount(ssl->certs) > 0) { + char peerName[256]; + CFStringRef cfName; + SecCertificateRef cert = (SecCertificateRef) CFArrayGetValueAtIndex(ssl->certs, 0); + status = SecCertificateCopyCommonName(cert, &cfName); + if(status == noErr) { + CFStringGetCString(cfName, peerName, sizeof(peerName), kCFStringEncodingUTF8); + ssl->peerName = strdup(peerName); + CFRelease(cfName); + } + } + } + return 0; +} + +/* sqAcceptSSL: Start/continue an SSL server handshake. + Arguments: + handle - the SSL handle + srcBuf - the input token sent by the remote peer + srcLen - the size of the input token + dstBuf - the output buffer for a new token + dstLen - the size of the output buffer + Returns: The size of the output token or an error code. +*/ +sqInt sqAcceptSSL(sqInt handle, char* srcBuf, sqInt srcLen, char *dstBuf, sqInt dstLen) { + OSStatus status; + sqSSL *ssl = sslFromHandle(handle); + + /* Verify state of session */ + if(ssl == NULL || (ssl->state != SQSSL_UNUSED && ssl->state != SQSSL_ACCEPTING)) { + return SQSSL_INVALID_STATE; + } + + /* Set up the output buffer */ + ssl->outBuf = dstBuf; + ssl->outLen = 0; + ssl->outMax = dstLen; + + if(ssl->dataLen + srcLen > ssl->dataMax) { + /* resize the data buffer */ + ssl->dataMax += (srcLen < 4096) ? (4096) : (srcLen+1024); + ssl->dataBuf = realloc(ssl->dataBuf, ssl->dataMax); + if(!ssl->dataBuf) return SQSSL_OUT_OF_MEMORY; + } + if(ssl->loglevel) printf("sqConnectSSL: input token %d bytes\n", srcLen); + memcpy(ssl->dataBuf + ssl->dataLen, srcBuf, srcLen); + ssl->dataLen += srcLen; + + /* Establish initial connection */ + if(ssl->state == SQSSL_UNUSED) { + ssl->state = SQSSL_ACCEPTING; + if(ssl->loglevel) printf("sqAcceptSSL: Setting up SSL\n"); + if(!sqSetupSSL(ssl, 1)) return SQSSL_GENERIC_ERROR; + if(ssl->loglevel) printf("sqAcceptSSL: setting accept state\n"); + } + + status = SSLHandshake(ssl->ctx); + if(status == errSSLWouldBlock) { + /* Return token to caller */ + return ssl->outLen ? ssl->outLen : SQSSL_NEED_MORE_DATA; + } + if(status != noErr) { + if(ssl->loglevel) printf("sqConnectSSL: SSLHandshake returned %d\n", (int)status); + return SQSSL_GENERIC_ERROR; + } + /* We are connected. Verify the cert. */ + ssl->state = SQSSL_CONNECTED; + return 0; +} + +/* sqEncryptSSL: Encrypt data for SSL transmission. + Arguments: + handle - the SSL handle + srcBuf - the unencrypted input data + srcLen - the size of the input data + dstBuf - the output buffer for the encrypted contents + dstLen - the size of the output buffer + Returns: The size of the output generated or an error code. +*/ +sqInt sqEncryptSSL(sqInt handle, char* srcBuf, sqInt srcLen, char *dstBuf, sqInt dstLen) { + size_t nbytes; + OSStatus status; + sqSSL *ssl = sslFromHandle(handle); + + if(ssl == NULL || ssl->state != SQSSL_CONNECTED) return SQSSL_INVALID_STATE; + + /* Set up the output buffer */ + ssl->outBuf = dstBuf; + ssl->outLen = 0; + ssl->outMax = dstLen; + + if(ssl->loglevel) printf("sqEncryptSSL: Encrypting %d bytes\n", srcLen); + + status = SSLWrite(ssl->ctx, srcBuf, srcLen, &nbytes); + if(nbytes != srcLen) return SQSSL_GENERIC_ERROR; + if(status == errSSLWouldBlock || status == noErr) return ssl->outLen; + if(ssl->loglevel) printf("sqDecryptSSL: SSLWrite returned %d\n", (int)status); + return SQSSL_GENERIC_ERROR; +} + +/* sqDecryptSSL: Decrypt data for SSL transmission. + Arguments: + handle - the SSL handle + srcBuf - the encrypted input data + srcLen - the size of the input data + dstBuf - the output buffer for the decrypted contents + dstLen - the size of the output buffer + Returns: The size of the output generated or an error code. +*/ +sqInt sqDecryptSSL(sqInt handle, char* srcBuf, sqInt srcLen, char *dstBuf, sqInt dstLen) { + size_t nbytes = 0; + OSStatus status; + sqSSL *ssl = sslFromHandle(handle); + + if(ssl == NULL || ssl->state != SQSSL_CONNECTED) return SQSSL_INVALID_STATE; + + if(ssl->dataLen + srcLen > ssl->dataMax) { + /* resize the read buffer */ + ssl->dataMax += (srcLen < 4096) ? (4096) : (srcLen+1024); + ssl->dataBuf = realloc(ssl->dataBuf, ssl->dataMax); + if(!ssl->dataBuf) return SQSSL_OUT_OF_MEMORY; + } + if(ssl->loglevel) printf("sqDecryptSSL: Input data %d bytes\n", srcLen); + memcpy(ssl->dataBuf + ssl->dataLen, srcBuf, srcLen); + ssl->dataLen += srcLen; + + if(ssl->loglevel) printf("sqDecryptSSL: Decrypting %d bytes\n", ssl->dataLen); + + status = SSLRead(ssl->ctx, dstBuf, dstLen, &nbytes); + if(status == errSSLWouldBlock || status == noErr) return nbytes; + if(ssl->loglevel) printf("sqDecryptSSL: SSLRead returned %d\n", (int)status); + return SQSSL_GENERIC_ERROR; +} + +/* sqGetStringPropertySSL: Retrieve a string property from SSL. + Arguments: + handle - the ssl handle + propID - the property id to retrieve + Returns: The string value of the property. +*/ +char* sqGetStringPropertySSL(sqInt handle, int propID) { + sqSSL *ssl = sslFromHandle(handle); + + if(ssl == NULL) return NULL; + switch(propID) { + case SQSSL_PROP_PEERNAME: return ssl->peerName; + case SQSSL_PROP_CERTNAME: return ssl->certName; + default: + if(ssl->loglevel) printf("sqGetStringPropertySSL: Unknown property ID %d\n", propID); + return NULL; + } + return NULL; +} + +/* sqSetStringPropertySSL: Set a string property in SSL. + Arguments: + handle - the ssl handle + propID - the property id to retrieve + propName - the property string + propLen - the length of the property string + Returns: Non-zero if successful. +*/ +sqInt sqSetStringPropertySSL(sqInt handle, int propID, char *propName, sqInt propLen) { + sqSSL *ssl = sslFromHandle(handle); + char *property = NULL; + + if(ssl == NULL) return 0; + + if(propLen) { + property = calloc(1, propLen+1); + memcpy(property, propName, propLen); + }; + + if(ssl->loglevel) printf("sqSetStringPropertySSL(%d): %s\n", propID, property); + + switch(propID) { + case SQSSL_PROP_CERTNAME: ssl->certName = property; break; + default: + if(ssl->loglevel) printf("sqSetStringPropertySSL: Unknown property ID %d\n", propID); + return 0; + } + return 1; +} + +/* sqGetIntPropertySSL: Retrieve an integer property from SSL. + Arguments: + handle - the ssl handle + propID - the property id to retrieve + Returns: The integer value of the property. +*/ +int sqGetIntPropertySSL(sqInt handle, int propID) { + sqSSL *ssl = sslFromHandle(handle); + + if(ssl == NULL) return 0; + switch(propID) { + case SQSSL_PROP_SSLSTATE: return ssl->state; + case SQSSL_PROP_CERTSTATE: return ssl->certFlags; + case SQSSL_PROP_VERSION: return 1; + case SQSSL_PROP_LOGLEVEL: return ssl->loglevel; + default: + if(ssl->loglevel) printf("sqGetIntPropertySSL: Unknown property ID %d\n", propID); + return 0; + } + return 0; +} + +/* sqSetIntPropertySSL: Set an integer property in SSL. + Arguments: + handle - the ssl handle + propID - the property id to retrieve + propValue - the property value + Returns: Non-zero if successful. +*/ +sqInt sqSetIntPropertySSL(sqInt handle, sqInt propID, sqInt propValue) { + sqSSL *ssl = sslFromHandle(handle); + if(ssl == NULL) return 0; + + switch(propID) { + case SQSSL_PROP_LOGLEVEL: ssl->loglevel = propValue; break; + default: + if(ssl->loglevel) printf("sqSetIntPropertySSL: Unknown property ID %d\n", propID); + return 0; + } + return 1; +} diff --git a/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c b/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c new file mode 100644 index 0000000..b475109 --- /dev/null +++ b/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c @@ -0,0 +1,443 @@ +#include "sq.h" +#include "SqueakSSL.h" + +#include "openssl/ssl.h" +#include "openssl/err.h" + +typedef struct sqSSL { + int state; + int certFlags; + int loglevel; + + char *certName; + char *peerName; + + SSL_METHOD *method; + SSL_CTX *ctx; + SSL *ssl; + BIO *bioRead; + BIO *bioWrite; +} sqSSL; + + +static sqSSL **handleBuf = NULL; +static sqInt handleMax = 0; + +/********************************************************************/ +/********************************************************************/ +/********************************************************************/ + +/* sslFromHandle: Maps a handle to an SSL */ +static sqSSL *sslFromHandle(sqInt handle) { + return handle < handleMax ? handleBuf[handle] : NULL; +} + +/* sqCopyBioSSL: Copies data from a BIO into an out buffer */ +sqInt sqCopyBioSSL(sqSSL *ssl, BIO *bio, char *dstBuf, sqInt dstLen) { + int nbytes = BIO_ctrl_pending(bio); + + if(ssl->loglevel) printf("sqCopyBioSSL: %d bytes pending; buffer size %d\n", + nbytes, dstLen); + if(nbytes > dstLen) return -1; + return BIO_read(bio, dstBuf, dstLen); +} + +/* sqSetupSSL: Common SSL setup tasks */ +sqInt sqSetupSSL(sqSSL *ssl, int server) { + + /* Fixme. Needs to use specified version */ + if(ssl->loglevel) printf("sqSetupSSL: setting method\n"); + ssl->method = SSLv23_method(); + if(ssl->loglevel) printf("sqSetupSSL: Creating context\n"); + ssl->ctx = SSL_CTX_new(ssl->method); + + if(!ssl->ctx) ERR_print_errors_fp(stdout); + + if(ssl->loglevel) printf("sqSetupSSL: setting cipher list\n"); + SSL_CTX_set_cipher_list(ssl->ctx, "!ADH:HIGH:MEDIUM:@STRENGTH"); + + /* if a cert is provided, use it */ + if(ssl->certName) { + if(ssl->loglevel) printf("sqSetupSSL: Using cert file %s\n", ssl->certName); + if(SSL_CTX_use_certificate_file(ssl->ctx, ssl->certName, SSL_FILETYPE_PEM)<=0) + ERR_print_errors_fp(stderr); + + if(SSL_CTX_use_PrivateKey_file(ssl->ctx, ssl->certName, SSL_FILETYPE_PEM)<=0) + ERR_print_errors_fp(stderr); + } + + /* Set up trusted CA */ + if(ssl->loglevel) printf("sqSetupSSL: No root CA given; using default verify paths\n"); + if(SSL_CTX_set_default_verify_paths(ssl->ctx) <=0) + ERR_print_errors_fp(stderr); + + if(ssl->loglevel) printf("sqSetupSSL: Creating SSL\n"); + ssl->ssl = SSL_new(ssl->ctx); + if(ssl->loglevel) printf("sqSetupSSL: setting bios\n"); + SSL_set_bio(ssl->ssl, ssl->bioRead, ssl->bioWrite); + return 1; +} +/********************************************************************/ +/********************************************************************/ +/********************************************************************/ + +/* sqCreateSSL: Creates a new SSL instance. + Arguments: None. + Returns: SSL handle. +*/ +sqInt sqCreateSSL(void) { + sqInt handle = 0; + sqSSL *ssl = NULL; + + SSL_library_init(); + SSL_load_error_strings(); + + ssl = calloc(1, sizeof(sqSSL)); + ssl->bioRead = BIO_new(BIO_s_mem()); + ssl->bioWrite = BIO_new(BIO_s_mem()); + BIO_set_close(ssl->bioRead, BIO_CLOSE); + BIO_set_close(ssl->bioWrite, BIO_CLOSE); + + /* Find a free handle */ + for(handle = 1; handle < handleMax; handle++) + if(handleBuf[handle] == NULL) break; + + if(handle >= handleMax) { + int i, delta = 100; + /* Resize the handle buffer */ + handleBuf = realloc(handleBuf, (handleMax+delta)*sizeof(void*)); + for(i = handleMax; i < handleMax+delta; i++) + handleBuf[i] = NULL; + handleMax += delta; + } + handleBuf[handle] = ssl; + return handle; +} + +/* sqDestroySSL: Destroys an SSL instance. + Arguments: + handle - the SSL handle + Returns: Non-zero if successful. +*/ +sqInt sqDestroySSL(sqInt handle) { + sqSSL *ssl = sslFromHandle(handle); + if(ssl == NULL) return 0; + + if(ssl->ctx) SSL_CTX_free(ssl->ctx); + if(ssl->ssl) SSL_free(ssl->ssl); + + if(ssl->certName) free(ssl->certName); + if(ssl->peerName) free(ssl->peerName); + + free(ssl); + handleBuf[handle] = NULL; + return 1; +} + +/* sqConnectSSL: Start/continue an SSL client handshake. + Arguments: + handle - the SSL handle + srcBuf - the input token sent by the remote peer + srcLen - the size of the input token + dstBuf - the output buffer for a new token + dstLen - the size of the output buffer + Returns: The size of the output token or an error code. +*/ +sqInt sqConnectSSL(sqInt handle, char* srcBuf, sqInt srcLen, char *dstBuf, sqInt dstLen) { + int result, n; + char peerName[256]; + X509 *cert; + sqSSL *ssl = sslFromHandle(handle); + + if(ssl->loglevel) printf("sqConnectSSL: %x\n", (int)ssl); + + /* Verify state of session */ + if(ssl == NULL || (ssl->state != SQSSL_UNUSED && ssl->state != SQSSL_CONNECTING)) { + return SQSSL_INVALID_STATE; + } + + /* Establish initial connection */ + if(ssl->state == SQSSL_UNUSED) { + ssl->state = SQSSL_CONNECTING; + if(ssl->loglevel) print("sqConnectSSL: Setting up SSL\n"); + if(!sqSetupSSL(ssl, 0)) return SQSSL_GENERIC_ERROR; + if(ssl->loglevel) print("sqConnectSSL: Setting connect state\n"); + SSL_set_connect_state(ssl->ssl); + } + + if(ssl->loglevel) printf("sqConnectSSL: BIO_write %d bytes\n", srcLen); + + n = BIO_write(ssl->bioRead, srcBuf, srcLen); + + if(n < srcLen) { + if(ssl->loglevel) printf("sqConnectSSL: BIO too small for input\n"); + return SQSSL_GENERIC_ERROR; + } + if(n < 0) { + if(ssl->loglevel) printf("sqConnectSSL: BIO_write failed\n"); + return SQSSL_GENERIC_ERROR; + } + if(ssl->loglevel) printf("sqConnectSSL: SSL_connect\n"); + result = SSL_connect(ssl->ssl); + if(result <= 0) { + int error = SSL_get_error(ssl->ssl, result); + if(error != SSL_ERROR_WANT_READ) { + if(ssl->loglevel) printf("sqConnectSSL: SSL_connect failed\n"); + ERR_print_errors_fp(stdout); + return -1; + } + if(ssl->loglevel) printf("sqConnectSSL: sqCopyBioSSL\n"); + return sqCopyBioSSL(ssl, ssl->bioWrite, dstBuf, dstLen); + } + + /* We are connected. Verify the cert. */ + ssl->state = SQSSL_CONNECTED; + + if(ssl->loglevel) printf("sqConnectSSL: SSL_get_peer_certificate\n"); + cert = SSL_get_peer_certificate(ssl->ssl); + if(ssl->loglevel) printf("sqConnectSSL: cert = %x\n", (int)cert); + /* Fail if no cert received. */ + if(cert) { + X509_NAME_get_text_by_NID(X509_get_subject_name(cert), + NID_commonName, peerName, + sizeof(peerName)); + if(ssl->loglevel) printf("sqConnectSSL: peerName = %s\n", peerName); + ssl->peerName = strdup(peerName); + X509_free(cert); + + /* Check the result of verification */ + result = SSL_get_verify_result(ssl->ssl); + if(ssl->loglevel) printf("sqConnectSSL: SSL_get_verify_result = %d\n", result); + /* FIXME: Figure out the actual failure reason */ + ssl->certFlags = result ? SQSSL_OTHER_ISSUE : SQSSL_OK; + } else { + ssl->certFlags = SQSSL_NO_CERTIFICATE; + } + return 0; +} + +/* sqAcceptSSL: Start/continue an SSL server handshake. + Arguments: + handle - the SSL handle + srcBuf - the input token sent by the remote peer + srcLen - the size of the input token + dstBuf - the output buffer for a new token + dstLen - the size of the output buffer + Returns: The size of the output token or an error code. +*/ +sqInt sqAcceptSSL(sqInt handle, char* srcBuf, sqInt srcLen, char *dstBuf, sqInt dstLen) { + int result, n; + char peerName[256]; + X509 *cert; + sqSSL *ssl = sslFromHandle(handle); + + /* Verify state of session */ + if(ssl == NULL || (ssl->state != SQSSL_UNUSED && ssl->state != SQSSL_ACCEPTING)) { + return SQSSL_INVALID_STATE; + } + + /* Establish initial connection */ + if(ssl->state == SQSSL_UNUSED) { + ssl->state = SQSSL_ACCEPTING; + if(ssl->loglevel) printf("sqAcceptSSL: Setting up SSL\n"); + if(!sqSetupSSL(ssl, 1)) return SQSSL_GENERIC_ERROR; + if(ssl->loglevel) printf("sqAcceptSSL: setting accept state\n"); + SSL_set_accept_state(ssl->ssl); + } + + if(ssl->loglevel) printf("sqAcceptSSL: BIO_write %d bytes\n", srcLen); + + n = BIO_write(ssl->bioRead, srcBuf, srcLen); + + if(n < srcLen) { + if(ssl->loglevel) printf("sqAcceptSSL: BIO_write wrote less than expected\n"); + return SQSSL_GENERIC_ERROR; + } + if(n < 0) { + if(ssl->loglevel) printf("sqAcceptSSL: BIO_write failed\n"); + return SQSSL_GENERIC_ERROR; + } + + if(ssl->loglevel) printf("sqAcceptSSL: SSL_accept\n"); + result = SSL_accept(ssl->ssl); + + if(result <= 0) { + int count = 0; + int error = SSL_get_error(ssl->ssl, result); + if(error != SSL_ERROR_WANT_READ) { + if(ssl->loglevel) printf("sqAcceptSSL: SSL_accept failed\n"); + ERR_print_errors_fp(stdout); + return SQSSL_GENERIC_ERROR; + } + if(ssl->loglevel) printf("sqAcceptSSL: sqCopyBioSSL\n"); + count = sqCopyBioSSL(ssl, ssl->bioWrite, dstBuf, dstLen); + return count ? count : SQSSL_NEED_MORE_DATA; + } + + /* We are connected. Verify the cert. */ + ssl->state = SQSSL_CONNECTED; + + if(ssl->loglevel) printf("sqAcceptSSL: SSL_get_peer_certificate\n"); + cert = SSL_get_peer_certificate(ssl->ssl); + if(ssl->loglevel) printf("sqAcceptSSL: cert = %x\n", (int)cert); + + if(cert) { + X509_NAME_get_text_by_NID(X509_get_subject_name(cert), + NID_commonName, peerName, + sizeof(peerName)); + if(ssl->loglevel) printf("sqAcceptSSL: peerName = %s\n", peerName); + ssl->peerName = strdup(peerName); + X509_free(cert); + + /* Check the result of verification */ + result = SSL_get_verify_result(ssl->ssl); + if(ssl->loglevel) printf("sqAcceptSSL: SSL_get_verify_result = %d\n", result); + /* FIXME: Figure out the actual failure reason */ + ssl->certFlags = result ? SQSSL_OTHER_ISSUE : SQSSL_OK; + } else { + ssl->certFlags = SQSSL_NO_CERTIFICATE; + } + return sqCopyBioSSL(ssl, ssl->bioWrite, dstBuf, dstLen); +} + +/* sqEncryptSSL: Encrypt data for SSL transmission. + Arguments: + handle - the SSL handle + srcBuf - the unencrypted input data + srcLen - the size of the input data + dstBuf - the output buffer for the encrypted contents + dstLen - the size of the output buffer + Returns: The size of the output generated or an error code. +*/ +sqInt sqEncryptSSL(sqInt handle, char* srcBuf, sqInt srcLen, char *dstBuf, sqInt dstLen) { + int nbytes; + sqSSL *ssl = sslFromHandle(handle); + + if(ssl == NULL || ssl->state != SQSSL_CONNECTED) return SQSSL_INVALID_STATE; + + if(ssl->loglevel) printf("sqEncryptSSL: Encrypting %d bytes\n", srcLen); + + nbytes = SSL_write(ssl->ssl, srcBuf, srcLen); + if(nbytes != srcLen) return SQSSL_GENERIC_ERROR; + return sqCopyBioSSL(ssl, ssl->bioWrite, dstBuf, dstLen); +} + +/* sqDecryptSSL: Decrypt data for SSL transmission. + Arguments: + handle - the SSL handle + srcBuf - the encrypted input data + srcLen - the size of the input data + dstBuf - the output buffer for the decrypted contents + dstLen - the size of the output buffer + Returns: The size of the output generated or an error code. +*/ +sqInt sqDecryptSSL(sqInt handle, char* srcBuf, sqInt srcLen, char *dstBuf, sqInt dstLen) { + int nbytes; + sqSSL *ssl = sslFromHandle(handle); + + if(ssl == NULL || ssl->state != SQSSL_CONNECTED) return SQSSL_INVALID_STATE; + + nbytes = BIO_write(ssl->bioRead, srcBuf, srcLen); + if(nbytes != srcLen) return SQSSL_GENERIC_ERROR; + nbytes = SSL_read(ssl->ssl, dstBuf, dstLen); + if(nbytes <= 0) { + int error = SSL_get_error(ssl->ssl, nbytes); + if(error != SSL_ERROR_WANT_READ && error != SSL_ERROR_ZERO_RETURN) { + return SQSSL_GENERIC_ERROR; + } + nbytes = 0; + } + return nbytes; +} + +/* sqGetStringPropertySSL: Retrieve a string property from SSL. + Arguments: + handle - the ssl handle + propID - the property id to retrieve + Returns: The string value of the property. +*/ +char* sqGetStringPropertySSL(sqInt handle, int propID) { + sqSSL *ssl = sslFromHandle(handle); + + if(ssl == NULL) return NULL; + switch(propID) { + case SQSSL_PROP_PEERNAME: return ssl->peerName; + case SQSSL_PROP_CERTNAME: return ssl->certName; + default: + if(ssl->loglevel) printf("sqGetStringPropertySSL: Unknown property ID %d\n", propID); + return NULL; + } + return NULL; +} + +/* sqSetStringPropertySSL: Set a string property in SSL. + Arguments: + handle - the ssl handle + propID - the property id to retrieve + propName - the property string + propLen - the length of the property string + Returns: Non-zero if successful. +*/ +sqInt sqSetStringPropertySSL(sqInt handle, int propID, char *propName, sqInt propLen) { + sqSSL *ssl = sslFromHandle(handle); + char *property = NULL; + + if(ssl == NULL) return 0; + + if(propLen) { + property = calloc(1, propLen+1); + memcpy(property, propName, propLen); + }; + + if(ssl->loglevel) printf("sqSetStringPropertySSL(%d): %s\n", propID, property); + + switch(propID) { + case SQSSL_PROP_CERTNAME: ssl->certName = property; break; + default: + if(ssl->loglevel) printf("sqSetStringPropertySSL: Unknown property ID %d\n", propID); + return 0; + } + return 1; +} + +/* sqGetIntPropertySSL: Retrieve an integer property from SSL. + Arguments: + handle - the ssl handle + propID - the property id to retrieve + Returns: The integer value of the property. +*/ +int sqGetIntPropertySSL(sqInt handle, int propID) { + sqSSL *ssl = sslFromHandle(handle); + + if(ssl == NULL) return 0; + switch(propID) { + case SQSSL_PROP_SSLSTATE: return ssl->state; + case SQSSL_PROP_CERTSTATE: return ssl->certFlags; + case SQSSL_PROP_VERSION: return 1; + case SQSSL_PROP_LOGLEVEL: return ssl->loglevel; + default: + if(ssl->loglevel) printf("sqGetIntPropertySSL: Unknown property ID %d\n", propID); + return 0; + } + return 0; +} + +/* sqSetIntPropertySSL: Set an integer property in SSL. + Arguments: + handle - the ssl handle + propID - the property id to retrieve + propValue - the property value + Returns: Non-zero if successful. +*/ +sqInt sqSetIntPropertySSL(sqInt handle, sqInt propID, sqInt propValue) { + sqSSL *ssl = sslFromHandle(handle); + if(ssl == NULL) return 0; + + switch(propID) { + case SQSSL_PROP_LOGLEVEL: ssl->loglevel = propValue; break; + default: + if(ssl->loglevel) printf("sqSetIntPropertySSL: Unknown property ID %d\n", propID); + return 0; + } + return 1; +} diff --git a/platforms/win32/misc/GreenCogSqueak.ico b/platforms/win32/misc/GreenCogSqueak.ico new file mode 100644 index 0000000..f6d03cf Binary files /dev/null and b/platforms/win32/misc/GreenCogSqueak.ico differ diff --git a/scripts/mkvmarchives b/scripts/mkvmarchives index 1ba5ed7..85e65f0 100755 --- a/scripts/mkvmarchives +++ b/scripts/mkvmarchives @@ -47,68 +47,68 @@ fi EXES= REV=`grep 'SvnRawRevisionString.*Rev:' platforms/Cross/vm/sqSCCSVersion.h \ | sed 's/^.*Rev: \([0-9][0-9]*\) $";/\1/'` -echo SVNREV=$REV -export REV +TAG=`date +%g.%U.`$REV +echo REV=$REV TAG=$TAG if [ -n "$CL" ]; then - rm -rf coglinux.tgz - COPYFILE_DISABLE=1 tar czf coglinux.tgz coglinux + rm -rf coglinux-$TAG.tgz + COPYFILE_DISABLE=1 tar czf coglinux-$TAG.tgz coglinux EXES="$EXES coglinux/lib/squeak/[0-9.-]*/squeak" fi if [ -n "$CTL" ]; then - rm -rf cogmtlinux.tgz - COPYFILE_DISABLE=1 tar czf cogmtlinux.tgz cogmtlinux + rm -rf cogmtlinux-$TAG.tgz + COPYFILE_DISABLE=1 tar czf cogmtlinux-$TAG.tgz cogmtlinux EXES="$EXES cogmtlinux/lib/squeak/[0-9.-]*/squeak" fi if [ -n "$CM" ]; then test -d Cog.app || mkdir Cog.app - rm -rf Cog.app/* Cog.app.tgz + rm -rf Cog.app/* Cog.app-$TAG.tgz (cd macbuild/Fast.app>/dev/null;tar cf - *)|(cd Cog.app;tar xvf -) - tar czf Cog.app.tgz Cog.app - EXES="$EXES Cog.app/Contents/MacOS/Croquet" + tar czf Cog.app-$TAG.tgz Cog.app + EXES="$EXES Cog.app/Contents/MacOS/Squeak" fi if [ -n "$CTM" ]; then test -d CogMT.app || mkdir CogMT.app - rm -rf CogMT.app/* CogMT.app.tgz + rm -rf CogMT.app/* CogMT.app-$TAG.tgz (cd macbuild/FastMT.app>/dev/null;tar cf - *)|(cd CogMT.app;tar xvf -) - tar czf CogMT.app.tgz CogMT.app - EXES="$EXES CogMT.app/Contents/MacOS/Croquet" + tar czf CogMT.app-$TAG.tgz CogMT.app + EXES="$EXES CogMT.app/Contents/MacOS/Squeak" fi if [ -n "$CW" ]; then test -d cogwin || mkdir cogwin - rm -rf cogwin/* cogwin.zip - ln cygwinbuild/build/vm/{Croquet.exe,Croquet.ini,Croquet.map,Croquet.exe.manifest} cogwin - ln cygwinbuild/build/vm/{CroquetConsole.exe,CroquetConsole.ini,CroquetConsole.map} cogwin + rm -rf cogwin/* cogwin-$TAG.zip + ln cygwinbuild/build/vm/{Squeak.exe,Squeak.ini,Squeak.map,Squeak.exe.manifest} cogwin + ln cygwinbuild/build/vm/{SqueakConsole.exe,SqueakConsole.ini,SqueakConsole.map} cogwin ln cygwinbuild/build/vm/*.dll cogwin - zip -vr cogwin.zip cogwin - EXES="$EXES cogwin/Croquet.exe" + zip -vr cogwin-$TAG.zip cogwin + EXES="$EXES cogwin/Squeak.exe" fi if [ -n "$CTW" ]; then test -d cogmtwin || mkdir cogmtwin - rm -rf cogmtwin/* cogmtwin.zip - ln cygwinbuild/buildmt/vm/{Croquet.exe,Croquet.ini,Croquet.map,Croquet.exe.manifest} cogmtwin - ln cygwinbuild/buildmt/vm/{CroquetConsole.exe,CroquetConsole.ini,CroquetConsole.map} cogmtwin + rm -rf cogmtwin/* cogmtwin-$TAG.zip + ln cygwinbuild/buildmt/vm/{Squeak.exe,Squeak.ini,Squeak.map,Squeak.exe.manifest} cogmtwin + ln cygwinbuild/buildmt/vm/{SqueakConsole.exe,SqueakConsole.ini,SqueakConsole.map} cogmtwin ln cygwinbuild/buildmt/vm/*.dll cogmtwin - zip -vr cogmtwin.zip cogmtwin - EXES="$EXES cogmtwin/Croquet.exe" + zip -vr cogmtwin-$TAG.zip cogmtwin + EXES="$EXES cogmtwin/Squeak.exe" fi if [ -n "$NL" ]; then - rm -rf nsvmlinux.tgz nsvmlinux-`date +%g.%U.$REV`.tgz - COPYFILE_DISABLE=1 tar czf nsvmlinux-`date +%g.%U.$REV`.tgz nsvmlinux + rm -rf nsvmlinux-$TAG.tgz nsvmlinux-$TAG.tgz + COPYFILE_DISABLE=1 tar czf nsvmlinux-$TAG.tgz nsvmlinux EXES="$EXES nsvmlinux/lib/nsvm/4.0-$REV/nsvm" fi if [ -n "$NM" ]; then test -d Newspeak\ Virtual\ Machine.app || mkdir Newspeak\ Virtual\ Machine.app - rm -rf Newspeak\ Virtual\ Machine.app/* Newspeak\ Virtual\ Machine.app.tgz + rm -rf Newspeak\ Virtual\ Machine.app/* Newspeak\ Virtual\ Machine.app-$TAG.tgz (cd $NSB/macbuild/Fast.app>/dev/null;tar cf - *)|(cd Newspeak\ Virtual\ Machine.app;tar xvf -) - tar czf Newspeak\ Virtual\ Machine.app.tgz Newspeak\ Virtual\ Machine.app + tar czf Newspeak\ Virtual\ Machine.app-$TAG.tgz Newspeak\ Virtual\ Machine.app EXES="$EXES Newspeak Virtual Machine.app/Contents/MacOS/Newspeak Virtual Machine" fi if [ -n "$NW" ]; then test -d nsvmwin || mkdir nsvmwin - rm -rf nsvmwin/* nsvmwin.zip + rm -rf nsvmwin/* nsvmwin-$TAG.zip ln $NSB/cygwinbuild/build/vm/{nsvm.exe,nsvm.map,nsvm.exe.manifest} nsvmwin ln $NSB/cygwinbuild/build/vm/*.dll nsvmwin - zip -vr nsvmwin.zip nsvmwin + zip -vr nsvmwin-$TAG.zip nsvmwin EXES="$EXES nsvmwin/nsvm.exe" fi for vm in $EXES diff --git a/scripts/uploadvms b/scripts/uploadvms index 197b297..6e4a7ae 100755 --- a/scripts/uploadvms +++ b/scripts/uploadvms @@ -1,6 +1,7 @@ #!/bin/sh IFS=" " +VERBOSE= REV="`svnversion | sed 's/^.*://'`" case $REV in *M) echo -n "source tree is modified, are you sure you want to continue? " @@ -18,8 +19,8 @@ fi TAG=`date +%g.%U.`$REV echo REV=$REV TAG=$TAG -CSARCS="Cog.app.tgz coglinux.tgz cogwin.zip" -CMARCS="cogmtlinux.tgz CogMT.app.tgz cogmtwin.zip" +CSARCS="Cog.app-$TAG.tgz coglinux-$TAG.tgz cogwin-$TAG.zip" +CMARCS="cogmtlinux-$TAG.tgz CogMT.app-$TAG.tgz cogmtwin-$TAG.zip" NSARCS="Newspeak Virtual Machine-$TAG.dmg nsvmlinux-$TAG.tgz nsvm-$TAG.msi" NMARCS="Newspeak Virtual MachineMT-$TAG.dmg nsvmmtlinux-$TAG.tgz nsvmmt-$TAG.msi" if [ $# = 0 ]; then @@ -34,22 +35,23 @@ else case $1 in -r) REV=$1;; -c) ARCHIVES="$ARCHIVES $CSARCS $CMARCS";; - -cl) ARCHIVES="$ARCHIVES coglinux.tgz";; - -cm) ARCHIVES="$ARCHIVES Cog.app.tgz";; - -cw) ARCHIVES="$ARCHIVES cogwin.zip";; - -ctl) ARCHIVES="$ARCHIVES cogmtlinux.tgz";; - -ctm) ARCHIVES="$ARCHIVES CogMT.app.tgz";; - -ctw) ARCHIVES="$ARCHIVES cogmtwin.zip";; + -cl) ARCHIVES="$ARCHIVES coglinux-$TAG.tgz";; + -cm) ARCHIVES="$ARCHIVES Cog.app-$TAG.tgz";; + -cw) ARCHIVES="$ARCHIVES cogwin-$TAG.zip";; + -ctl) ARCHIVES="$ARCHIVES cogmtlinux-$TAG.tgz";; + -ctm) ARCHIVES="$ARCHIVES CogMT.app-$TAG.tgz";; + -ctw) ARCHIVES="$ARCHIVES cogmtwin-$TAG.zip";; -nl) ARCHIVES="$ARCHIVES nsvmlinux-$TAG.tgz";; -nm) ARCHIVES="$ARCHIVES Newspeak Virtual Machine-$TAG.dmg" CheckDMG=1;; -nw) ARCHIVES="$ARCHIVES nsvm-$TAG.msi" CheckMSI=1;; -n) ARCHIVES="$ARCHIVES $NSARCS";; - -l) ARCHIVES="$ARCHIVES coglinux.tgz cogmtlinux.tgz nsvmlinux-$TAG.tgz";; - -m) ARCHIVES="$ARCHIVES Cog.app.tgz CogMT.app.tgz Newspeak Virtual Machine-$TAG.dmg" + -l) ARCHIVES="$ARCHIVES coglinux-$TAG.tgz cogmtlinux-$TAG.tgz nsvmlinux-$TAG.tgz";; + -m) ARCHIVES="$ARCHIVES Cog.app-$TAG.tgz CogMT.app-$TAG.tgz Newspeak Virtual Machine-$TAG.dmg" CheckDMG=1;; - -w) ARCHIVES="$ARCHIVES cogwin.tgz cogmtwin.zip nsvm-$TAG.msi" + -v) VERBOSE=1;; + -w) ARCHIVES="$ARCHIVES cogwin-$TAG.tgz cogmtwin-$TAG.zip nsvm-$TAG.msi" CheckMSI=1;; -?|-h) echo usage: $0 [-r REV -l -m -w -c -n -cl -cm -cw -ctl -ctm -ctw -nl -nm -nw]; exit 0;; *) break @@ -57,10 +59,15 @@ else shift done fi +if [ -n "$VERBOSE" ]; then + for a in $ARCHIVES; do + echo upload $a + done +fi if [ -n "$CheckDMG" -a ! -f "Newspeak Virtual Machine-$TAG.dmg" ]; then NMID=nscogbuild/macbuild/installer if [ -f "Newspeak Virtual Machine-$TAG.dmg" ]; then - echo -n + true elif [ -f "$NMID/Newspeak Virtual Machine-$TAG.dmg" ]; then ln "$NMID/Newspeak Virtual Machine-$TAG.dmg" . else @@ -71,7 +78,7 @@ fi if [ -n "$CheckMSI" -a ! -f nsvm-$TAG.msi ]; then NWID=nscogbuild/cygwinbuild/installer if [ -f nsvm-$TAG.msi ]; then - echo -n + true elif [ -f "$NWID/nsvm-$TAG.msi" ]; then ln "$NWID/nsvm-$TAG.msi" . else @@ -88,6 +95,7 @@ N.B. For Squeak/Pharo/Croquet please use the archives whose names begin with non-blocking FFI calls. END + echo getting svn log svn log platforms/Cross/vm/sqSCCSVersion.h >>README.$REV vi README.$REV fi @@ -110,5 +118,5 @@ done ssh -x eliotmiranda@bugsy.dreamhost.com mkdir mirandabanda.org/files/Cog/VM/VM.r$REV echo scp -p ChangeHistory README.$REV $ARCHIVES "$@" eliotmiranda@bugsy.dreamhost.com:mirandabanda.org/files/Cog/VM/VM.r$REV scp -p ChangeHistory README.$REV $ARCHIVES "$@" eliotmiranda@bugsy.dreamhost.com:mirandabanda.org/files/Cog/VM/VM.r$REV -echo ssh eliotmiranda@bugsy.dreamhost.com chmod a-w mirandabanda.org/files/Cog/VM/VM.r$REV mirandabanda.org/files/Cog/VM/VM.r$REV/* \\\; ls -al mirandabanda.org/files/Cog/VM/VM.r$REV -ssh eliotmiranda@bugsy.dreamhost.com chmod a-w mirandabanda.org/files/Cog/VM/VM.r$REV \"mirandabanda.org/files/Cog/VM/VM.r$REV/*\" \; ls -al mirandabanda.org/files/Cog/VM/VM.r$REV +echo ssh eliotmiranda@bugsy.dreamhost.com mirandabanda.org/files/Cog/VM/VM.r$REV/* \\\; ls -al mirandabanda.org/files/Cog/VM/VM.r$REV +ssh eliotmiranda@bugsy.dreamhost.com chmod a-w \"mirandabanda.org/files/Cog/VM/VM.r$REV/*\" \; ls -al mirandabanda.org/files/Cog/VM/VM.r$REV diff --git a/stackbuild/macbuild/CoreVM.plist b/stackbuild/macbuild/CoreVM.plist index 34f097f..79af3b1 100644 --- a/stackbuild/macbuild/CoreVM.plist +++ b/stackbuild/macbuild/CoreVM.plist @@ -14,9 +14,9 @@ image CFBundleTypeIconFile - Croquet.icns + SqueakImage.icns CFBundleTypeName - Croquet Image File + Squeak Image File CFBundleTypeOSTypes STim @@ -30,9 +30,9 @@ sources CFBundleTypeIconFile - Croquet.icns + SqueakSources.icns CFBundleTypeName - Croquet Sources File + Squeak Sources File CFBundleTypeOSTypes STso @@ -46,9 +46,9 @@ changes CFBundleTypeIconFile - Croquet.icns + SqueakChanges.icns CFBundleTypeName - Croquet Changes File + Squeak Changes File CFBundleTypeOSTypes STch @@ -366,21 +366,21 @@ CFBundleExecutable - Croquet + Squeak CFBundleGetInfoString - Croquet Cog 4.0.0 http://www.mirandabanda.org + Squeak Cog Stack 4.0.0 http://www.mirandabanda.org CFBundleShortVersionString - Croquet Cog 4.0.0 + Squeak Cog Stack 4.0.0 CFBundleVersion 4.0.0 CFBundleIconFile - Croquet.icns + GreenCogSqueak.icns CFBundleIdentifier com.squeak.Cog CFBundleInfoDictionaryVersion 6.0 CFBundleName - Croquet + Squeak CFBundlePackageType APPL CFBundleSignature @@ -484,7 +484,7 @@ SqueakUIFlushUseHighPercisionClock SqueakUnTrustedDirectory - ~/Library/Preferences/Croquet/Internet/Untrusted/ + ~/Library/Preferences/Squeak/Internet/Untrusted/ SqueakWindowAttribute ggAAHw== SqueakWindowHasTitle diff --git a/stackbuild/macbuild/CoreVM.xcodeproj/project.pbxproj b/stackbuild/macbuild/CoreVM.xcodeproj/project.pbxproj index 1c596e6..5fbf572 100755 --- a/stackbuild/macbuild/CoreVM.xcodeproj/project.pbxproj +++ b/stackbuild/macbuild/CoreVM.xcodeproj/project.pbxproj @@ -250,7 +250,7 @@ A2FB6B730CCD723F00A29088 /* LocalePlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = A2FB6B720CCD723F00A29088 /* LocalePlugin.h */; }; DA6061C40AA515470009E25D /* sqMacMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F5F8AEF402EB4E0A0100013C /* sqMacMain.c */; }; DA6061CA0AA5155E0009E25D /* sqNamedPrims.c in Sources */ = {isa = PBXBuildFile; fileRef = F5F8AFDD02EB4E0A0100013C /* sqNamedPrims.c */; }; - DAFA08940AA64625008DF459 /* Croquet.icns in Resources */ = {isa = PBXBuildFile; fileRef = DAFA08930AA64625008DF459 /* Croquet.icns */; }; + DAFA08940AA64625008DF459 /* GreenCogSqueak.icns in Resources */ = {isa = PBXBuildFile; fileRef = DAFA08930AA64625008DF459 /* GreenCogSqueak.icns */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -291,7 +291,7 @@ 94196AAE09974200005962BF /* sqMacUIEventsUniversal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacUIEventsUniversal.c; sourceTree = ""; }; 94196AAF09974200005962BF /* sqMacUIMenuBarUniversal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacUIMenuBarUniversal.c; sourceTree = ""; }; 94196AB009974200005962BF /* sqMacWindowUniversal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacWindowUniversal.c; sourceTree = ""; }; - 941A3C0C09AA144000C9D25A /* Croquet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Croquet.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 941A3C0C09AA144000C9D25A /* Squeak.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Squeak.app; sourceTree = BUILT_PRODUCTS_DIR; }; 9426FF0F09F489D200ECEDDC /* chartables.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = chartables.c; sourceTree = ""; }; 9426FF1009F489D200ECEDDC /* config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; 9426FF1109F489D200ECEDDC /* get.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = get.c; sourceTree = ""; }; @@ -386,7 +386,7 @@ A2FB6B580CCD71B000A29088 /* sqMacLocaleCarbon.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqMacLocaleCarbon.h; path = LocalePlugin/sqMacLocaleCarbon.h; sourceTree = ""; }; A2FB6B720CCD723F00A29088 /* LocalePlugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = LocalePlugin.h; path = LocalePlugin/LocalePlugin.h; sourceTree = ""; }; DAD40DAF0AA60CE90082521A /* CoreVM.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = CoreVM.plist; sourceTree = ""; }; - DAFA08930AA64625008DF459 /* Croquet.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = Croquet.icns; path = resources/ProjectBuilder/Croquet.icns; sourceTree = ""; }; + DAFA08930AA64625008DF459 /* GreenCogSqueak.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = GreenCogSqueak.icns; path = resources/ProjectBuilder/GreenCogSqueak.icns; sourceTree = ""; }; F5F8AE0F02EB4E090100013C /* sqMacOpenGL.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sqMacOpenGL.h; sourceTree = ""; }; F5F8AE3D02EB4E090100013C /* sqMacInternetConfiguration.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacInternetConfiguration.c; sourceTree = ""; }; F5F8AE3F02EB4E090100013C /* sqMacJoystickAndTablet.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sqMacJoystickAndTablet.c; sourceTree = ""; }; @@ -553,7 +553,7 @@ isa = PBXGroup; children = ( 664A73DB0300584000A80109 /* Squeak VM.r */, - DAFA08930AA64625008DF459 /* Croquet.icns */, + DAFA08930AA64625008DF459 /* GreenCogSqueak.icns */, 664A73DC0300584000A80109 /* Squeak.icns */, 664A73DD0300584000A80109 /* SqueakChanges.icns */, 664A73DE0300584000A80109 /* SqueakImage.icns */, @@ -569,7 +569,7 @@ 08773F3000C6A1C4C0A80109 /* Products */ = { isa = PBXGroup; children = ( - 941A3C0C09AA144000C9D25A /* Croquet.app */, + 941A3C0C09AA144000C9D25A /* Squeak.app */, ); name = Products; sourceTree = ""; @@ -1695,9 +1695,9 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 941A3B2B09AA144000C9D25A /* Croquet */ = { + 941A3B2B09AA144000C9D25A /* Squeak */ = { isa = PBXNativeTarget; - buildConfigurationList = 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Croquet" */; + buildConfigurationList = 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Squeak" */; buildPhases = ( 941A3B2C09AA144000C9D25A /* Headers */, 941A3B7109AA144000C9D25A /* Resources */, @@ -1714,10 +1714,10 @@ "; dependencies = ( ); - name = Croquet; + name = Squeak; productInstallPath = "$(USER_APPS_DIR)"; productName = "Squeak VM OPT"; - productReference = 941A3C0C09AA144000C9D25A /* Croquet.app */; + productReference = 941A3C0C09AA144000C9D25A /* Squeak.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -1740,7 +1740,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 941A3B2B09AA144000C9D25A /* Croquet */, + 941A3B2B09AA144000C9D25A /* Squeak */, ); }; /* End PBXProject section */ @@ -1758,7 +1758,7 @@ 941A3B7709AA144000C9D25A /* SqueakGeneric.icns in Resources */, 941A3B7809AA144000C9D25A /* SqueakProject.icns in Resources */, 941A3B7909AA144000C9D25A /* SqueakSources.icns in Resources */, - DAFA08940AA64625008DF459 /* Croquet.icns in Resources */, + DAFA08940AA64625008DF459 /* GreenCogSqueak.icns in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1981,7 +1981,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.5; OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; SECTORDER_FLAGS = ""; UNSTRIPPED_PRODUCT = YES; WARNING_CFLAGS = ""; @@ -2057,7 +2057,7 @@ OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; PER_ARCH_CFLAGS_i386 = ""; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = app; ZERO_LINK = NO; @@ -2084,7 +2084,7 @@ HAVE_SYS_TIME_H, ); GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS_QUOTED_FOR_TARGET_1)"; - GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS_QUOTED_FOR_TARGET_1 = "BUILD_VERSION=\"\\\"Croquet Cog OS/X 4.0.0\\\"\""; + GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS_QUOTED_FOR_TARGET_1 = "BUILD_VERSION=\"\\\"Squeak Cog OS/X 4.0.0\\\"\""; GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_UNROLL_LOOPS = YES; GCC_VERSION_i386 = 4.2; @@ -2095,7 +2095,7 @@ $SRCROOT, ); ICC_DATA_NO_ALIAS = NO; - ICC_DEFINES = "ILP32=1 _NONSTD_SOURCE $(GCC_PREPROCESSOR_DEFINITIONS) BUILD_VERSION=\"\\\"Croquet Cog OS/X 4.0.0\\\"\""; + ICC_DEFINES = "ILP32=1 _NONSTD_SOURCE $(GCC_PREPROCESSOR_DEFINITIONS) BUILD_VERSION=\"\\\"Squeak Cog OS/X 4.0.0\\\"\""; ICC_FP_MODEL = src; ICC_LANG_ANSI_OPT = NO; ICC_OPTLEVEL = speedHLO; @@ -2109,7 +2109,7 @@ OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; PER_ARCH_CFLAGS_i386 = "-O3 -falign-functions=16 -fno-gcse -mtune=prescott -march=pentium-m -mfpmath=sse -finline-functions -Wall -DUSE_INLINE_MEMORY_ACCESSORS"; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = app; @@ -2152,7 +2152,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.5; OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; - PRODUCT_NAME = Croquet; + PRODUCT_NAME = Squeak; SECTORDER_FLAGS = ""; UNSTRIPPED_PRODUCT = YES; WARNING_CFLAGS = ""; @@ -2234,7 +2234,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Croquet" */ = { + 941A3C0709AA144000C9D25A /* Build configuration list for PBXNativeTarget "Squeak" */ = { isa = XCConfigurationList; buildConfigurations = ( 941A3C0809AA144000C9D25A /* Development */, diff --git a/stackbuild/macbuild/makeclean b/stackbuild/macbuild/makeclean index 65b820e..caf0ad9 100644 --- a/stackbuild/macbuild/makeclean +++ b/stackbuild/macbuild/makeclean @@ -1,3 +1,3 @@ #!/bin/bash -rm -r ./build ./*/build ./plugin-projects/*/build ./Fast.app ./Debug.app ./Assert.app ./Croquet.app +rm -r ./build ./*/build ./plugin-projects/*/build ./Fast.app ./Debug.app ./Assert.app ./Croquet.app ./Squeak.app diff --git a/stackbuild/macbuild/makevm b/stackbuild/macbuild/makevm index 7e31715..fb53cdd 100755 --- a/stackbuild/macbuild/makevm +++ b/stackbuild/macbuild/makevm @@ -6,8 +6,9 @@ IFS=' BUILD_CONFIGURATION=Deployment NSD_BUILD_CONFIGURATION=Deployment XCD_BUILD_CONFIGURATION=Release +APP=Squeak.app VMAPP=".app" -DEST="Croquet" +DEST="Squeak" VMXCP=CoreVM SFP=SqueakFFIPrims KEEP= @@ -57,9 +58,9 @@ echo echo $VMXCP xcodebuild -project $VMXCP.xcodeproj -configuration $BUILD_CONFIGURATION xcodebuild -project $VMXCP.xcodeproj -configuration $BUILD_CONFIGURATION if [ -d "$DEST" ]; then - mv build/$BUILD_CONFIGURATION/Croquet.app/* "$DEST" + mv build/$BUILD_CONFIGURATION/$APP/* "$DEST" else - mv build/$BUILD_CONFIGURATION/Croquet.app "$DEST" + mv build/$BUILD_CONFIGURATION/$APP "$DEST" fi ../../scripts/versionInfoPlist ../../platforms CoreVM.plist "$DEST/Contents/Info.plist" diff --git a/stackbuild/macbuild/resources/ProjectBuilder/GreenCogSqueak.icns b/stackbuild/macbuild/resources/ProjectBuilder/GreenCogSqueak.icns new file mode 100644 index 0000000..acdd741 Binary files /dev/null and b/stackbuild/macbuild/resources/ProjectBuilder/GreenCogSqueak.icns differ diff --git a/unixbuild/abld/plugins.ext b/unixbuild/abld/plugins.ext index c906928..1f7471b 100644 --- a/unixbuild/abld/plugins.ext +++ b/unixbuild/abld/plugins.ext @@ -3,6 +3,7 @@ EXTERNAL_PLUGINS = \ B3DAcceleratorPlugin \ BochsIA32Plugin \ SqueakFFIPrims \ +SqueakSSL \ LocalePlugin \ UnixOSProcessPlugin \ UUIDPlugin diff --git a/unixbuild/bld/plugins.ext b/unixbuild/bld/plugins.ext index c906928..1f7471b 100644 --- a/unixbuild/bld/plugins.ext +++ b/unixbuild/bld/plugins.ext @@ -3,6 +3,7 @@ EXTERNAL_PLUGINS = \ B3DAcceleratorPlugin \ BochsIA32Plugin \ SqueakFFIPrims \ +SqueakSSL \ LocalePlugin \ UnixOSProcessPlugin \ UUIDPlugin diff --git a/unixbuild/dbld/plugins.ext b/unixbuild/dbld/plugins.ext index c906928..1f7471b 100644 --- a/unixbuild/dbld/plugins.ext +++ b/unixbuild/dbld/plugins.ext @@ -3,6 +3,7 @@ EXTERNAL_PLUGINS = \ B3DAcceleratorPlugin \ BochsIA32Plugin \ SqueakFFIPrims \ +SqueakSSL \ LocalePlugin \ UnixOSProcessPlugin \ UUIDPlugin diff --git a/unixbuild/mtbld/plugins.ext b/unixbuild/mtbld/plugins.ext index c906928..1f7471b 100644 --- a/unixbuild/mtbld/plugins.ext +++ b/unixbuild/mtbld/plugins.ext @@ -3,6 +3,7 @@ EXTERNAL_PLUGINS = \ B3DAcceleratorPlugin \ BochsIA32Plugin \ SqueakFFIPrims \ +SqueakSSL \ LocalePlugin \ UnixOSProcessPlugin \ UUIDPlugin