[Vm-dev] [commit][3534] Update the mac HowToBuild to reflect current levels of chaos .

commits at squeakvm.org commits at squeakvm.org
Tue Dec 15 21:21:02 UTC 2015


Revision: 3534
Author:   eliot
Date:     2015-12-15 13:21:00 -0800 (Tue, 15 Dec 2015)
Log Message:
-----------
Update the mac HowToBuild to reflect current levels of chaos.
Include the versionInfoPlist imnvocation in the mac build logs.

Modified Paths:
--------------
    branches/Cog/build.macos32x86/HowToBuild
    branches/Cog/build.macos32x86/squeak.cog.spur/makeiosvm
    branches/Cog/build.macos64x64/HowToBuild
    branches/Cog/build.macos64x64/squeak.cog.spur/makeiosvm

Modified: branches/Cog/build.macos32x86/HowToBuild
===================================================================
--- branches/Cog/build.macos32x86/HowToBuild	2015-12-15 19:48:51 UTC (rev 3533)
+++ branches/Cog/build.macos32x86/HowToBuild	2015-12-15 21:21:00 UTC (rev 3534)
@@ -18,7 +18,7 @@
 
 Another distinction is between Stack, Cog and Sista VMs.  Stack VMs are those
 with context-to-stack mapping that optimise message sending by keeping method
-activations on a stack instead of in contexts.  These are pure interpreters but
+actications on a stack instead of in contexts.  These are pure interpreters but
 significantly faster than the standard context-based Interpreter VM.  Cog VMs
 add a JIT to the mix, compiling methods used more than once to maxchine code on
 the fly.  Sista VMs, as yet unrealised and in development, add support for
@@ -67,10 +67,13 @@
 
 Building out of the box
 -----------------------
-0. As of this writing (June 2014) this Mac build system builds only on 10.6.x
-(and probably 10.5.x) using the old Carbon libraries.  I plan to build on
-Mavericks using John McIntosh's Cocoa platform support files soon.
+0. As of this writing (December 2015) only the squeak.cog.spur builds build
+on 10.9 and later, using John McIntosh's Cocoa platform support files.  The
+rest of the builds build only on 10.6.x (and probably 10.5.x) using the old
+Carbon libraries.  We are transitioning as fast as possible to Cocoa.
+Volunteers welcome.
 
+Carbon Builds:
 1. Install the tools (Xcode etc);  the CoreVM.xcodeproj is set-up to build
    using gcc 4.2 but you can optionally install the Intel C++ compiler 11.1
    and change the compilerSpec in CoreVM.xcodeproj/project.pbxproj to get
@@ -82,13 +85,31 @@
 
 3. cd to the VM configuration of your choice and execute
 	./mvm -A
-This will build Fast.app, Debug.app and Assert.app applivations containing the
+This will build Fast.app, Debug.app and Assert.app applications containing the
 three basic VM configurations.  If the configuration includes the multi-threaded
 VM you can use mvm -AS to make the single-threaded VMs, mvm -AT to make the
 multi-threadeds in FastMT.app et al, and mvm -A to make them all.  mvm -d will
 make the Debug.app VM, etc.  mvm -? provides the gory details.
 
+Cocoa Builds:
+1. Install the tools (Xcode etc);  the SqueakCogSpur32x86.xcodeproj is set-up to
+build using clang 6.x or clang 7.x.
 
+2. Either disable the building of the Bochs plugins (see each makeiosvm file,
+disabling the lines beginning "# Build the BochsIA32Plugin") or build the
+Bochs support libraries (see Building the Bochs Support Libraries below).
+
+3. cd to the VM configuration of your choice and execute
+	./miosvm -A
+This will build CocoaFast.app, CocoaDebug.app and CocoaAssert.app applications
+containing the three basic VM configurations.  If the configuration includes
+the multi-threaded VM you can use miosvm -AS to make the single-threaded VMs,
+miosvm -AT to make the multi-threadeds in FastMT.app et al, and miosvm -A to make
+them all.  miosvm -d will make the CocoaDebug.app VM, etc.  miosvm -? provides the
+gory details.
+
+
+
 Each build directory contains three files
 	plugins.int
 	plugins.ext
@@ -101,13 +122,15 @@
 Building the Bochs Support Libraries
 ------------------------------------
 If you want to get the Cog VM simulator working you'll need to build the
-BochsIA32Plugin and to build that you'll need to first build bochs.  First
-check-out the processor simulator source tree containing Bochs:
+BochsIA32Plugin and/or the BochsX64Plugin to build that you'll need to first
+build bochs.  First check-out the processor simulator source tree containing
+Bochs:
      svn co http://www.squeakvm.org/svn/squeak/branches/Cog/processors
-Then build libraries macbochs/{cpu/libcpu.a,disasm/libdisasm.a,fpu/libfpu.a}
-  $ cd ../processors/IA32/macbochs
+Then build the libraries.  cd to e.g. build.macos32x86/bochsx86, run
+
+  $ cd build.macos32x86/bochsx86
   $ ./conf.COG
-  $ ../bochs/makeem
+  $ ../../processors/IA32/bochs/makeem
 
 
 Using gcc with Xcode 6.x, Mac OS X > 10.6
@@ -146,4 +169,4 @@
 
 
 Eliot Miranda
-November 2015
+December 2015

Modified: branches/Cog/build.macos32x86/squeak.cog.spur/makeiosvm
===================================================================
--- branches/Cog/build.macos32x86/squeak.cog.spur/makeiosvm	2015-12-15 19:48:51 UTC (rev 3533)
+++ branches/Cog/build.macos32x86/squeak.cog.spur/makeiosvm	2015-12-15 21:21:00 UTC (rev 3534)
@@ -66,6 +66,7 @@
 else
 	cp -Rp build/$BUILD_CONFIGURATION/$APP "$DEST"
 fi
+echo ../../scripts/versionInfoPlist ../../platforms SqueakCogSpur32x86.plist "$DEST/Contents/Info.plist"
 ../../scripts/versionInfoPlist ../../platforms SqueakCogSpur32x86.plist "$DEST/Contents/Info.plist"
 
 # Build the Float plugin

Modified: branches/Cog/build.macos64x64/HowToBuild
===================================================================
--- branches/Cog/build.macos64x64/HowToBuild	2015-12-15 19:48:51 UTC (rev 3533)
+++ branches/Cog/build.macos64x64/HowToBuild	2015-12-15 21:21:00 UTC (rev 3534)
@@ -18,7 +18,7 @@
 
 Another distinction is between Stack, Cog and Sista VMs.  Stack VMs are those
 with context-to-stack mapping that optimise message sending by keeping method
-activations on a stack instead of in contexts.  These are pure interpreters but
+actications on a stack instead of in contexts.  These are pure interpreters but
 significantly faster than the standard context-based Interpreter VM.  Cog VMs
 add a JIT to the mix, compiling methods used more than once to maxchine code on
 the fly.  Sista VMs, as yet unrealised and in development, add support for
@@ -66,33 +66,34 @@
 
 Building out of the box
 -----------------------
-0. As of this writing (June 2014) this Mac build system builds only on 10.6.x
-(and probably 10.5.x) using the old Carbon libraries.  I plan to build on
-Mavericks/Yosemite using John McIntosh's Cocoa platform support files soon.
+0. As of this writing (December 2015) only the squeak.cog.spur builds build
+on 10.9 and later, using John McIntosh's Cocoa platform support files.  The
+rest of the builds don't work yet.  We are transitioning as fast as possible
+to Cocoa.  Volunteers welcome.
 
-1. Install the tools (xcode etc);  the CoreVM.xcodeproj is set-up to build
-   using gcc 4.2 but you can optionally install the Intel C++ compiler 11.1
-   and change the compilerSpec in CoreVM.xcodeproj/project.pbxproj to get
-   better performance.
+1. Install the tools (Xcode etc);  the SqueakCogSpur32x86.xcodeproj is set-up to
+build using clang 6.x or clang 7.x.
 
-2. Either disable the building of the Bochs plugin (see each makevm file,
+2. Either disable the building of the Bochs plugins (see each makeiosvm file,
 disabling the lines beginning "# Build the BochsIA32Plugin") or build the
 Bochs support libraries (see Building the Bochs Support Libraries below).
 
 3. cd to the VM configuration of your choice and execute
-	./mvm -A
-This will build Fast.app, Debug.app and Assert.app applivations containing the
-three basic VM configurations.  If the configuration includes the multi-threaded
-VM you can use mvm -AS to make the single-threaded VMs, mvm -AT to make the
-multi-threadeds in FastMT.app et al, and mvm -A to make them all.  mvm -d will
-make the Debug.app VM, etc.  mvm -? provides the gory details.
+	./miosvm -A
+This will build CocoaFast.app, CocoaDebug.app and CocoaAssert.app applications
+containing the three basic VM configurations.  If the configuration includes
+the multi-threaded VM you can use miosvm -AS to make the single-threaded VMs,
+miosvm -AT to make the multi-threadeds in FastMT.app et al, and miosvm -A to make
+them all.  miosvm -d will make the CocoaDebug.app VM, etc.  miosvm -? provides the
+gory details.
 
 
+
 Each build directory contains three files
 	plugins.int
 	plugins.ext
 On other platforms editing these and making is all one needs to do to change the
-set of plugins.  Alas on xcode one also has to edit the relevant xcode projects
+set of plugins.  Alas on Xcode one also has to edit the relevant Xcode projects
 to add and remove source files.  If you're brave enough to contemplate this
 you're brave enough to figure out how to do this yourself.
 
@@ -100,24 +101,16 @@
 Building the Bochs Support Libraries
 ------------------------------------
 If you want to get the Cog VM simulator working you'll need to build the
-BochsIA32Plugin and to build that you'll need to first build bochs.  First
-check-out the processor simulator source tree containing Bochs:
+BochsIA32Plugin and/or the BochsX64Plugin to build that you'll need to first
+build bochs.  First check-out the processor simulator source tree containing
+Bochs:
      svn co http://www.squeakvm.org/svn/squeak/branches/Cog/processors
-Then build libraries macbochs/{cpu/libcpu.a,disasm/libdisasm.a,fpu/libfpu.a}
-  $ cd ../processors/IA32/macbochs
+Then build the libraries.  cd to e.g. build.macos32x86/bochsx86, run
+
+  $ cd build.macos32x86/bochsx86
   $ ./conf.COG
-  $ ../bochs/makeem
+  $ ../../processors/IA32/bochs/makeem
 
 
-Optimization level and gcc version
-----------------------------------
-There are issues with gcc version > 4.2.1.  Any of the following flags may break the build at -O2:
--ftree-pre
--fpartial-inlining
--fcaller-saves
-
-They're turned off in the xcode files provided.
-
-
 Eliot Miranda
-December 2014
+December 2015

Modified: branches/Cog/build.macos64x64/squeak.cog.spur/makeiosvm
===================================================================
--- branches/Cog/build.macos64x64/squeak.cog.spur/makeiosvm	2015-12-15 19:48:51 UTC (rev 3533)
+++ branches/Cog/build.macos64x64/squeak.cog.spur/makeiosvm	2015-12-15 21:21:00 UTC (rev 3534)
@@ -66,6 +66,7 @@
 else
 	cp -Rp build/$BUILD_CONFIGURATION/$APP "$DEST"
 fi
+echo ../../scripts/versionInfoPlist ../../platforms SqueakCogSpur32x86.plist "$DEST/Contents/Info.plist"
 ../../scripts/versionInfoPlist ../../platforms SqueakCogSpur32x86.plist "$DEST/Contents/Info.plist"
 
 # Build the Float plugin



More information about the Vm-dev mailing list