diff --git a/build.sh b/build.sh
index 95b32ba429ddc56acfe571d93f13febe81752a42..c10380c0434ddcbfeba773a30ecf3c4aae90620c 100755
--- a/build.sh
+++ b/build.sh
@@ -173,12 +173,6 @@ build()
   fi
 }
 
-  if "$AUTOBUILD" build -c Doxygen
-  then
-    echo true >"$build_dir"/build_ok
-  else
-    echo false >"$build_dir"/build_ok
-  fi
 # Check to see if we were invoked from the wrapper, if not, re-exec ourselves from there
 if [ "x$arch" = x ]
 then
@@ -423,6 +417,11 @@ then
       upload_stub_installers "$build_dir_stubs"
     fi
     end_section Upload Installer
+  elif [ "$last_built_variant" = "Doxygen" ]
+  then
+      cd "$build_dir/doxygen/html"
+      tar cjf viewer-doxygen.tar.bz2 .
+      upload_item docs viewer-doxygen.tar.bz2 binary/octet-stream
   else
     echo skipping upload of installer
   fi
diff --git a/indra/Doxyfile.in b/indra/Doxyfile.in
index 1a20eebf22bdfcaf1a80fa328e05c692c1e7db55..db31000b2d0ff04d8c4bc0f3e5e430562f9ab72d 100644
--- a/indra/Doxyfile.in
+++ b/indra/Doxyfile.in
@@ -25,13 +25,13 @@ DOXYFILE_ENCODING      = UTF-8
 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded
 # by quotes) that should identify the project.
 
-PROJECT_NAME           = SecondLifeViewer
+PROJECT_NAME           = "@VIEWER_CHANNEL@"
 
 # The PROJECT_NUMBER tag can be used to enter a project or revision number.
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER         =
+PROJECT_NUMBER         = @VIEWER_SHORT_VERSION@.@VIEWER_VERSION_REVISION@
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
 # base path where the generated documentation will be put.
diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h
index b23978a534bb46d29c3a61bd2bc00b8bbafec0d8..6a246e32e57e6f934df8bec402483194e421a4ab 100755
--- a/indra/newview/llappviewer.h
+++ b/indra/newview/llappviewer.h
@@ -1,12 +1,12 @@
 /** 
- * @mainpage Second Life Viewer
+ * @mainpage
  *
  * This is the sources for the Second Life Viewer;
  * information on the open source project is at 
  * https://wiki.secondlife.com/wiki/Open_Source_Portal
  *
  * The Mercurial repository for the trunk version is at
- * https://hg.secondlife.com/viewer-development
+ * https://bitbucket.org/lindenlab/viewer-release
  *
  * @section source-license Source License
  * @verbinclude LICENSE-source.txt
diff --git a/indra/newview/llwindowlistener.cpp b/indra/newview/llwindowlistener.cpp
index 734018cfc29831effafa77167ae19ebe054999d7..5367262bb6cfe3094187fffa8868c5393b1d8e52 100755
--- a/indra/newview/llwindowlistener.cpp
+++ b/indra/newview/llwindowlistener.cpp
@@ -55,7 +55,7 @@ LLWindowListener::LLWindowListener(LLViewerWindow *window, const KeyboardGetter&
 		"Given [\"keysym\"], [\"keycode\"] or [\"char\"], inject the specified ";
 	std::string keyExplain =
 		"(integer keycode values, or keysym string from any addKeyName() call in\n"
-		"http://hg.secondlife.com/viewer-development/src/tip/indra/llwindow/llkeyboard.cpp )\n";
+		"http://bitbucket.org/lindenlab/viewer-release/src/tip/indra/llwindow/llkeyboard.cpp )\n";
 	std::string mask =
 		"Specify optional [\"mask\"] as an array containing any of \"CTL\", \"ALT\",\n"
 		"\"SHIFT\" or \"MAC_CONTROL\"; the corresponding modifier bits will be combined\n"
@@ -70,7 +70,7 @@ LLWindowListener::LLWindowListener(LLViewerWindow *window, const KeyboardGetter&
 		"(button values \"LEFT\", \"MIDDLE\", \"RIGHT\")\n";
 	std::string paramsExplain =
 		"[\"path\"] is as for LLUI::resolvePath(), described in\n"
-		"http://hg.secondlife.com/viewer-development/src/tip/indra/llui/llui.h\n"
+		"http://bitbucket.org/lindenlab/viewer-release/src/tip/indra/llui/llui.h\n"
 		"If you omit [\"path\"], you must specify both [\"x\"] and [\"y\"].\n"
 		"If you specify [\"path\"] without both [\"x\"] and [\"y\"], will synthesize (x, y)\n"
 		"in the center of the LLView selected by [\"path\"].\n"