summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--autobuild.xml76
-rwxr-xr-xbuild.sh4
-rw-r--r--indra/cmake/Copy3rdPartyLibs.cmake5
-rw-r--r--indra/cmake/Havok.cmake128
-rw-r--r--indra/media_plugins/cef/CMakeLists.txt20
-rw-r--r--indra/media_plugins/cef/mac_volume_catcher_null.cpp95
-rw-r--r--indra/media_plugins/cef/media_plugin_cef.cpp17
-rwxr-xr-xindra/newview/viewer_manifest.py6
9 files changed, 228 insertions, 124 deletions
diff --git a/README.md b/README.md
index 6eddb9aa9e..b80277370a 100644
--- a/README.md
+++ b/README.md
@@ -14,4 +14,3 @@ To download the current default version, visit
[the download page](https://secondlife.com/support/downloads). For
even newer versions try
[the Alternate Viewers page](https://wiki.secondlife.com/wiki/Linden_Lab_Official:Alternate_Viewers)
-
diff --git a/autobuild.xml b/autobuild.xml
index 1ff5d8ade4..7f81064379 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -76,9 +76,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>ae733dd8f2c83055030ea6e08c623306</string>
+ <string>f65774ebabb256f2d217a872b0cf2b5b</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/745/1534/apr_suite-1.4.5.500735-darwin64-500735.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4812/15284/apr_suite-1.4.5.504800-darwin64-504800.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
@@ -100,9 +100,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>bc8855c8253b8293c7e61af7b1ed0f05</string>
+ <string>84a1a140f20b25d714949185e854d14b</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/744/1545/apr_suite-1.4.5.500735-linux64-500735.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4811/15302/apr_suite-1.4.5.504800-linux64-504800.tar.bz2</string>
</map>
<key>name</key>
<string>linux64</string>
@@ -112,9 +112,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>7d97a3788ea4f89eccb7789e4f015bb3</string>
+ <string>dc80eca3d113b038b469003da8cd6638</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/747/1540/apr_suite-1.4.5.500735-windows-500735.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4813/15290/apr_suite-1.4.5.504800-windows-504800.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
@@ -124,16 +124,16 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>8820c4df1079a9af53f52485f50ff179</string>
+ <string>63146d3d3d5fe7aa6be1a1b0afed36dd</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/746/1537/apr_suite-1.4.5.500735-windows64-500735.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4814/15296/apr_suite-1.4.5.504800-windows64-504800.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>version</key>
- <string>1.4.5.500735</string>
+ <string>1.4.5.504800</string>
</map>
<key>boost</key>
<map>
@@ -526,9 +526,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>9005fcda30e6659790e2fdfc27d4e2ee</string>
+ <string>da5c705fa4fae169cba26fba92dba1ef</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4384/12984/dullahan-1.1.764_3.2987.1591.gd3e47f5-darwin64-504373.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4835/15404/dullahan-1.1.800_3.3029.1611.g44e39a8-darwin64-504824.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
@@ -538,9 +538,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>9c2abd5b606a5f0580c4cbb4e9aedfaa</string>
+ <string>17cd8f6e8f95df877d0c9c234f860324</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4385/12990/dullahan-1.1.764_3.2987.1591.gd3e47f5-windows-504373.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4836/15410/dullahan-1.1.800_3.3029.1611.g44e39a8-windows-504824.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
@@ -550,16 +550,16 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>9e6714e4c3286a0b268577300043d998</string>
+ <string>7a478f8f0e13f5f81cab657a8c351186</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4386/12995/dullahan-1.1.764_3.2987.1591.gd3e47f5-windows64-504373.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4837/15415/dullahan-1.1.800_3.3029.1611.g44e39a8-windows64-504824.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>version</key>
- <string>1.1.764_3.2987.1591.gd3e47f5</string>
+ <string>1.1.800_3.3029.1611.g44e39a8</string>
</map>
<key>elfio</key>
<map>
@@ -1376,9 +1376,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>cbaa7619050123c3fd2a88959f88bd47</string>
+ <string>a0c4405c9e44d4a0135fe20ba8cfbace</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/749/1553/havok_source-2012.1-2-darwin64-500739.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/4693/14627/havok_source-2012.1-2-darwin64-504680.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
@@ -1412,9 +1412,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>dab55cc0555d7126fda925e20af851ea</string>
+ <string>035572a1929be66f6c56468e0ef7fe74</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/1194/2807/havok_source-2012.1-2-windows-501181.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/4695/14637/havok_source-2012.1-2-windows-504680.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
@@ -1424,9 +1424,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>7bbc1c3512a5665b7576b4b0357a9eb7</string>
+ <string>d8525d2fbb9e0f7bc31427b47350e468</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/1195/2816/havok_source-2012.1-2-windows64-501181.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/4694/14634/havok_source-2012.1-2-windows64-504680.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
@@ -2130,9 +2130,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>e2b519ee7538b25877e34ede6864a250</string>
+ <string>162a3fc9b66626072ec8679361b174f5</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/1691/3748/llphysicsextensions_source-1.0.501678-darwin64-501678.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/4722/14837/llphysicsextensions_source-1.0.504710-darwin64-504710.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
@@ -2142,9 +2142,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>9b2c1f53f7f1add01af1e7cfa737e20e</string>
+ <string>c1b43e99c5ddccc18b0e9cb288bf75e1</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/1689/3734/llphysicsextensions_source-1.0.501678-linux64-501678.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/4721/14828/llphysicsextensions_source-1.0.504710-linux64-504710.tar.bz2</string>
</map>
<key>name</key>
<string>linux64</string>
@@ -2154,16 +2154,16 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>5e8cb92ae79c9435b98e444322ec5798</string>
+ <string>dd85c9e0f5fa3ce483ea183db008c4bc</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/1696/3763/llphysicsextensions_source-1.0.501678-windows-501678.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/4726/14858/llphysicsextensions_source-1.0.504710-windows-504710.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
</map>
</map>
<key>version</key>
- <string>1.0.501678</string>
+ <string>1.0.504710</string>
</map>
<key>llphysicsextensions_stub</key>
<map>
@@ -2182,9 +2182,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>32309a20161f54f42d08f7bc1e7fcf01</string>
+ <string>566aa2c6f5b2f40a8b0bedf90d9c6beb</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1692/3749/llphysicsextensions_stub-1.0.501679-darwin64-501679.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4723/14838/llphysicsextensions_stub-1.0.504712-darwin64-504712.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
@@ -2194,9 +2194,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>58af530891721f3690a4dce9a8c73190</string>
+ <string>711f4ec769e4b5f59ba25ee43c11bcbc</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1690/3739/llphysicsextensions_stub-1.0.501679-linux64-501679.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4724/14846/llphysicsextensions_stub-1.0.504712-linux64-504712.tar.bz2</string>
</map>
<key>name</key>
<string>linux64</string>
@@ -2206,16 +2206,16 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>c59cb5d1dd96ab51f87cd0cf202304dd</string>
+ <string>d830aca10ea9396557b1e613c2736e49</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1695/3757/llphysicsextensions_stub-1.0.501679-windows-501679.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4725/14853/llphysicsextensions_stub-1.0.504712-windows-504712.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
</map>
</map>
<key>version</key>
- <string>1.0.501679</string>
+ <string>1.0.504712</string>
</map>
<key>mesa</key>
<map>
@@ -3340,7 +3340,6 @@
<array>
<string>-G</string>
<string>Xcode</string>
- <string>-DHAVOK:BOOL=OFF</string>
</array>
</map>
<key>default</key>
@@ -3368,7 +3367,6 @@
<array>
<string>-G</string>
<string>Xcode</string>
- <string>-DHAVOK:BOOL=OFF</string>
</array>
</map>
<key>name</key>
@@ -3402,7 +3400,6 @@
<array>
<string>-G</string>
<string>Xcode</string>
- <string>-DHAVOK:BOOL=OFF</string>
</array>
</map>
<key>name</key>
@@ -3428,7 +3425,6 @@
<array>
<string>-G</string>
<string>Xcode</string>
- <string>-DHAVOK:BOOL=OFF</string>
</array>
</map>
<key>name</key>
diff --git a/build.sh b/build.sh
index 9ca130b5d5..a8f4158bff 100755
--- a/build.sh
+++ b/build.sh
@@ -97,14 +97,14 @@ pre_build()
# nat 2016-12-20: disable HAVOK on Mac until we get a 64-bit Mac build.
RELEASE_CRASH_REPORTING=ON
+ HAVOK=ON
SIGNING=()
if [ "$arch" == "Darwin" ]
- then HAVOK=OFF
+ then
if [ "$variant" == "Release" ]
then SIGNING=("-DENABLE_SIGNING:BOOL=YES" \
"-DSIGNING_IDENTITY:STRING=Developer ID Application: Linden Research, Inc.")
fi
- else HAVOK=ON
fi
"$autobuild" configure --quiet -c $variant -- \
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index c7fb7a5301..43188673eb 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -67,8 +67,9 @@ if(WINDOWS)
endif (MSVC80)
# try to copy VS2010 redist independently of system version
- list(APPEND LMSVC_VER 100)
- list(APPEND LMSVC_VERDOT 10.0)
+ # maint-7360 CP
+ # list(APPEND LMSVC_VER 100)
+ # list(APPEND LMSVC_VERDOT 10.0)
list(LENGTH LMSVC_VER count)
math(EXPR count "${count}-1")
diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake
index 99e7334118..811a126b8f 100644
--- a/indra/cmake/Havok.cmake
+++ b/indra/cmake/Havok.cmake
@@ -8,6 +8,11 @@ use_prebuilt_binary(havok-source)
set(Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Source)
list(APPEND Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Demo)
+# HK_DISABLE_IMPLICIT_VVECTOR3_CONVERSION suppresses an intended conversion
+# function which Xcode scolds us will unconditionally enter infinite
+# recursion if called. This hides that function.
+add_definitions("-DHK_DISABLE_IMPLICIT_VVECTOR3_CONVERSION")
+
set(HAVOK_DEBUG_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-fulldebug)
set(HAVOK_RELEASE_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release/havok)
@@ -49,89 +54,74 @@ unset(HK_DEBUG_LIBRARIES)
unset(HK_RELEASE_LIBRARIES)
unset(HK_RELWITHDEBINFO_LIBRARIES)
+if (DEBUG_PREBUILT)
+ # DEBUG_MESSAGE() displays debugging message
+ function(DEBUG_MESSAGE)
+ # prints message args separated by semicolons rather than spaces,
+ # but making it pretty is a lot more work
+ message(STATUS "${ARGN}")
+ endfunction(DEBUG_MESSAGE)
+else (DEBUG_PREBUILT)
+ # without DEBUG_PREBUILT, DEBUG_MESSAGE() is a no-op
+ function(DEBUG_MESSAGE)
+ endfunction(DEBUG_MESSAGE)
+endif (DEBUG_PREBUILT)
+
+# DEBUG_EXEC() reports each execute_process() before invoking
+function(DEBUG_EXEC)
+ DEBUG_MESSAGE(${ARGN})
+ execute_process(COMMAND ${ARGN})
+endfunction(DEBUG_EXEC)
+
# *TODO: Figure out why we need to extract like this...
foreach(HAVOK_LIB ${HAVOK_LIBS})
- find_library(HAVOK_DEBUG_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_DEBUG_LIBRARY_PATH})
- find_library(HAVOK_RELEASE_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELEASE_LIBRARY_PATH})
- find_library(HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH})
-
- if(LINUX)
- set(debug_dir "${HAVOK_DEBUG_LIBRARY_PATH}/${HAVOK_LIB}")
- set(release_dir "${HAVOK_RELEASE_LIBRARY_PATH}/${HAVOK_LIB}")
- set(relwithdebinfo_dir "${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}/${HAVOK_LIB}")
+ find_library(HAVOK_DEBUG_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_DEBUG_LIBRARY_PATH})
+ find_library(HAVOK_RELEASE_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELEASE_LIBRARY_PATH})
+ find_library(HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH})
+
+ if(LINUX)
+ set(debug_dir "${HAVOK_DEBUG_LIBRARY_PATH}/${HAVOK_LIB}")
+ set(release_dir "${HAVOK_RELEASE_LIBRARY_PATH}/${HAVOK_LIB}")
+ set(relwithdebinfo_dir "${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}/${HAVOK_LIB}")
# Try to avoid extracting havok library each time we run cmake.
if("${havok_${HAVOK_LIB}_extracted}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted")
file(READ ${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted "havok_${HAVOK_LIB}_extracted")
- if(DEBUG_PREBUILT)
- message(STATUS "havok_${HAVOK_LIB}_extracted: \"${havok_${HAVOK_LIB}_extracted}\"")
- endif(DEBUG_PREBUILT)
+ DEBUG_MESSAGE("havok_${HAVOK_LIB}_extracted: \"${havok_${HAVOK_LIB}_extracted}\"")
endif("${havok_${HAVOK_LIB}_extracted}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted")
if(${PREBUILD_TRACKING_DIR}/havok_source_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted OR NOT ${havok_${HAVOK_LIB}_extracted} EQUAL 0)
- if(DEBUG_PREBUILT)
- MESSAGE(STATUS "Extracting ${HAVOK_LIB}...")
- endif(DEBUG_PREBUILT)
- set(cmd "mkdir")
-
- if(DEBUG_PREBUILT)
- MESSAGE(STATUS "${cmd} ${debug_dir}")
- endif(DEBUG_PREBUILT)
- exec_program( ${cmd} ${HAVOK_DEBUG_LIBRARY_PATH} ARGS ${debug_dir} OUTPUT_VARIABLE rv)
-
- if(DEBUG_PREBUILT)
- MESSAGE(STATUS "${cmd} ${release_dir}")
- endif(DEBUG_PREBUILT)
- exec_program( ${cmd} ${HAVOK_RELEASE_LIBRARY_PATH} ARGS ${release_dir} OUTPUT_VARIABLE rv)
-
- if(DEBUG_PREBUILT)
- MESSAGE(STATUS "${cmd} ${relwithdebinfo_dir}")
- endif(DEBUG_PREBUILT)
- exec_program( ${cmd} ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH} ARGS ${relwithdebinfo_dir} OUTPUT_VARIABLE rv)
-
- set(cmd "ar")
- set(arg " -xv")
- set(arg "${arg} ../lib${HAVOK_LIB}.a")
- if(DEBUG_PREBUILT)
- MESSAGE(STATUS "cd ${debug_dir} && ${cmd} ${arg}")
- endif(DEBUG_PREBUILT)
- exec_program( ${cmd} ${debug_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
-
- if(DEBUG_PREBUILT)
- MESSAGE(STATUS "cd ${release_dir} && ${cmd} ${arg}")
- endif(DEBUG_PREBUILT)
- exec_program( ${cmd} ${release_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
-
- if(DEBUG_PREBUILT)
- MESSAGE(STATUS "cd ${relwithdebinfo_dir} && ${cmd} ${arg}")
- endif(DEBUG_PREBUILT)
- exec_program( ${cmd} ${relwithdebinfo_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
+ DEBUG_MESSAGE("Extracting ${HAVOK_LIB}...")
+
+ foreach(lib ${debug_dir} ${release_dir} ${relwithdebinfo_dir})
+ DEBUG_EXEC("mkdir" ${lib})
+ DEBUG_EXEC("ar" "-xv" "../lib${HAVOK_LIB}.a"
+ WORKING_DIRECTORY ${lib})
+ endforeach(lib)
# Just assume success for now.
set(havok_${HAVOK_LIB}_extracted 0)
file(WRITE ${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted "${havok_${HAVOK_LIB}_extracted}")
- endif(${PREBUILD_TRACKING_DIR}/havok_source_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted OR NOT ${havok_${HAVOK_LIB}_extracted} EQUAL 0)
-
- file(GLOB extracted_debug "${debug_dir}/*.o")
- file(GLOB extracted_release "${release_dir}/*.o")
- file(GLOB extracted_relwithdebinfo "${relwithdebinfo_dir}/*.o")
-
- if(DEBUG_PREBUILT)
- MESSAGE(STATUS "extracted_debug ${debug_dir}/*.o")
- MESSAGE(STATUS "extracted_release ${release_dir}/*.o")
- MESSAGE(STATUS "extracted_relwithdebinfo ${relwithdebinfo_dir}/*.o")
- endif(DEBUG_PREBUILT)
-
- list(APPEND HK_DEBUG_LIBRARIES ${extracted_debug})
- list(APPEND HK_RELEASE_LIBRARIES ${extracted_release})
- list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${extracted_relwithdebinfo})
- else(LINUX)
- # Win32
- list(APPEND HK_DEBUG_LIBRARIES ${HAVOK_DEBUG_LIB_${HAVOK_LIB}})
- list(APPEND HK_RELEASE_LIBRARIES ${HAVOK_RELEASE_LIB_${HAVOK_LIB}})
- list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB}})
- endif (LINUX)
+ endif()
+
+ file(GLOB extracted_debug "${debug_dir}/*.o")
+ file(GLOB extracted_release "${release_dir}/*.o")
+ file(GLOB extracted_relwithdebinfo "${relwithdebinfo_dir}/*.o")
+
+ DEBUG_MESSAGE("extracted_debug ${debug_dir}/*.o")
+ DEBUG_MESSAGE("extracted_release ${release_dir}/*.o")
+ DEBUG_MESSAGE("extracted_relwithdebinfo ${relwithdebinfo_dir}/*.o")
+
+ list(APPEND HK_DEBUG_LIBRARIES ${extracted_debug})
+ list(APPEND HK_RELEASE_LIBRARIES ${extracted_release})
+ list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${extracted_relwithdebinfo})
+ else(LINUX)
+ # Win32
+ list(APPEND HK_DEBUG_LIBRARIES ${HAVOK_DEBUG_LIB_${HAVOK_LIB}})
+ list(APPEND HK_RELEASE_LIBRARIES ${HAVOK_RELEASE_LIB_${HAVOK_LIB}})
+ list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB}})
+ endif (LINUX)
endforeach(HAVOK_LIB)
endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt
index 201fb44847..5452fd9d1e 100644
--- a/indra/media_plugins/cef/CMakeLists.txt
+++ b/indra/media_plugins/cef/CMakeLists.txt
@@ -46,6 +46,10 @@ set(media_plugin_cef_SOURCE_FILES
media_plugin_cef.cpp
)
+set(media_plugin_cef_HEADER_FILES
+ volume_catcher.h
+ )
+
set (media_plugin_cef_LINK_LIBRARIES
${LLPLUGIN_LIBRARIES}
${MEDIA_PLUGIN_BASE_LIBRARIES}
@@ -53,7 +57,21 @@ set (media_plugin_cef_LINK_LIBRARIES
${LLCOMMON_LIBRARIES}
${PLUGIN_API_WINDOWS_LIBRARIES})
-
+# Select which VolumeCatcher implementation to use
+if (LINUX)
+ message(FATAL_ERROR "CEF plugin has been enabled for a Linux compile.\n"
+ " Please create a volume_catcher implementation for this platform.")
+elseif (DARWIN)
+ list(APPEND media_plugin_cef_SOURCE_FILES mac_volume_catcher_null.cpp)
+ find_library(CORESERVICES_LIBRARY CoreServices)
+ find_library(AUDIOUNIT_LIBRARY AudioUnit)
+ list(APPEND media_plugin_cef_LINK_LIBRARIES
+ ${CORESERVICES_LIBRARY} # for Component Manager calls
+ ${AUDIOUNIT_LIBRARY} # for AudioUnit calls
+ )
+elseif (WINDOWS)
+ list(APPEND media_plugin_cef_SOURCE_FILES windows_volume_catcher.cpp)
+endif (LINUX)
set_source_files_properties(${media_plugin_cef_HEADER_FILES}
PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/indra/media_plugins/cef/mac_volume_catcher_null.cpp b/indra/media_plugins/cef/mac_volume_catcher_null.cpp
new file mode 100644
index 0000000000..f4fcef71aa
--- /dev/null
+++ b/indra/media_plugins/cef/mac_volume_catcher_null.cpp
@@ -0,0 +1,95 @@
+/**
+ * @file windows_volume_catcher.cpp
+ * @brief A null implementation of volume level control of all audio channels opened by a process.
+ * We are using this for the macOS version for now until we can understand how to make the
+ * exitising mac_volume_catcher.cpp work without the (now, non-existant) QuickTime dependency
+ *
+ * @cond
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ * @endcond
+ */
+
+#include "volume_catcher.h"
+#include "llsingleton.h"
+class VolumeCatcherImpl : public LLSingleton<VolumeCatcherImpl>
+{
+ LLSINGLETON(VolumeCatcherImpl);
+ // This is a singleton class -- both callers and the component implementation should use getInstance() to find the instance.
+ ~VolumeCatcherImpl();
+
+public:
+
+ void setVolume(F32 volume);
+ void setPan(F32 pan);
+
+private:
+ F32 mVolume;
+ F32 mPan;
+ bool mSystemIsVistaOrHigher;
+};
+
+VolumeCatcherImpl::VolumeCatcherImpl()
+: mVolume(1.0f), // default volume is max
+ mPan(0.f) // default pan is centered
+{
+}
+
+VolumeCatcherImpl::~VolumeCatcherImpl()
+{
+}
+
+void VolumeCatcherImpl::setVolume(F32 volume)
+{
+ mVolume = volume;
+}
+
+void VolumeCatcherImpl::setPan(F32 pan)
+{ // remember pan for calculating individual channel levels later
+ mPan = pan;
+}
+
+/////////////////////////////////////////////////////
+
+VolumeCatcher::VolumeCatcher()
+{
+ pimpl = VolumeCatcherImpl::getInstance();
+}
+
+VolumeCatcher::~VolumeCatcher()
+{
+ // Let the instance persist until exit.
+}
+
+void VolumeCatcher::setVolume(F32 volume)
+{
+ pimpl->setVolume(volume);
+}
+
+void VolumeCatcher::setPan(F32 pan)
+{
+ pimpl->setPan(pan);
+}
+
+void VolumeCatcher::pump()
+{
+ // No periodic tasks are necessary for this implementation.
+}
diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp
index 69717be91f..796e262d6f 100644
--- a/indra/media_plugins/cef/media_plugin_cef.cpp
+++ b/indra/media_plugins/cef/media_plugin_cef.cpp
@@ -34,6 +34,7 @@
#include "llplugininstance.h"
#include "llpluginmessage.h"
#include "llpluginmessageclasses.h"
+#include "volume_catcher.h"
#include "media_plugin_base.h"
#include <functional>
@@ -77,7 +78,7 @@ private:
void unicodeInput(LLSD native_key_data);
void checkEditState();
- void setVolume(F32 vol);
+ void setVolume();
bool mEnableMediaPluginDebugging;
std::string mHostLanguage;
@@ -95,6 +96,8 @@ private:
std::string mCachePath;
std::string mCookiePath;
std::string mPickedFile;
+ VolumeCatcher mVolumeCatcher;
+ F32 mCurVolume;
dullahan* mCEFLib;
};
@@ -123,8 +126,11 @@ MediaPluginBase(host_send_func, host_user_data)
mCachePath = "";
mCookiePath = "";
mPickedFile = "";
+ mCurVolume = 0.0;
+
mCEFLib = new dullahan();
+ setVolume();
}
////////////////////////////////////////////////////////////////////////////////
@@ -452,6 +458,7 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
settings.flip_mouse_y = false;
settings.flip_pixels_y = true;
settings.frame_rate = 60;
+ settings.force_wave_audio = true;
settings.initial_height = 1024;
settings.initial_width = 1024;
settings.java_enabled = false;
@@ -713,8 +720,9 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
{
if (message_name == "set_volume")
{
- F32 volume = (F32)message_in.getValueReal("volume");
- setVolume(volume);
+ F32 volume = (F32)message_in.getValueReal("volume");
+ mCurVolume = volume;
+ setVolume();
}
}
else
@@ -793,8 +801,9 @@ void MediaPluginCEF::checkEditState()
}
}
-void MediaPluginCEF::setVolume(F32 vol)
+void MediaPluginCEF::setVolume()
{
+ mVolumeCatcher.setVolume(mCurVolume);
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index fba8a8b159..142951da25 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -391,13 +391,9 @@ class WindowsManifest(ViewerManifest):
if self.args['configuration'].lower() == 'debug':
self.path("msvcr120d.dll")
self.path("msvcp120d.dll")
- self.path("msvcr100d.dll")
- self.path("msvcp100d.dll")
else:
self.path("msvcr120.dll")
self.path("msvcp120.dll")
- self.path("msvcr100.dll")
- self.path("msvcp100.dll")
# Vivox runtimes
self.path("SLVoice.exe")
@@ -986,7 +982,7 @@ class DarwinManifest(ViewerManifest):
# make sure we don't have stale files laying about
self.remove(sparsename, finalname)
- self.run_command('hdiutil create %(sparse)r -volname %(vol)r -fs HFS+ -type SPARSE -megabytes 1000 -layout SPUD' % {
+ self.run_command('hdiutil create %(sparse)r -volname %(vol)r -fs HFS+ -type SPARSE -megabytes 1300 -layout SPUD' % {
'sparse':sparsename,
'vol':volname})