Update ./update_file_lists.sh.

Make it executable and generate extract_includes.bat in the same directory.
diff --git a/cmake/update_file_lists.sh b/cmake/update_file_lists.sh
old mode 100644
new mode 100755
index d64eb4a..4466c02
--- a/cmake/update_file_lists.sh
+++ b/cmake/update_file_lists.sh
@@ -39,8 +39,8 @@
     /^set\\($VARNAME/ {
       start = 1;
       print \$0;
-      split(values, vlist, \" \");
-      for (i = 1; i <= length(vlist); ++i) {
+      len = split(values, vlist, \" \");
+      for (i = 1; i <= len; ++i) {
         printf(\"  %s%s\\n\", prefix, vlist[i]);
       }
       next;
@@ -58,12 +58,12 @@
 sort_files() {
   for FILE in $@; do
     echo $FILE
-  done | sort | uniq
+  done | LC_ALL=C sort | uniq
 }
 
 MAKEFILE=../src/Makefile.am
 CMAKE_DIR=.
-EXTRACT_INCLUDES_BAT=../vsprojects/extract_includes.bat
+EXTRACT_INCLUDES_BAT=extract_includes.bat.in
 
 [ -f "$MAKEFILE" ] || {
   echo "Cannot find: $MAKEFILE"
@@ -105,10 +105,17 @@
 set_variable_value $CMAKE_DIR/tests.cmake lite_test_files $COMMON_PREFIX $LITE_TEST_SOURCES
 
 # Generate extract_includes.bat
-for HEADER in $HEADERS; do
-  echo $(dirname $HEADER) | sed "s/\\//\\\\/g"
-done | sort | uniq | sed "s/^/mkdir include\\\\/" > $EXTRACT_INCLUDES_BAT
-for HEADER in $HEADERS; do
-  WINPATH=$(echo $HEADER | sed 's;/;\\\\;g')
-  echo "copy ..\\src\\$WINPATH include\\$WINPATH" >> $EXTRACT_INCLUDES_BAT
+echo "mkdir include" > $EXTRACT_INCLUDES_BAT
+for HEADER in $PUBLIC_HEADERS; do
+  HEADER_DIR=$(dirname $HEADER)
+  while [ ! "$HEADER_DIR" = "." ]; do
+    echo $HEADER_DIR | sed "s/\\//\\\\/g"
+    HEADER_DIR=$(dirname $HEADER_DIR)
+  done
+done | sort | uniq | sed "s/^/mkdir include\\\\/" >> $EXTRACT_INCLUDES_BAT
+for HEADER in $PUBLIC_HEADERS; do
+  WINPATH=$(echo $HEADER | sed 's;/;\\;g')
+  echo "copy \${PROTOBUF_SOURCE_WIN32_PATH}\\..\\src\\$WINPATH include\\$WINPATH" >> $EXTRACT_INCLUDES_BAT
 done
+# Add pbconfig.h.
+echo "copy \${PROTOBUF_BINARY_WIN32_PATH}\\google\\protobuf\\stubs\\pbconfig.h include\\google\\protobuf\\stubs\\pbconfig.h" >> $EXTRACT_INCLUDES_BAT