Index: trunk/Config.kmk
===================================================================
--- trunk/Config.kmk	(revision 1396)
+++ trunk/Config.kmk	(revision 1397)
@@ -127,6 +127,8 @@
 # will be published, odd numbers are set during development.
 VBOX_VERSION_BUILD = 99
-# For convenience
-VBOX_VERSION = $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
+# Full version string (may include more than just x.y.z, but no spaces or other problematic chars).
+VBOX_VERSION_STRING = $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
+# Same as VBOX_VERSION_STRING, deprecated.
+VBOX_VERSION = $(VBOX_VERSION_STRING)
 
 
@@ -2058,5 +2060,5 @@
 # directory. If you don't run it there, you get a consistent sub-tree only.
 #
-VBOX_VERSION_STAMP = $(PATH_OUT)/version-stamp-$(VBOX_VERSION_MAJOR)-$(VBOX_VERSION_MINOR)-$(VBOX_VERSION_BUILD)
+VBOX_VERSION_STAMP = $(PATH_OUT)/version-stamp-$(VBOX_VERSION_STRING)
 VBOX_VERSION_HEADER = $(PATH_OUT)/version-generated.h
 VBOX_VERSION_MK     = $(PATH_OUT)/version-generated.mk
@@ -2076,5 +2078,5 @@
 	$(APPEND) $@.tmp "#define VBOX_VERSION_MINOR $(VBOX_VERSION_MINOR)"
 	$(APPEND) $@.tmp "#define VBOX_VERSION_BUILD $(VBOX_VERSION_BUILD)"
-	$(APPEND) $@.tmp '#define VBOX_VERSION_STRING "$(VBOX_VERSION)"'
+	$(APPEND) $@.tmp '#define VBOX_VERSION_STRING "$(VBOX_VERSION_STRING)"'
 	$(APPEND) $@.tmp ""
 	$(APPEND) $@.tmp "#endif"
Index: trunk/src/VBox/Additions/linux/Makefile
===================================================================
--- trunk/src/VBox/Additions/linux/Makefile	(revision 1396)
+++ trunk/src/VBox/Additions/linux/Makefile	(revision 1397)
@@ -78,5 +78,5 @@
 	$(QUIET)$(INSTALL) -m 0644 installer/test.c $(PATH_TARGET)/install/module/test/
 	$(QUIET)objcopy -S -R .comment $(PATH_BIN)/additions/vboxadd-timesync $(PATH_TARGET)/install/vboxadd-timesync
-	$(QUIET)$(SED) "s;_VERSION_;$(VBOX_VERSION);g" installer/install.sh | $(SED) "s;_BUILD_;$(shell date);g" | $(SED) "s;_OSE_;$(VBOX_OSE);g" > $(PATH_TARGET)/install/install_.sh
+	$(QUIET)$(SED) "s;_VERSION_;$(VBOX_VERSION_STRING);g" installer/install.sh | $(SED) "s;_BUILD_;$(shell date);g" | $(SED) "s;_OSE_;$(VBOX_OSE);g" > $(PATH_TARGET)/install/install_.sh
 	$(QUIET)$(INSTALL) -m 0755 $(PATH_TARGET)/install/install_.sh $(PATH_TARGET)/install/install.sh
 	$(QUIET)$(RM) $(PATH_TARGET)/install/install_.sh
@@ -97,4 +97,4 @@
 endif
 	$(QUIET)$(VBOX_MAKESELF) $(PATH_TARGET)/install $@ \
-	"VirtualBox $(VBOX_VERSION) Guest Additions for Linux installation" /bin/sh ./install.sh "> /dev/null"
+	"VirtualBox $(VBOX_VERSION_STRING) Guest Additions for Linux installation" /bin/sh ./install.sh "> /dev/null"
 
Index: trunk/src/VBox/Devices/Graphics/BIOS/Makefile
===================================================================
--- trunk/src/VBox/Devices/Graphics/BIOS/Makefile	(revision 1396)
+++ trunk/src/VBox/Devices/Graphics/BIOS/Makefile	(revision 1397)
@@ -67,5 +67,5 @@
 $(PATH_TARGET)/_vgabios_.c: vgabios.c vgabios.h vbe.h vgatables.h vgafonts.h vbe.c clext.c
 	$(call MSG_L1,Precompiling $<,=> $@)
-	$(QUIET)$(TOOL_$(VBOX_GCC_TOOL)_CC) -DVBOX -DVBOX_VERSION=\"$(VBOX_VERSION)\" -E -P $< -DVBE -DVGABIOS_DATE="''" $(addprefix -D,$(DEFS) $(DEFS.$(BUILD_TYPE))) > $@
+	$(QUIET)$(TOOL_$(VBOX_GCC_TOOL)_CC) -DVBOX -DVBOX_VERSION_STRING=\"$(VBOX_VERSION_STRING)\" -E -P $< -DVBE -DVGABIOS_DATE="''" $(addprefix -D,$(DEFS) $(DEFS.$(BUILD_TYPE))) > $@
 
 # 2. compile
Index: trunk/src/VBox/Devices/Graphics/BIOS/vbe.c
===================================================================
--- trunk/src/VBox/Devices/Graphics/BIOS/vbe.c	(revision 1396)
+++ trunk/src/VBox/Devices/Graphics/BIOS/vbe.c	(revision 1397)
@@ -81,5 +81,5 @@
 _vbebios_product_revision:
 .ascii       "InnoTek VirtualBox Version "
-.ascii       VBOX_VERSION
+.ascii       VBOX_VERSION_STRING
 .byte        0x00
 
@@ -99,5 +99,5 @@
 msg_vbe_init:
 .ascii       "InnoTek VirtualBox Version "
-.ascii       VBOX_VERSION
+.ascii       VBOX_VERSION_STRING
 .ascii       " VBE Display Adapter"
 .byte	0x0a,0x0d, 0x00
Index: trunk/src/VBox/Devices/Graphics/BIOS/vgabios.c
===================================================================
--- trunk/src/VBox/Devices/Graphics/BIOS/vgabios.c	(revision 1396)
+++ trunk/src/VBox/Devices/Graphics/BIOS/vgabios.c	(revision 1397)
@@ -420,5 +420,5 @@
 msg_vga_init:
 .ascii "InnoTek VirtualBox Version "
-.ascii VBOX_VERSION
+.ascii VBOX_VERSION_STRING
 .ascii " VGA BIOS"
 .byte 0x0d,0x0a,0x00
Index: trunk/src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp
===================================================================
--- trunk/src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp	(revision 1396)
+++ trunk/src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp	(revision 1397)
@@ -921,8 +921,7 @@
             RTTimeSpecToString(RTTimeNow(&TimeSpec), szNowUct, sizeof(szNowUct));
             RTLogRelLogger(pLogger, 0, ~0U,
-                           "VBoxBFE %d.%d.%d (%s %s) release log\n"
+                           "VBoxBFE %s (%s %s) release log\n"
                            "Log opened %s\n",
-                           VBOX_VERSION_MAJOR, VBOX_VERSION_MINOR, VBOX_VERSION_BUILD,
-                           __DATE__, __TIME__,
+                           VBOX_VERSION_STRING, __DATE__, __TIME__,
                            szNowUct);
 
Index: trunk/src/VBox/Frontends/VBoxManage/VBoxManage.cpp
===================================================================
--- trunk/src/VBox/Frontends/VBoxManage/VBoxManage.cpp	(revision 1396)
+++ trunk/src/VBox/Frontends/VBoxManage/VBoxManage.cpp	(revision 1397)
@@ -5890,9 +5890,9 @@
     RTR3Init(false);
 
-    RTPrintf("VirtualBox Command Line Management Interface Version %d.%d.%d\n"
+    RTPrintf("VirtualBox Command Line Management Interface Version %s\n"
              "(C) 2005-2007 InnoTek Systemberatung GmbH\n"
              "All rights reserved.\n"
              "\n",
-             VBOX_VERSION_MAJOR, VBOX_VERSION_MINOR, VBOX_VERSION_BUILD);
+             VBOX_VERSION_STRING);
 
     /* shortcut for no parameters or help */
Index: trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
===================================================================
--- trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp	(revision 1396)
+++ trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp	(revision 1397)
@@ -807,6 +807,6 @@
 
     LogFlow(("SDL GUI started\n"));
-    RTPrintf("VirtualBox SDL GUI %d.%d.%d built %s %s\n",
-             VBOX_VERSION_MAJOR, VBOX_VERSION_MINOR, VBOX_VERSION_BUILD, __DATE__, __TIME__);
+    RTPrintf("VirtualBox SDL GUI %s built %s %s\n",
+             VBOX_VERSION_STRING, __DATE__, __TIME__);
 
     // less than one parameter is not possible
Index: trunk/src/VBox/Frontends/VirtualBox/Makefile
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/Makefile	(revision 1396)
+++ trunk/src/VBox/Frontends/VirtualBox/Makefile	(revision 1397)
@@ -222,4 +222,5 @@
 	$(xQUIET)$(RM) -f $@
 	$(xQUIET)$(SED) \
+		-e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
 		-e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
 		-e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
Index: trunk/src/VBox/HostDrivers/Support/Makefile
===================================================================
--- trunk/src/VBox/HostDrivers/Support/Makefile	(revision 1396)
+++ trunk/src/VBox/HostDrivers/Support/Makefile	(revision 1397)
@@ -200,4 +200,5 @@
 	$(xQUIET)$(RM) -f $@
 	$(xQUIET)$(SED) \
+		-e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
 		-e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
 		-e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
Index: trunk/src/VBox/Main/ConsoleImpl.cpp
===================================================================
--- trunk/src/VBox/Main/ConsoleImpl.cpp	(revision 1396)
+++ trunk/src/VBox/Main/ConsoleImpl.cpp	(revision 1397)
@@ -306,6 +306,6 @@
     AssertReturn (mAudioSniffer, E_FAIL);
 
-    memset (&mCallbackData, 0, sizeof (mCallbackData));    
-    
+    memset (&mCallbackData, 0, sizeof (mCallbackData));
+
     /* Confirm a successful initialization when it's the case */
     autoInitSpan.setSucceeded();
@@ -3366,5 +3366,5 @@
     mCallbackData.mcc.needsHostCursor = needsHostCursor;
     mCallbackData.mcc.valid = true;
-    
+
     CallbackList::iterator it = mCallbacks.begin();
     while (it != mCallbacks.end())
@@ -3743,7 +3743,7 @@
                 RTMemFree (mCallbackData.mpsc.shape);
         }
-        memset (&mCallbackData, 0, sizeof (mCallbackData));    
-    }
-    
+        memset (&mCallbackData, 0, sizeof (mCallbackData));
+    }
+
     LogFlowThisFuncLeave();
     return rc;
@@ -6334,8 +6334,7 @@
             RTTimeSpecToString(RTTimeNow(&timeSpec), nowUct, sizeof(nowUct));
             RTLogRelLogger(loggerRelease, 0, ~0U,
-                           "VirtualBox %d.%d.%d (%s %s) release log\n"
+                           "VirtualBox %s (%s %s) release log\n"
                            "Log opened %s\n",
-                           VBOX_VERSION_MAJOR, VBOX_VERSION_MINOR, VBOX_VERSION_BUILD,
-                           __DATE__, __TIME__,
+                           VBOX_VERSION_STRING, __DATE__, __TIME__,
                            nowUct);
 
Index: trunk/src/VBox/Main/VirtualBoxImpl.cpp
===================================================================
--- trunk/src/VBox/Main/VirtualBoxImpl.cpp	(revision 1396)
+++ trunk/src/VBox/Main/VirtualBoxImpl.cpp	(revision 1397)
@@ -130,7 +130,5 @@
 
     if (sVersion.isNull())
-        sVersion = Utf8StrFmt ("%d.%d.%d",
-                               VBOX_VERSION_MAJOR, VBOX_VERSION_MINOR,
-                               VBOX_VERSION_BUILD);
+        sVersion = VBOX_VERSION_STRING;
     LogFlowThisFunc (("Version: %ls\n", sVersion.raw()));
 
Index: trunk/src/VBox/Main/linux/server.cpp
===================================================================
--- trunk/src/VBox/Main/linux/server.cpp	(revision 1396)
+++ trunk/src/VBox/Main/linux/server.cpp	(revision 1397)
@@ -970,10 +970,10 @@
 
         {
-            char szBuf[64];
+            char szBuf[80];
             int  iSize;
 
             iSize = snprintf (szBuf, sizeof(szBuf),
-                              "InnoTek VirtualBox XPCOM Server Version %d.%d.%d",
-                              VBOX_VERSION_MAJOR, VBOX_VERSION_MINOR, VBOX_VERSION_BUILD);
+                              "InnoTek VirtualBox XPCOM Server Version %s",
+                              VBOX_VERSION_STRING);
             for (int i=iSize; i>0; i--)
                 putchar('*');
