[commit][3356] Move definition of VM_VERSION out of various sqConfig. h files and into

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

[commit][3356] Move definition of VM_VERSION out of various sqConfig. h files and into

commits-3
 
Revision: 3356
Author:   eliot
Date:     2015-05-23 19:03:15 -0700 (Sat, 23 May 2015)
Log Message:
-----------
Move definition of VM_VERSION out of various sqConfig.h files and into
platforms/Cross/vm/sqVirtualMachine.h.

Make unix autoconf oblivious of the VM_VERSION.VM_RELEASE version tag, allowing
one to rebuild without a time-consuming configure if already configured.  To
support this add a main routine to platforms/Cross/vm/sqSCCSVersion.h that
allows it to be compiled to answer the VM_VERSION.VM_RELEASE as defined by
platforms/Cross/vm/{sqVirtualMachine.h,sqSCCSVersion.h}.  Modify the linux
makeproduct scripts to use makealldirty & add makeproductclean scripts.

Modified Paths:
--------------
    branches/Cog/build.linux32ARM/makeproduct
    branches/Cog/build.linux32x86/makeproduct
    branches/Cog/build.linux64x64/makeproduct
    branches/Cog/platforms/Cross/vm/sq.h
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
    branches/Cog/platforms/Cross/vm/sqVirtualMachine.h
    branches/Cog/platforms/Mac OS/vm/config.h
    branches/Cog/platforms/Mac OS/vm/sqConfig.h
    branches/Cog/platforms/Plan9/vm/config.h
    branches/Cog/platforms/iOS/vm/iPhone/config.h
    branches/Cog/platforms/unix/config/Makefile.in
    branches/Cog/platforms/unix/config/Makefile.install
    branches/Cog/platforms/unix/config/acinclude.m4
    branches/Cog/platforms/unix/config/config.h.in
    branches/Cog/platforms/unix/config/configure
    branches/Cog/platforms/unix/config/configure.ac
    branches/Cog/platforms/unix/config/make.cfg.in
    branches/Cog/platforms/unix/vm/Makefile.in
    branches/Cog/platforms/unix/vm/sqConfig.h
    branches/Cog/platforms/win32/vm/sqConfig.h
    branches/Cog/platforms/win32/vm/sqPlatformSpecific.h
    branches/Cog/platforms/win32/vm/sqWin32.h
    branches/Cog/platforms/win32/vm/sqWin32Main.c
    branches/Cog/platforms/win32/vm/sqWin32Prefs.c
    branches/Cog/platforms/win32/vm/sqWin32Prefs.h

Added Paths:
-----------
    branches/Cog/build.linux32ARM/makeproductclean
    branches/Cog/build.linux32x86/makeproductclean
    branches/Cog/build.linux64x64/makeproductclean
    branches/Cog/platforms/unix/config/getversion.c

Modified: branches/Cog/build.linux32ARM/makeproduct
===================================================================
--- branches/Cog/build.linux32ARM/makeproduct 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/build.linux32ARM/makeproduct 2015-05-24 02:03:15 UTC (rev 3356)
@@ -2,7 +2,7 @@
 trap 'exit 2' HUP INT PIPE TERM
 for d in newspeak.cog.spur squeak.cog.spur squeak.cog.v3 squeak.stack.spur squeak.stack.v3; do
  if test -d "$d"; then
- (cd $d;./makeallclean "$@")
+ (cd $d;./makealldirty "$@")
  else
  echo no $d directory found
  fi

Copied: branches/Cog/build.linux32ARM/makeproductclean (from rev 3353, branches/Cog/build.linux32ARM/makeproduct)
===================================================================
--- branches/Cog/build.linux32ARM/makeproductclean                        (rev 0)
+++ branches/Cog/build.linux32ARM/makeproductclean 2015-05-24 02:03:15 UTC (rev 3356)
@@ -0,0 +1,9 @@
+#!/bin/bash
+trap 'exit 2' HUP INT PIPE TERM
+for d in newspeak.cog.spur squeak.cog.spur squeak.cog.v3 squeak.stack.spur squeak.stack.v3; do
+ if test -d "$d"; then
+ (cd $d;./makeallclean "$@")
+ else
+ echo no $d directory found
+ fi
+done

Modified: branches/Cog/build.linux32x86/makeproduct
===================================================================
--- branches/Cog/build.linux32x86/makeproduct 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/build.linux32x86/makeproduct 2015-05-24 02:03:15 UTC (rev 3356)
@@ -2,7 +2,7 @@
 trap 'exit 2' HUP INT PIPE TERM
 for d in newspeak.cog.spur squeak.cog.spur squeak.cog.v3; do
  if test -d "$d"; then
- (cd $d;./makeallclean "$@")
+ (cd $d;./makealldirty "$@")
  else
  echo no $d directory found
  fi

Copied: branches/Cog/build.linux32x86/makeproductclean (from rev 3335, branches/Cog/build.linux32x86/makeproduct)
===================================================================
--- branches/Cog/build.linux32x86/makeproductclean                        (rev 0)
+++ branches/Cog/build.linux32x86/makeproductclean 2015-05-24 02:03:15 UTC (rev 3356)
@@ -0,0 +1,9 @@
+#!/bin/bash
+trap 'exit 2' HUP INT PIPE TERM
+for d in newspeak.cog.spur squeak.cog.spur squeak.cog.v3; do
+ if test -d "$d"; then
+ (cd $d;./makeallclean "$@")
+ else
+ echo no $d directory found
+ fi
+done

Modified: branches/Cog/build.linux64x64/makeproduct
===================================================================
--- branches/Cog/build.linux64x64/makeproduct 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/build.linux64x64/makeproduct 2015-05-24 02:03:15 UTC (rev 3356)
@@ -2,7 +2,7 @@
 trap 'exit 2' HUP INT PIPE TERM
 for d in newspeak.cog.spur squeak.cog.spur; do
  if test -d "$d"; then
- (cd $d;./makeallclean "$@")
+ (cd $d;./makealldirty "$@")
  else
  echo no $d directory found
  fi

Copied: branches/Cog/build.linux64x64/makeproductclean (from rev 3335, branches/Cog/build.linux64x64/makeproduct)
===================================================================
--- branches/Cog/build.linux64x64/makeproductclean                        (rev 0)
+++ branches/Cog/build.linux64x64/makeproductclean 2015-05-24 02:03:15 UTC (rev 3356)
@@ -0,0 +1,9 @@
+#!/bin/bash
+trap 'exit 2' HUP INT PIPE TERM
+for d in newspeak.cog.spur squeak.cog.spur; do
+ if test -d "$d"; then
+ (cd $d;./makeallclean "$@")
+ else
+ echo no $d directory found
+ fi
+done

Modified: branches/Cog/platforms/Cross/vm/sq.h
===================================================================
--- branches/Cog/platforms/Cross/vm/sq.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/Cross/vm/sq.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -39,10 +39,13 @@
 
 /* Note: All pluggable primitives are defined as
  EXPORT(int) somePrimitive(void)
-   If the platform requires special declaration modifiers, the EXPORT
-   macro can be redefined.
+   All non-static variables in the VM and plugins are declared as
+ VM_EXPORT type var
+   If the platform requires special declaration modifiers, the EXPORT and
+   VM_EXPORT macros can be redefined.
 */
 #define EXPORT(returnType) returnType
+#define VM_EXPORT
 
 /* Image save/restore macros. */
 

Modified: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
===================================================================
--- branches/Cog/platforms/Cross/vm/sqSCCSVersion.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/Cross/vm/sqSCCSVersion.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -97,3 +97,29 @@
  }
  return sourceVersion;
 }
+
+
+#if VERSION_PROGRAM
+# include "sq.h"
+
+int
+main(int argc, char *argv[])
+{
+ char vm_version[] = VM_VERSION;
+
+ if (argc == 2 && !strcmp(argv[1], "VM_VERSION"))
+ printf("%s\n", vm_version);
+ else if (argc == 2 && !strcmp(argv[1], "VM_MAJOR"))
+ printf("%.*s\n", strchr(vm_version,'.') - vm_version, vm_version);
+ else if (argc == 2 && !strcmp(argv[1], "VM_MINOR"))
+ printf("%s\n", strchr(vm_version,'.') + 1, vm_version);
+ else if (argc == 2 && !strcmp(argv[1], "VM_RELEASE"))
+ printf("%s\n", revisionAsString());
+ else if (argc == 2 && !strcmp(argv[1], "VERSION_TAG"))
+ printf("%s.%s\n", vm_version, revisionAsString());
+ else
+ return 1;
+
+ return 0;
+}
+#endif /* VERSION_PROGRAM */

Modified: branches/Cog/platforms/Cross/vm/sqVirtualMachine.h
===================================================================
--- branches/Cog/platforms/Cross/vm/sqVirtualMachine.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/Cross/vm/sqVirtualMachine.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -1,11 +1,17 @@
 #ifndef _SqueakVM_H
 #define _SqueakVM_H
 
-/* We expect interp.h to define VM_PROXY_MAJOR & VM_PROXY_MINOR appropriately
- * for the VM generated with it.
+/* We expect interp.h to define VM_PROXY_MAJOR & VM_PROXY_MINOR, and other
+ * defines such as STACKVM, appropriately for the VM generated with it.
  */
 #include "interp.h"
 
+#if SPURVM
+# define VM_VERSION "5.0"
+#else
+# define VM_VERSION "4.5"
+#endif
+
 #ifndef VM_PROXY_MAJOR
 /* Increment the following number if you change the order of
    functions listed or if you remove functions */

Modified: branches/Cog/platforms/Mac OS/vm/config.h
===================================================================
--- branches/Cog/platforms/Mac OS/vm/config.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/Mac OS/vm/config.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -169,11 +169,6 @@
 
 /* other configured variables */
 
-#if SPURVM
-# define VM_VERSION "5.0"
-#else
-# define VM_VERSION "4.5"
-#endif
 #define VM_MODULE_PREFIX ""
 /* #undef VM_DLSYM_PREFIX */
 #define VM_X11DIR "/usr/X11R6/lib"

Modified: branches/Cog/platforms/Mac OS/vm/sqConfig.h
===================================================================
--- branches/Cog/platforms/Mac OS/vm/sqConfig.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/Mac OS/vm/sqConfig.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -20,3 +20,8 @@
 #else
 # define VMBIGENDIAN 0
 #endif
+
+#if defined(__GNUC__)
+# define PlatformNoDbgRegParms __attribute__ ((regparm (0)))
+# define NeverInline __attribute__ ((noinline))
+#endif

Modified: branches/Cog/platforms/Plan9/vm/config.h
===================================================================
--- branches/Cog/platforms/Plan9/vm/config.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/Plan9/vm/config.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -121,8 +121,6 @@
 
 /* other configured variables */
 
-#define SQ_VERSION "4.5"
-#define VM_VERSION "4.5"
 #define VM_LIBDIR ""
 #define VM_MODULE_PREFIX ""
 #define VM_BUILD_STRING "Plan9 built on "__DATE__" "__TIME__

Modified: branches/Cog/platforms/iOS/vm/iPhone/config.h
===================================================================
--- branches/Cog/platforms/iOS/vm/iPhone/config.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/iOS/vm/iPhone/config.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -190,11 +190,6 @@
 
 /* other configured variables */
 
-#if SPURVM
-# define VM_VERSION "5.0"
-#else
-# define VM_VERSION "4.5"
-#endif
 #define VM_MODULE_PREFIX ""
 /* #undef VM_DLSYM_PREFIX */
 #define VM_X11DIR "/usr/X11R6/lib"

Modified: branches/Cog/platforms/unix/config/Makefile.in
===================================================================
--- branches/Cog/platforms/unix/config/Makefile.in 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/unix/config/Makefile.in 2015-05-24 02:03:15 UTC (rev 3356)
@@ -26,7 +26,7 @@
 #
 # Author: [hidden email]
 #
-# Last edited: Tue Mar  2 16:59:47 PST 2010 by eliot
+# Last edited: Sat May 23 18:45:43 PDT 2015 by eliot
 
 @make_cfg@
 @make_prg@
@@ -58,6 +58,10 @@
 version.c : $(SQLIBS)
  ${cfgdir}/verstamp version.c $(CC)
 
+
+getversion : ${cfgdir}/getversion.c
+ $(CC) -o getversion $(CFLAGS) $(INCLUDES) ${cfgdir}/getversion.c
+
 plugins : config.sh $(PLUGINS_LA)
 
 # nuke everything but plugins.int & plugins.ext
@@ -73,16 +77,17 @@
  mkdir nps
  $(SHELL) -ec 'cd nps; ln -s $(topdir)/platforms/unix/npsqueak/* .'
 
-nps/npsqueak.so : nps
+nps/npsqueak.so : nps getversion
  $(SHELL) -ec 'cd nps; $(MAKE) plgdir=$(plgdir) bindir=$(bindir) imgdir=$(imgdir)'
 
 # OSX app bundle
 
 osxdir=$(topdir)/platforms/unix/vm-display-Quartz
-app=Squeak-$(VM_MAJOR).$(VM_MINOR)-$(VM_RELEASE).app
+#app=Squeak-$(VM_MAJOR).$(VM_MINOR)-$(VM_RELEASE).app
+app=Squeak-`./getversion VM_MAJOR`.`./getversion VM_MINOR`-`./getversion VM_RELEASE`.app
 appdir=$(app)/Contents
 
-Squeak.app : squeak plugins Info.plist
+Squeak.app : squeak plugins Info.plist getversion
  /bin/rm -rf $(app)
  mkdir -p $(appdir)/MacOS
  cp -p  squeak $(appdir)/MacOS/.
@@ -94,10 +99,8 @@
  cp -pr $(osxdir)/Resources $(appdir)/.
  -find $(app) -name '*~' | xargs rm -f
 
-bndl_version=${VM_VERSION} (${SQ_VERSION})
-
-Info.plist : $(osxdir)/Info.plist.in $(osxdir)/mkinfo
- $(osxdir)/mkinfo $(osxdir)/Info.plist.in Info.plist.tmp "${bndl_version}"
+Info.plist : $(osxdir)/Info.plist.in $(osxdir)/mkinfo getversion
+ $(osxdir)/mkinfo $(osxdir)/Info.plist.in Info.plist.tmp "`./getversion VM_VERSION`"
  mv Info.plist.tmp Info.plist
 
 # OSX plugin bundle
@@ -125,8 +128,8 @@
 
 # manual page
 
-squeak.1 : $(topdir)/platforms/unix/doc/squeak.1
- $(cfgdir)/mkman $(VM_MAJOR) $(VM_VERSION) \
+squeak.1 : $(topdir)/platforms/unix/doc/squeak.1 getversion
+ $(cfgdir)/mkman `./getversion VM_MAJOR` `./getversion VM_VERSION` \
   $(bindir) $(imgdir) $(plgdir) $(mandir) $(docdir) \
   < $(topdir)/platforms/unix/doc/squeak.1 > $@
 

Modified: branches/Cog/platforms/unix/config/Makefile.install
===================================================================
--- branches/Cog/platforms/unix/config/Makefile.install 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/unix/config/Makefile.install 2015-05-24 02:03:15 UTC (rev 3356)
@@ -15,7 +15,7 @@
 
 # squeak
 
-install-squeak : $(squeak)
+install-squeak : $(squeak) getversion
  $(MKINSTALLDIRS) $(ROOT)$(plgdir)
  $(MKINSTALLDIRS) $(ROOT)$(bindir)
  $(INSTALL_PROG) $(squeak) $(ROOT)$(plgdir)
@@ -25,7 +25,7 @@
   $(INSTALL_DATA) $(ICONS) $(ROOT)$(VM_APP_ICONS); \
  fi
 
-uninstall-squeak : .force
+uninstall-squeak : getversion .force
  if test -n "$(VM_APP_ICONS)"; then \
   $(UNINSTALL) $(ROOT)$(VM_APP_ICONS); \
  fi
@@ -34,7 +34,7 @@
 
 # plugins
 
-install-plugins : plugins
+install-plugins : plugins getversion
  $(MKINSTALLDIRS) $(ROOT)$(plgdir)
  @list='$(PLUGINS_LA)'; for p in $$list; do \
   if test -f */$$p; then \
@@ -44,7 +44,7 @@
  done
  -rm $(ROOT)$(plgdir)/*.la
 
-uninstall-plugins : .force
+uninstall-plugins : getversion .force
  @list='$(PLUGINS_LA)'; for p in $$list; do \
   filename=$(ROOT)/$(plgdir)/`basename $$p .la`;\
   if test -f $$filename; then \
@@ -92,7 +92,7 @@
   rm -f inisqueak; \
   $(LN_S) $$path/inisqueak .; )
 
-uninstall-image :
+uninstall-image : getversion
  @$(UNINSTALL) $(ROOT)$(plgdir) Squeak$(SQ_VERSION).image.gz
  @$(UNINSTALL) $(ROOT)$(plgdir) Squeak$(SQ_VERSION).changes.gz
  @$(UNINSTALL) $(ROOT)$(plgdir) inisqueak
@@ -108,8 +108,8 @@
 
 # npsqueak
 
-install-npsqueak : npsqueak .force
+install-npsqueak : npsqueak getversion .force
  $(SHELL) -ec 'cd nps; $(MAKE) install ROOT=$(ROOT) VM_VERSION=$(VM_VERSION) plgdir=$(plgdir) bindir=$(bindir) imgdir=$(imgdir)'
 
-uninstall-npsqueak : npsqueak .force
+uninstall-npsqueak : npsqueak getversion .force
  $(SHELL) -ec 'cd nps; $(MAKE) uninstall ROOT=$(ROOT) VM_VERSION=$(VM_VERSION) plgdir=$(plgdir) bindir=$(bindir) imgdir=$(imgdir)'

Modified: branches/Cog/platforms/unix/config/acinclude.m4
===================================================================
--- branches/Cog/platforms/unix/config/acinclude.m4 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/unix/config/acinclude.m4 2015-05-24 02:03:15 UTC (rev 3356)
@@ -60,12 +60,12 @@
 
 
 AC_DEFUN([AC_VM_VERSION],[
-  VM_MAJOR=$1
-  VM_MINOR=$2
-  VM_RELEASE=$3
-  SQ_MAJOR=$4
-  SQ_MINOR=$5
-  SQ_UPDATE=$6
+# VM_MAJOR=$1
+# VM_MINOR=$2
+# VM_RELEASE=$3
+# SQ_MAJOR=$4
+# SQ_MINOR=$5
+# SQ_UPDATE=$6
 ])
 
 

Modified: branches/Cog/platforms/unix/config/config.h.in
===================================================================
--- branches/Cog/platforms/unix/config/config.h.in 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/unix/config/config.h.in 2015-05-24 02:03:15 UTC (rev 3356)
@@ -161,8 +161,6 @@
 
 /* other configured variables */
 
-#undef SQ_VERSION
-#undef VM_VERSION
 #undef VM_MODULE_PREFIX
 #undef VM_DLSYM_PREFIX
 #undef VM_X11DIR

Modified: branches/Cog/platforms/unix/config/configure
===================================================================
--- branches/Cog/platforms/unix/config/configure 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/unix/config/configure 2015-05-24 02:03:15 UTC (rev 3356)
@@ -463,7 +463,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='NM LD SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS cogit topdir cfgdir vmmdir vmpdir vmmcfg blddir SQ_MAJOR SQ_MINOR SQ_UPDATE SQ_VERSION VM_MAJOR VM_MINOR VM_RELEASE VM_VERSION imgdir expanded_relative_imgdir plgdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT WFLAGS AS RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN CPP EGREP SED LN_S ECHO AR ac_ct_AR STRIP ac_ct_STRIP CXX CXXFLAGS ac_ct_CXX CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL INCLUDES HAVE_INTERP_H ALLOCA INTERP AWK VM_APP_ICONS npsqueak install_nps uninstall_nps SQ_LIBDIR int_modules ext_modules HAVE_LANGINFO_CODESET HAVE_NANOSLEEP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CPPFLAGS X_INCLUDES VM_DISPX11_OBJS VM_DISPX11_BITBLT_FLAGS BITBLT_OBJS BITBLT_FLAGS ARM_ARCH LIBM_CFLAGS IA32ABI_OBJS LIB_UUID int_plugins ext_plugins LIBOBJS LTLIBOBJS'
+ac_subst_vars='NM LD SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS cogit topdir cfgdir vmmdir vmpdir vmmcfg blddir SQ_MAJOR SQ_MINOR SQ_UPDATE SQ_VERSION imgdir expanded_relative_imgdir plgdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT WFLAGS AS RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN CPP EGREP SED LN_S ECHO AR ac_ct_AR STRIP ac_ct_STRIP CXX CXXFLAGS ac_ct_CXX CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL INCLUDES HAVE_INTERP_H ALLOCA INTERP AWK VM_APP_ICONS npsqueak install_nps uninstall_nps SQ_LIBDIR int_modules ext_modules HAVE_LANGINFO_CODESET HAVE_NANOSLEEP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CPPFLAGS X_INCLUDES VM_DISPX11_OBJS VM_DISPX11_BITBLT_FLAGS BITBLT_OBJS BITBLT_FLAGS ARM_ARCH LIBM_CFLAGS IA32ABI_OBJS LIB_UUID int_plugins ext_plugins LIBOBJS LTLIBOBJS'
 ac_subst_files='make_cfg make_int make_ext make_prg Makefile_install Makefile_dist Makefile_rpm Makefile_deb'
 
 # Initialize some variables set by options.
@@ -1538,12 +1538,12 @@
 sqminor=`echo ${sqversion} | sed 's/^.*\.//'`
 
 
-  VM_MAJOR=${vmmajor}
-  VM_MINOR=${vmminor}
-  VM_RELEASE=${SVNREV}
-  SQ_MAJOR=${sqmajor}
-  SQ_MINOR=${sqminor}
-  SQ_UPDATE=0
+# VM_MAJOR=${vmmajor}
+# VM_MINOR=${vmminor}
+# VM_RELEASE=${SVNREV}
+# SQ_MAJOR=${sqmajor}
+# SQ_MINOR=${sqminor}
+# SQ_UPDATE=0
 
 
 topdir=`cd ${srcdir}/../../..; pwd`
@@ -1675,24 +1675,21 @@
 
 
 
-VM_VERSION=${VM_MAJOR}.${VM_MINOR}-${VM_RELEASE}
+#VM_VERSION=${VM_MAJOR}.${VM_MINOR}-${VM_RELEASE}
 
-cat >>confdefs.h <<_ACEOF
-#define VM_VERSION "${VM_VERSION}"
-_ACEOF
+#AC_DEFINE_UNQUOTED(VM_VERSION, "${VM_VERSION}")
 
+#AC_SUBST(VM_MAJOR)
+#AC_SUBST(VM_MINOR)
+#AC_SUBST(VM_RELEASE)
+#AC_SUBST(VM_VERSION)
 
-
-
-
-
-
 # libdir contains ${exec_prefix}, so we have to default and expand early
 test "x$prefix" = xNONE && prefix=$ac_default_prefix
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 imgdir=`eval echo ${libdir}/squeak`
 expanded_relative_imgdir=`eval echo lib/squeak/${VM_VERSION}`
-plgdir='${imgdir}/'`eval echo ${VM_VERSION}`
+plgdir='${imgdir}/`./getversion VERSION_TAG`'
 
 
 
@@ -5923,7 +5920,7 @@
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 5926 "configure"' > conftest.$ac_ext
+  echo '#line 5923 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -6940,7 +6937,7 @@
 
 
 # Provide some information about the compiler.
-echo "$as_me:6943:" \
+echo "$as_me:6940:" \
      "checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
 { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -8003,11 +8000,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8006: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8003: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:8010: \$? = $ac_status" >&5
+   echo "$as_me:8007: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -8271,11 +8268,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8274: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8271: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:8278: \$? = $ac_status" >&5
+   echo "$as_me:8275: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -8375,11 +8372,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8378: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8375: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:8382: \$? = $ac_status" >&5
+   echo "$as_me:8379: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -9844,7 +9841,7 @@
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 9847 "configure"' > conftest.$ac_ext
+    echo '#line 9844 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -10741,7 +10738,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 10744 "configure"
+#line 10741 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10841,7 +10838,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 10844 "configure"
+#line 10841 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13184,11 +13181,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13187: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13184: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13191: \$? = $ac_status" >&5
+   echo "$as_me:13188: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -13288,11 +13285,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13291: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13288: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13295: \$? = $ac_status" >&5
+   echo "$as_me:13292: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -13824,7 +13821,7 @@
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 13827 "configure"' > conftest.$ac_ext
+    echo '#line 13824 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -14882,11 +14879,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14885: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14882: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14889: \$? = $ac_status" >&5
+   echo "$as_me:14886: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -14986,11 +14983,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14989: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14986: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14993: \$? = $ac_status" >&5
+   echo "$as_me:14990: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16435,7 +16432,7 @@
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 16438 "configure"' > conftest.$ac_ext
+    echo '#line 16435 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -17213,11 +17210,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17216: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17213: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:17220: \$? = $ac_status" >&5
+   echo "$as_me:17217: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -17481,11 +17478,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17484: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17481: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:17488: \$? = $ac_status" >&5
+   echo "$as_me:17485: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -17585,11 +17582,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17588: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17585: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:17592: \$? = $ac_status" >&5
+   echo "$as_me:17589: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -19054,7 +19051,7 @@
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 19057 "configure"' > conftest.$ac_ext
+    echo '#line 19054 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -29945,10 +29942,6 @@
 s,@SQ_MINOR@,$SQ_MINOR,;t t
 s,@SQ_UPDATE@,$SQ_UPDATE,;t t
 s,@SQ_VERSION@,$SQ_VERSION,;t t
-s,@VM_MAJOR@,$VM_MAJOR,;t t
-s,@VM_MINOR@,$VM_MINOR,;t t
-s,@VM_RELEASE@,$VM_RELEASE,;t t
-s,@VM_VERSION@,$VM_VERSION,;t t
 s,@imgdir@,$imgdir,;t t
 s,@expanded_relative_imgdir@,$expanded_relative_imgdir,;t t
 s,@plgdir@,$plgdir,;t t

Modified: branches/Cog/platforms/unix/config/configure.ac
===================================================================
--- branches/Cog/platforms/unix/config/configure.ac 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/unix/config/configure.ac 2015-05-24 02:03:15 UTC (rev 3356)
@@ -124,21 +124,21 @@
 AC_SUBST(SQ_UPDATE)
 AC_SUBST(SQ_VERSION)
 
-VM_VERSION=${VM_MAJOR}.${VM_MINOR}-${VM_RELEASE}
+#VM_VERSION=${VM_MAJOR}.${VM_MINOR}-${VM_RELEASE}
 
-AC_DEFINE_UNQUOTED(VM_VERSION, "${VM_VERSION}")
+#AC_DEFINE_UNQUOTED(VM_VERSION, "${VM_VERSION}")
 
-AC_SUBST(VM_MAJOR)
-AC_SUBST(VM_MINOR)
-AC_SUBST(VM_RELEASE)
-AC_SUBST(VM_VERSION)
+#AC_SUBST(VM_MAJOR)
+#AC_SUBST(VM_MINOR)
+#AC_SUBST(VM_RELEASE)
+#AC_SUBST(VM_VERSION)
 
 # libdir contains ${exec_prefix}, so we have to default and expand early
 test "x$prefix" = xNONE && prefix=$ac_default_prefix
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 imgdir=`eval echo ${libdir}/squeak`
 expanded_relative_imgdir=`eval echo lib/squeak/${VM_VERSION}`
-plgdir='${imgdir}/'`eval echo ${VM_VERSION}`
+plgdir='${imgdir}/`./getversion VERSION_TAG`'
 
 AC_SUBST(imgdir)
 AC_SUBST(expanded_relative_imgdir)

Added: branches/Cog/platforms/unix/config/getversion.c
===================================================================
--- branches/Cog/platforms/unix/config/getversion.c                        (rev 0)
+++ branches/Cog/platforms/unix/config/getversion.c 2015-05-24 02:03:15 UTC (rev 3356)
@@ -0,0 +1,3 @@
+#define VERSION_PROGRAM 1
+
+#include "sqSCCSVersion.h"

Modified: branches/Cog/platforms/unix/config/make.cfg.in
===================================================================
--- branches/Cog/platforms/unix/config/make.cfg.in 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/unix/config/make.cfg.in 2015-05-24 02:03:15 UTC (rev 3356)
@@ -1,6 +1,6 @@
 # make.cfg.in -- mf fragment for configured variables -*- makefile -*-
 #
-#   Copyright (C) 1996-2004 by Ian Piumarta and other authors/contributors
+#   Copyright (C) 1996-2015 by Ian Piumarta and other authors/contributors
 #                              listed elsewhere in this file.
 #   All rights reserved.
 #  
@@ -20,28 +20,18 @@
 #   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 #   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 #   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-#   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-#   SOFTWARE.
+#   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
 
 # Author: [hidden email]
 #
-# Last edited: Tue Jan 26 11:48:03 PST 2010 by eliot
+# Last edited: Fri May 22 11:16:24 PDT 2015 by eliot
 
 MAKEFLAGS= --no-print-directory
 
 @SET_MAKE@
 
-VM_MAJOR= @VM_MAJOR@
-VM_MINOR= @VM_MINOR@
-VM_RELEASE= @VM_RELEASE@
-VM_VERSION= @VM_VERSION@
-
-SQ_MAJOR= @SQ_MAJOR@
-SQ_MINOR= @SQ_MINOR@
-SQ_UPDATE= @SQ_UPDATE@
-SQ_VERSION= @SQ_VERSION@
-
 DEVEL= @DEVEL@
 
 host= @host@

Modified: branches/Cog/platforms/unix/vm/Makefile.in
===================================================================
--- branches/Cog/platforms/unix/vm/Makefile.in 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/unix/vm/Makefile.in 2015-05-24 02:03:15 UTC (rev 3356)
@@ -71,7 +71,7 @@
 
 sqNamedPrims$o : $(blddir)/sqNamedPrims.h
 
-# rebuild sqExtPrims sqUnixMain (VM_VERSION) if config.h changes
+# rebuild sqExtPrims sqUnixMain if config.h changes
 
 sqUnixExternalPrims$o sqUnixMain$o : ../config.h $(topdir)/platforms/unix/vm/dlfcn-dyld.c
 

Modified: branches/Cog/platforms/unix/vm/sqConfig.h
===================================================================
--- branches/Cog/platforms/unix/vm/sqConfig.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/unix/vm/sqConfig.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -18,3 +18,8 @@
 #else
 # define VMBIGENDIAN 1
 #endif
+
+#if defined(__GNUC__)
+# define PlatformNoDbgRegParms __attribute__ ((regparm (0)))
+# define NeverInline __attribute__ ((noinline))
+#endif

Modified: branches/Cog/platforms/win32/vm/sqConfig.h
===================================================================
--- branches/Cog/platforms/win32/vm/sqConfig.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/win32/vm/sqConfig.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -31,3 +31,8 @@
 #endif
 
 #define VMBIGENDIAN 0
+
+#if defined(__GNUC__) && (__GNUC__ == 3 || (!defined(__MINGW32__) && !defined(__MINGW64__)))
+# define PlatformNoDbgRegParms __attribute__ ((regparm (0)))
+# define NeverInline __attribute__ ((noinline))
+#endif

Modified: branches/Cog/platforms/win32/vm/sqPlatformSpecific.h
===================================================================
--- branches/Cog/platforms/win32/vm/sqPlatformSpecific.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/win32/vm/sqPlatformSpecific.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -45,7 +45,10 @@
 #if defined(_MSC_VER) || defined(__MINGW32__)
 #  undef EXPORT
 #  define EXPORT(returnType) __declspec( dllexport ) returnType
+#  undef VM_EXPORT
+#  define VM_EXPORT __declspec( dllexport )
 #endif
+
 #if defined(_MSC_VER) || defined(__MINGW32__)
 # define fabsf(x)    ((float)fabs((double)(x)))
 #endif

Modified: branches/Cog/platforms/win32/vm/sqWin32.h
===================================================================
--- branches/Cog/platforms/win32/vm/sqWin32.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/win32/vm/sqWin32.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -25,17 +25,6 @@
 #define FINALLY
 #endif
 
-#ifndef SQ_IMAGE_VERSION_MAJOR
-#define SQ_IMAGE_VERSION_MAJOR 3
-#endif
-#ifndef SQ_IMAGE_VERSION_MINOR
-#define SQ_IMAGE_VERSION_MINOR 0
-#endif
-
-#if (SQ_IMAGE_VERSION_MAJOR < 2)
-#error "These files are only for Squeak >= 2.0"
-#endif
-
 #define NO_TABLET
 
 
@@ -235,9 +224,6 @@
 #define VERSION ""
 #endif
 
-#define VM_VERSION TEXT("Cog VM 4.0.0 (release) from ") TEXT(__DATE__) \
- TEXT("\n") TEXT("Compiler: ") TEXT(COMPILER) TEXT(VERSION)
-
 /********************************************************/
 /* image reversal functions                             */
 /********************************************************/

Modified: branches/Cog/platforms/win32/vm/sqWin32Main.c
===================================================================
--- branches/Cog/platforms/win32/vm/sqWin32Main.c 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/win32/vm/sqWin32Main.c 2015-05-24 02:03:15 UTC (rev 3356)
@@ -18,6 +18,7 @@
 #include <float.h>
 #include <ole2.h>
 #include "sq.h"
+#include "sqWin32Prefs.h"
 #include "sqAssert.h"
 #include "sqWin32Backtrace.h"
 #include "sqSCCSVersion.h"
@@ -925,7 +926,7 @@
     fprintf(f,"\n%s", gdInfoString);
 
     /* print VM version information */
-    fprintf(f,"\nVM Version: %s\n", VM_VERSION);
+    fprintf(f,"\nVM Version: %s\n", VM_VERSION_TEXT);
 #if STACKVM
     fprintf(f,"Interpreter Build: %s\n", __interpBuildInfo);
 # if COGVM

Modified: branches/Cog/platforms/win32/vm/sqWin32Prefs.c
===================================================================
--- branches/Cog/platforms/win32/vm/sqWin32Prefs.c 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/win32/vm/sqWin32Prefs.c 2015-05-24 02:03:15 UTC (rev 3356)
@@ -397,7 +397,7 @@
 void HandlePrefsMenu(int cmd) {
   switch(cmd) {
   case ID_ABOUT:
-    MessageBox(stWindow,VM_VERSION,
+    MessageBox(stWindow,VM_VERSION_TEXT,
        TEXT("About " VM_NAME " on Win32"), MB_OK);
     break;
   case ID_DEFERUPDATES:

Modified: branches/Cog/platforms/win32/vm/sqWin32Prefs.h
===================================================================
--- branches/Cog/platforms/win32/vm/sqWin32Prefs.h 2015-05-21 22:26:17 UTC (rev 3355)
+++ branches/Cog/platforms/win32/vm/sqWin32Prefs.h 2015-05-24 02:03:15 UTC (rev 3356)
@@ -34,4 +34,20 @@
 void CreatePrefsMenu(void);
 void HandlePrefsMenu(int);
 
+#if COGVM
+# define NICKNAME "Cog"
+#elif STACKVM
+# define NICKNAME "Stack"
+#else
+# define NICKNAME "Interpreter"
 #endif
+#if SPURVM
+# define NICKNAME_EXTRA " Spur VM "
+#else
+# define NICKNAME_EXTRA " VM "
+#endif
+
+#define VM_VERSION_TEXT TEXT(NICKNAME NICKNAME_EXTRA VM_VERSION) \
+ TEXT(" (release) from ") TEXT(__DATE__) TEXT("\n") \
+ TEXT("Compiler: ") TEXT(COMPILER) TEXT(VERSION)
+#endif

Reply | Threaded
Open this post in threaded view
|

Re: [commit][3356] Move definition of VM_VERSION out of various sqConfig. h files and into

David T. Lewis
 
On Sat, May 23, 2015 at 07:03:18PM -0700, [hidden email] wrote:
>  
> Revision: 3356
> Author:   eliot
> Date:     2015-05-23 19:03:15 -0700 (Sat, 23 May 2015)
> Log Message:
> -----------
> Move definition of VM_VERSION out of various sqConfig.h files and into
> platforms/Cross/vm/sqVirtualMachine.h.



#if SPURVM
# define VM_VERSION "5.0"
#else
# define VM_VERSION "4.5"
#endif


I know this is the oscog branch, but in principle the sqVirtualMachine.h
header could be included from more than just Cog and Spur. It might be
better to put VM_VERSION elsewhere if possible.

For reference, in the unix build for trunk (Cmake build process), VM_VERSION
is defined in build/config.h. The definition is created by the configure
script, which derives it from the VMM src version label and the SVN platforms
version levels.

If the VM_VERSION definition for oscog could be put into a sqConfig.h
file, that might be a better choice that would avoid later conflicts
with trunk.

Dave