diff --git a/build/bakefiles/common.bkl b/build/bakefiles/common.bkl
index 4747f48f1a..db792b410b 100644
--- a/build/bakefiles/common.bkl
+++ b/build/bakefiles/common.bkl
@@ -32,10 +32,12 @@
_$(CPU)
- _amd64
- _amd64
+ _x64
+ _x64
_ia64
_ia64
+ _x64
+ _x64
@@ -318,6 +320,8 @@
/MACHINE:X64
/MACHINE:IA64
/MACHINE:IA64
+ /MACHINE:X64
+ /MACHINE:X64
diff --git a/build/bakefiles/config.bkl b/build/bakefiles/config.bkl
index 19fee62899..2f0327eedb 100644
--- a/build/bakefiles/config.bkl
+++ b/build/bakefiles/config.bkl
@@ -103,7 +103,8 @@ your environment is set up appropriately with the correct compiler in the
PATH. Rather it affects some options passed to some of the common build
utilities such as the resource compiler and the linker.
-Accepted values: AMD64, IA64.
+Accepted values: IA64, X64
+(AMD64 accepted as synonym for X64 but should not be used any more).
diff --git a/build/msw/config.vc b/build/msw/config.vc
index b9cc991260..d01e853bdb 100644
--- a/build/msw/config.vc
+++ b/build/msw/config.vc
@@ -52,7 +52,8 @@ BUILD = debug
# PATH. Rather it affects some options passed to some of the common build
# utilities such as the resource compiler and the linker.
#
-# Accepted values: AMD64, IA64.
+# Accepted values: IA64, X64
+# (AMD64 accepted as synonym for X64 but should not be used any more).
TARGET_CPU = $(CPU)
# Should debugging info be included in the executables? The default value
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index fe793f6685..2dd0e26802 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -1723,17 +1723,23 @@ BUILD_CFG_FILE = $(SETUPHDIR)\build.cfg
### Conditionally set variables: ###
!if "$(TARGET_CPU)" == "AMD64"
-ARCH_SUFFIX = _amd64
+ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "IA64"
ARCH_SUFFIX = _ia64
!endif
+!if "$(TARGET_CPU)" == "X64"
+ARCH_SUFFIX = _x64
+!endif
!if "$(TARGET_CPU)" == "amd64"
-ARCH_SUFFIX = _amd64
+ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "ia64"
ARCH_SUFFIX = _ia64
!endif
+!if "$(TARGET_CPU)" == "x64"
+ARCH_SUFFIX = _x64
+!endif
!if "$(USE_GUI)" == "0"
PORTNAME = base
!endif
@@ -1782,12 +1788,18 @@ LINK_TARGET_CPU = /MACHINE:X64
!if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
+!if "$(TARGET_CPU)" == "X64"
+LINK_TARGET_CPU = /MACHINE:X64
+!endif
!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "ia64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
+!if "$(TARGET_CPU)" == "x64"
+LINK_TARGET_CPU = /MACHINE:X64
+!endif
!if "$(RUNTIME_LIBS)" == "dynamic"
__RUNTIME_LIBS_10 = D
!endif
diff --git a/docs/changes.txt b/docs/changes.txt
index f8534e00e2..eb56788041 100644
--- a/docs/changes.txt
+++ b/docs/changes.txt
@@ -10,6 +10,14 @@ INCOMPATIBLE CHANGES SINCE 2.8.x
the "Changes Since wxWidgets 2.8" section of the manual,
please read it if the explanation here is too cryptic.
+Table of contents of this section:
+
+ - Unicode-related changes
+ - wxODBC and contrib libraries removal
+ - Changes in behaviour not resulting in compilation errors
+ - Build system changes
+ - Major new features in this release
+
Unicode-related changes
-----------------------
@@ -470,6 +478,20 @@ Changes in behaviour visible to end users
now the control scrolls if too much text is added.
+Build system changes
+--------------------
+
+- In wxMSW makefile builds, "_x64" is used instead of "_amd64" when compiling
+ for this architecture in the architecture-specific paths and library names.
+ TARGET_CPU can still be specified as "amd64" for compatibility but "x64"
+ should be used now.
+
+- Official wxMSW binaries, i.e. those built with OFFICIAL_BUILD=1, built with
+ MSVC now include the version of the compiler used and the architecture if
+ it's not the default "x86". E.g. a library built with MSVC 10 for amd64 is
+ called "wxbase294ud_vc110_amd64.dll" now.
+
+
Major new features in this release
----------------------------------