diff --git a/.hgpatchinfo/Viewer-Build.dep b/.hgpatchinfo/Viewer-Build.dep new file mode 100644 index 0000000000..d9e1631888 --- /dev/null +++ b/.hgpatchinfo/Viewer-Build.dep @@ -0,0 +1 @@ +4dede9ae1ec74d41f6887719f6f1de7340d8578d \ No newline at end of file diff --git a/.hgpatchinfo/Viewer-Build.desc b/.hgpatchinfo/Viewer-Build.desc new file mode 100644 index 0000000000..f784e6d741 --- /dev/null +++ b/.hgpatchinfo/Viewer-Build.desc @@ -0,0 +1,7 @@ +[Viewer/Build] +- changed : compiler options for "Release with Debug" builds +- changed : compiler and linker options for "Release" builds +- added : imported SNOW-788 - Fix boost lib detection with Visual Studio to allow multiple VS versions +- changed : removed LL's changeset tags and added new (consistent) SL-2.X.Y tags for releases +- changed : break into the debugger rather than forcing the process into an unrecoverable state for "llerrs" on non-release builds + -> Windows only diff --git a/.hgtags b/.hgtags index 8fa56c75b7..b4be156e51 100644 --- a/.hgtags +++ b/.hgtags @@ -3,22 +3,31 @@ bb38ff1a763738609e1b3cada6d15fa61e5e84b9 2.1.1-release 08398e650c222336bb2b6de0cd3bba944aef11b4 2-1rn1 0962101bfa7df0643a6e625786025fe7f8a6dc97 2-1-beta-2 12769e547e30067d494a6c01479a18107366ce2f beta-5 +1415e6538d54fd5d568ee88343424d57c6803c2c SL-2.2.0 17fc2908e9a1ef34a9f53a41a393caf5c3cac390 beta-3-5 19547b909b404552593be5ec7c18241e062a6d65 2-1-1-beta-1 1e2b517adc2ecb342cd3c865f2a6ccf82a3cf8d7 2-1-beta-3 +1ed382c6a08ba3850b6ce9061bc551ddece0ea07 SL-2.4.0 3469d90a115b900f8f250e137bbd9b684130f5d2 beta-4 3e4b947f79d88c385e8218cbc0731cef0e42cfc4 2-1-beta-1 46002088d9a4489e323b8d56131c680eaa21258c viewer-2-1-0-start +4f777ffb99fefdc6497c61385c22688ff149c659 SL-2.0.0 4f777ffb99fefdc6497c61385c22688ff149c659 viewer-2-0-0 52d96ad3d39be29147c5b2181b3bb46af6164f0e alpha-3 +63a6aedfce785a6c760377bf685b2dae616797d2 SL-2.5.1 668851b2ef0f8cf8df07a0fba429e4a6c1e70abb viewer-2-0-1 +668851b2ef0f8cf8df07a0fba429e4a6c1e70abb SL-2.0.1 +6ad3d6fa35a4e320e9ce442fce2bf9c7fc852556 SL-2.3.0 6e3b2e13906ba8ff22d3c8490b02d518adb2c907 2-1-1-beta-2 7f16e79826d377f5f9f5b33dc721ab56d0d7dc8f alpha-4 7f16e79826d377f5f9f5b33dc721ab56d0d7dc8f fork to viewer-20qa 80bc6cff515118a36108967af49d3f8105c95bc9 viewer-2-0-2-start b03065d018b8a2e28b7de85b293a4c992cb4c12d 2-1-release +b03065d018b8a2e28b7de85b293a4c992cb4c12d SL-2.1.0 +b723921b5c711bd24dbe77dc76ef488b544dac78 SL-2.5.0 b8419565906e4feb434426d8d9b17dd1458e24b2 alpha-6 bb38ff1a763738609e1b3cada6d15fa61e5e84b9 2-1-1-release +bb38ff1a763738609e1b3cada6d15fa61e5e84b9 SL-2.1.1 c6969fe44e58c542bfc6f1bd6c0be2fa860929ac 2-1-beta-4 d2382d374139850efa5bb6adfb229e3e656cfc40 howard-demo d40ac9dd949cba6dab1cc386da6a2027690c2519 alpha-5 @@ -71,3 +80,68 @@ b723921b5c711bd24dbe77dc76ef488b544dac78 2.5.0-release b723921b5c711bd24dbe77dc76ef488b544dac78 DRTVWR-31_2.5.0-release 92e58e51776a4f8c29069b1a62ff21454d2085f0 2.6.0-start 63a6aedfce785a6c760377bf685b2dae616797d2 2.5.1-start +0000000000000000000000000000000000000000 2.1.1-release +0000000000000000000000000000000000000000 v2start +0000000000000000000000000000000000000000 2-1rn1 +0000000000000000000000000000000000000000 2-1-beta-2 +0000000000000000000000000000000000000000 beta-5 +0000000000000000000000000000000000000000 beta-3-5 +0000000000000000000000000000000000000000 2-1-1-beta-1 +0000000000000000000000000000000000000000 2-1-beta-3 +0000000000000000000000000000000000000000 beta-4 +0000000000000000000000000000000000000000 2-1-beta-1 +0000000000000000000000000000000000000000 viewer-2-1-0-start +0000000000000000000000000000000000000000 viewer-2-0-0 +0000000000000000000000000000000000000000 alpha-3 +0000000000000000000000000000000000000000 viewer-2-0-1 +0000000000000000000000000000000000000000 2-1-1-beta-2 +0000000000000000000000000000000000000000 alpha-4 +0000000000000000000000000000000000000000 fork to viewer-20qa +0000000000000000000000000000000000000000 viewer-2-0-2-start +0000000000000000000000000000000000000000 2-1-release +0000000000000000000000000000000000000000 alpha-6 +0000000000000000000000000000000000000000 2-1-1-release +0000000000000000000000000000000000000000 2-1-beta-4 +0000000000000000000000000000000000000000 howard-demo +0000000000000000000000000000000000000000 alpha-5 +0000000000000000000000000000000000000000 fork to viewer-2-0 +0000000000000000000000000000000000000000 last_sprint +0000000000000000000000000000000000000000 beta_2.1.3 +0000000000000000000000000000000000000000 2.2.0-beta1 +0000000000000000000000000000000000000000 2.2.0-beta2 +0000000000000000000000000000000000000000 2.2.0-beta3 +0000000000000000000000000000000000000000 2.2.0-beta4 +0000000000000000000000000000000000000000 2.3.0-beta1 +0000000000000000000000000000000000000000 2.2.0-release +0000000000000000000000000000000000000000 2.3.0-start +0000000000000000000000000000000000000000 2.3.0-beta1 +0000000000000000000000000000000000000000 2.3.0-beta2 +0000000000000000000000000000000000000000 2.3.0-beta3 +0000000000000000000000000000000000000000 2.3.0-release +0000000000000000000000000000000000000000 2.4.0-start +0000000000000000000000000000000000000000 2.4.0-beta1 +0000000000000000000000000000000000000000 2.4.0-beta1 +0000000000000000000000000000000000000000 2.4.0-beta2 +0000000000000000000000000000000000000000 2.4.0-release +0000000000000000000000000000000000000000 2.5.0-start +0000000000000000000000000000000000000000 2.5.0-beta1 +0000000000000000000000000000000000000000 2.5.0-beta2 +0000000000000000000000000000000000000000 DRTVWR-5_2.2.0-beta1 +0000000000000000000000000000000000000000 DRTVWR-3_2.2.0-beta2 +0000000000000000000000000000000000000000 DRTVWR-7_2.2.0-beta3 +0000000000000000000000000000000000000000 DRTVWR-8_2.2.0-release +0000000000000000000000000000000000000000 DRTVWR-14_2.3.0-beta1 +0000000000000000000000000000000000000000 DRTVWR-17_2.3.0-beta2 +0000000000000000000000000000000000000000 DRTVWR-20_2.3.0-beta3 +0000000000000000000000000000000000000000 DRTVWR-13_2.3.0-release +0000000000000000000000000000000000000000 DRTVWR-26_2.4.0-beta1 +0000000000000000000000000000000000000000 DRTVWR-27_2.4.0-beta2 +0000000000000000000000000000000000000000 DRTVWR-25_2.4.0-release +0000000000000000000000000000000000000000 DRTVWR-32_2.5.0-beta1 +0000000000000000000000000000000000000000 DRTVWR-33_2.5.0-beta2 +0000000000000000000000000000000000000000 2.5.0-beta3 +0000000000000000000000000000000000000000 DRTVWR-34_2.5.0-beta3 +0000000000000000000000000000000000000000 2.5.0-release +0000000000000000000000000000000000000000 DRTVWR-31_2.5.0-release +0000000000000000000000000000000000000000 2.6.0-start +0000000000000000000000000000000000000000 2.5.1-start diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index dbe0cf5cd0..5d0027c6d0 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -39,10 +39,10 @@ if (WINDOWS) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /MDd /MP" CACHE STRING "C++ compiler debug options" FORCE) set(CMAKE_CXX_FLAGS_RELWITHDEBINFO - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP /Ob2" + "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /Ob2 /Gm" CACHE STRING "C++ compiler release-with-debug options" FORCE) set(CMAKE_CXX_FLAGS_RELEASE - "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP /Ob2" + "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /Ob2 /Oi /Ot /GF /Gy /arch:SSE2" CACHE STRING "C++ compiler release options" FORCE) set(CMAKE_CXX_STANDARD_LIBRARIES "") @@ -79,6 +79,20 @@ if (WINDOWS) # configure win32 API for windows XP+ compatibility set(WINVER "0x0501" CACHE STRING "Win32 API Target version (see http://msdn.microsoft.com/en-us/library/aa383745%28v=VS.85%29.aspx)") add_definitions("/DWINVER=${WINVER}" "/D_WIN32_WINNT=${WINVER}") + + # Various libs are compiler specific, generate some variables here we can just use + # when we require them instead of reimplementing the test each time. + if (MSVC71) + set(MSVC_DIR 7.1) + set(MSVC_SUFFIX 71) + elseif (MSVC80) + set(MSVC_DIR 8.0) + set(MSVC_SUFFIX 80) + elseif (MSVC90) + set(MSVC_DIR 9.0) + set(MSVC_SUFFIX 90) + endif (MSVC71) + endif (WINDOWS) diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 7ce57a5572..dcbc801663 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -16,27 +16,30 @@ else (STANDALONE) if (WINDOWS) set(BOOST_VERSION 1_39) - if (MSVC71) - set(BOOST_PROGRAM_OPTIONS_LIBRARY - optimized libboost_program_options-vc71-mt-s-${BOOST_VERSION} - debug libboost_program_options-vc71-mt-sgd-${BOOST_VERSION}) - set(BOOST_REGEX_LIBRARY - optimized libboost_regex-vc71-mt-s-${BOOST_VERSION} - debug libboost_regex-vc71-mt-sgd-${BOOST_VERSION}) - set(BOOST_SIGNALS_LIBRARY - optimized libboost_signals-vc71-mt-s-${BOOST_VERSION} - debug libboost_signals-vc71-mt-sgd-${BOOST_VERSION}) - else (MSVC71) - set(BOOST_PROGRAM_OPTIONS_LIBRARY - optimized libboost_program_options-vc80-mt-${BOOST_VERSION} - debug libboost_program_options-vc80-mt-gd-${BOOST_VERSION}) - set(BOOST_REGEX_LIBRARY - optimized libboost_regex-vc80-mt-${BOOST_VERSION} - debug libboost_regex-vc80-mt-gd-${BOOST_VERSION}) - set(BOOST_SIGNALS_LIBRARY - optimized libboost_signals-vc80-mt-${BOOST_VERSION} - debug libboost_signals-vc80-mt-gd-${BOOST_VERSION}) - endif (MSVC71) + + # SNOW-788 + # 00-Common.cmake alreay sets MSVC_SUFFIX to be correct for the VS we are using eg VC71, VC80, VC90 etc + # The precompiled boost libs for VC71 use a different suffix to VS80 and VS90 + # This code should ensure the cmake rules are valid for any VS being used in future as long as the approprate + # boost libs are avaiable - RC. + + if (MSVC71) + set(BOOST_OPTIM_SUFFIX mt-s) + set(BOOST_DEBUG_SUFFIX mt-sgd) + else (MSVC71) + set(BOOST_OPTIM_SUFFIX mt) + set(BOOST_DEBUG_SUFFIX mt-gd) + endif (MSVC71) + + set(BOOST_PROGRAM_OPTIONS_LIBRARY + optimized libboost_program_options-vc${MSVC_SUFFIX}-${BOOST_OPTIM_SUFFIX}-${BOOST_VERSION} + debug libboost_program_options-vc${MSVC_SUFFIX}-${BOOST_DEBUG_SUFFIX}-${BOOST_VERSION}) + set(BOOST_REGEX_LIBRARY + optimized libboost_regex-vc${MSVC_SUFFIX}-${BOOST_OPTIM_SUFFIX}-${BOOST_VERSION} + debug libboost_regex-vc${MSVC_SUFFIX}-${BOOST_DEBUG_SUFFIX}-${BOOST_VERSION}) + set(BOOST_SIGNALS_LIBRARY + optimized libboost_signals-vc${MSVC_SUFFIX}-${BOOST_OPTIM_SUFFIX}-${BOOST_VERSION} + debug libboost_signals-vc${MSVC_SUFFIX}-${BOOST_DEBUG_SUFFIX}-${BOOST_VERSION}) elseif (DARWIN) set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-xgcc40-mt) set(BOOST_REGEX_LIBRARY boost_regex-xgcc40-mt) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index af6beacdfa..83a636420e 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1436,7 +1436,7 @@ if (WINDOWS) if(MSVC71) set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map /MAPINFO:LINES") else(MSVC71) - set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map") + set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map /OPT:REF") endif(MSVC71) set_target_properties(${VIEWER_BINARY_NAME} diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index a23f809b71..c0410f69b3 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1846,7 +1846,14 @@ void errorCallback(const std::string &error_string) //Set the ErrorActivated global so we know to create a marker file gLLErrorActivated = true; +// LLError::crashAndLoop(error_string); +// [SL:KB] - Patch: Viewer-Build | Checked: 2010-12-04 (Catznip-2.5.0a) | Added: Catznip-2.4.0g +#if !LL_RELEASE_FOR_DOWNLOAD && LL_WINDOWS + DebugBreak(); +#else LLError::crashAndLoop(error_string); +#endif // LL_RELEASE_WITH_DEBUG_INFO && LL_WINDOWS +// [/SL:KB] } bool LLAppViewer::initLogging()