diff --git a/build/make/gen_msvs_proj.sh b/build/make/gen_msvs_proj.sh
index 1398bfba9901a579f8f4a3d03f5f0a5169cc21d1..5181d3252ee4eb91f564de12654bb1bcf7293b5b 100755
--- a/build/make/gen_msvs_proj.sh
+++ b/build/make/gen_msvs_proj.sh
@@ -206,7 +206,7 @@ for opt in "$@"; do
     ;;
     --ver=*) vs_ver="$optval"
              case $optval in
-             [78])
+             [789])
              ;;
              *) die Unrecognized Visual Studio Version in $opt
              ;;
@@ -248,6 +248,8 @@ case "${vs_ver:-8}" in
     ;;
     8) vs_ver_id="8.00"
     ;;
+    9) vs_ver_id="9.00"
+    ;;
 esac
 
 [ -n "$name" ] || die "Project name (--name) must be specified!"
diff --git a/build/make/gen_msvs_sln.sh b/build/make/gen_msvs_sln.sh
index b0904f99efe70e9ded9d6f42459f2857f7e862ba..f377aa824a04472400b5510d20d761b91c085c1e 100755
--- a/build/make/gen_msvs_sln.sh
+++ b/build/make/gen_msvs_sln.sh
@@ -25,7 +25,7 @@ files.
 Options:
     --help                      Print this message
     --out=outfile               Redirect output to a file
-    --ver=version               Version (7,8) of visual studio to generate for
+    --ver=version               Version (7,8,9) of visual studio to generate for
     --target=isa-os-cc          Target specifier
 EOF
     exit 1
@@ -224,7 +224,7 @@ for opt in "$@"; do
     ;;
     --ver=*) vs_ver="$optval"
              case $optval in
-             [78])
+             [789])
              ;;
              *) die Unrecognized Visual Studio Version in $opt
              ;;
@@ -235,7 +235,7 @@ for opt in "$@"; do
              7) sln_vers="8.00"
                 sln_vers_str="Visual Studio .NET 2003"
              ;;
-             8)
+             [89])
              ;;
              *) die "Unrecognized Visual Studio Version '$optval' in $opt"
              ;;
@@ -257,6 +257,9 @@ case "${vs_ver:-8}" in
     8) sln_vers="9.00"
        sln_vers_str="Visual Studio 2005"
     ;;
+    9) sln_vers="10.00"
+       sln_vers_str="Visual Studio 2008"
+    ;;
 esac
 
 for f in "${file_list[@]}"; do
diff --git a/configure b/configure
index d2dfb6b351ca82a285e4fb0d62f7e1f9dee3c5e2..85230d967ae148acf10d25ae086559a1a03f5419 100755
--- a/configure
+++ b/configure
@@ -107,11 +107,13 @@ all_platforms="${all_platforms} x86-solaris-gcc"
 all_platforms="${all_platforms} x86-win32-gcc"
 all_platforms="${all_platforms} x86-win32-vs7"
 all_platforms="${all_platforms} x86-win32-vs8"
+all_platforms="${all_platforms} x86-win32-vs9"
 all_platforms="${all_platforms} x86_64-darwin9-gcc"
 all_platforms="${all_platforms} x86_64-linux-gcc"
 all_platforms="${all_platforms} x86_64-linux-icc"
 all_platforms="${all_platforms} x86_64-solaris-gcc"
 all_platforms="${all_platforms} x86_64-win64-vs8"
+all_platforms="${all_platforms} x86_64-win64-vs9"
 all_platforms="${all_platforms} universal-darwin8-gcc"
 all_platforms="${all_platforms} universal-darwin9-gcc"
 all_platforms="${all_platforms} generic-gnu"