[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