diff --git a/autobuild.xml b/autobuild.xml
index f178e298d..fa8a1c307 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -585,6 +585,40 @@
version
1
+ discord-rpc
+
dullahan
copyright
@@ -768,7 +802,7 @@
fmodstudio
copyright
- FMOD Studio, copyright © Firelight Technologies Pty, Ltd., 1994-2015.
+ FMOD Studio, copyright (c) Firelight Technologies Pty, Ltd., 2012-2017.
description
FMOD Studio audio system library
license
@@ -784,11 +818,11 @@
archive
hash
- a2badcf46277f7547bab0963fe262696
+ a3ccf7916d1e0b6f01370978b661c139
hash_algorithm
md5
url
- https://bitbucket.org/alchemyviewer/publiclibs-darwin/downloads/fmodstudio-1.08.01-darwin-201604080928.tar.bz2
+ https://depot.alchemyviewer.org/pub/darwin/lib/fmodstudio-1.10.02-darwin-201712262058.tar.bz2
name
darwin
@@ -812,11 +846,11 @@
archive
hash
- be09dc1f144c936790236b94190815b4
+ 54dbd41322a08a1fc333ca6d96af5502
hash_algorithm
md5
url
- https://depot.alchemyviewer.org/pub/linux64/lib/fmodstudio-1.08.04-linux64-201605301500.tar.bz2
+ https://depot.alchemyviewer.org/pub/linux64/lib/fmodstudio-1.10.00-linux64-201709282320.tar.bz2
name
linux64
@@ -840,18 +874,18 @@
archive
hash
- c2c45c2ebd9fd930098aa2a3b85bbe5f
+ 779ae33c6b84656295bd6cf50a69c830
hash_algorithm
md5
url
- https://depot.alchemyviewer.org/pub/windows64/lib/fmodstudio-1.10.02-windows64-201712251435.tar.bz2
+ http://depot.alchemyviewer.org/pub/packages/windows64/msvc/fmodstudio-1.10.10.190360453-windows64-190360453.tar.bz2
name
windows64
version
- 1.10.02
+ 1.10.10.190360453
fontconfig
@@ -1128,13 +1162,13 @@
glod
copyright
- Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University and David Luebke, Brenden Schubert, University of Virginia. All rights reserved.
+ Copyright 2003 Jonathan Cohen, Nat Duca, David Luebke, Brenden Schubert - Johns Hopkins University and University of Virginia
description
Geometric Level of Detail library
license
- GLOD Open-Source License 1.0
+ GLOD Open-Source License Version 1.0
license_file
- LICENSES/glod.txt
+ LICENSES/GLOD.txt
name
glod
platforms
@@ -1144,23 +1178,37 @@
archive
hash
- 6c6b3b06a4305c2da0aad1de132e6a07
+ 71e678d70e276fc42a56926fc28a7abd
hash_algorithm
md5
url
- https://bitbucket.org/alchemyviewer/publiclibs-darwin/downloads/glod-1.0pre4-darwin-201511222034.tar.bz2
+ http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/glod_3p-update-glod/rev/296895/arch/Darwin/installer/glod-1.0pre4.296895-darwin-296895.tar.bz2
name
darwin
+ darwin64
+
+ archive
+
+ hash
+ 017ef34ddf14293099a90c6eaa3615ca
+ url
+ http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1626/3627/glod-1.0pre3.501614-darwin64-501614.tar.bz2
+
+ name
+ darwin64
+
linux
archive
hash
- 176736c52b3cde6ca8e7d9e173d91731
+ 58113bcbbacbaeb2d278f745867ae6f0
+ hash_algorithm
+ md5
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-glod/rev/268002/arch/Linux/installer/glod-1.0pre4-linux-20121212.tar.bz2
+ http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/p64_3p-glod/rev/314201/arch/Linux/installer/glod-1.0pre4.314201-linux-314201.tar.bz2
name
linux
@@ -1170,11 +1218,9 @@
archive
hash
- f7172928ba2201d4b9aeb2c70d7a55b9
- hash_algorithm
- md5
+ 9aef5cd576ace19568da01d9bc3db29c
url
- http://depot.alchemyviewer.org/pub/linux64/lib-trusty/glod-1.0pre4-linux64-201603240031.tar.bz2
+ http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1625/3628/glod-1.0pre3.501614-linux64-501614.tar.bz2
name
linux64
@@ -1184,11 +1230,11 @@
archive
hash
- 37035aad7d066dfe6f26dc009aa9dcea
+ 573e68f46f825a1c040daa4994ee2a61
hash_algorithm
md5
url
- https://depot.alchemyviewer.org/pub/windows/lib-vc141/glod-1.0pre4-windows-201703090622.tar.bz2
+ http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1627/3633/glod-1.0pre3.501614-windows-501614.tar.bz2
name
windows
@@ -1198,18 +1244,18 @@
archive
hash
- c5c04c164ff057a43928de2f2b83470e
+ c122ba644e8ec146b4742428b799d749
hash_algorithm
md5
url
- https://depot.alchemyviewer.org/pub/windows64/lib-vc142/glod-1.0pre4-windows64-201712251340.tar.bz2
+ http://depot.alchemyviewer.org/pub/packages/windows64/msvc-1916/glod-1.0pre3.190390340-windows64-190390340.tar.bz2
name
windows64
version
- 1.0pre4
+ 1.0pre3.190390340
google_breakpad
@@ -1218,7 +1264,7 @@
description
Breakpad is a crossplatform library for capturing crash callstacks and runtime data.
license
- BSD
+ bsd
license_file
LICENSES/google_breakpad.txt
name
@@ -1239,6 +1285,18 @@
name
darwin
+ darwin64
+
+ archive
+
+ hash
+ 2d43c6a149cd9c89ba19e884579b1e25
+ url
+ http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1836/4096/google_breakpad-1413.501824-darwin64-501824.tar.bz2
+
+ name
+ darwin64
+
linux
archive
@@ -2821,7 +2879,7 @@
options
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
- -DWORD_SIZE:STRING=32
+ -DWORD_SIZE:STRING=$AUTOBUILD_ADDRSIZE
-DROOT_PROJECT_NAME:STRING=Singularity
-DINSTALL_PROPRIETARY=FALSE
@@ -2842,7 +2900,7 @@
options
-DCMAKE_BUILD_TYPE:STRING=Release
- -DWORD_SIZE:STRING=32
+ -DWORD_SIZE:STRING=$AUTOBUILD_ADDRSIZE
-DROOT_PROJECT_NAME:STRING=Singularity
-DINSTALL_PROPRIETARY=FALSE
@@ -3031,7 +3089,7 @@
windows
build_directory
- build-vc141
+ build-vc$AUTOBUILD_WIN_VSVER-$AUTOBUILD_ADDRSIZE
configurations
RelWithDebInfo
@@ -3063,9 +3121,11 @@
options
-G
- "Visual Studio 15"
- -DCMAKE_SYSTEM_VERSION="10.0.16299.0"
- -DINSTALL_PROPRIETARY=FALSE
+ ${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}
+ -A
+ ${AUTOBUILD_WIN_VSPLATFORM|NOTWIN}
+ -T
+ host=${AUTOBUILD_WIN_VSHOST|NOTWIN}
default
@@ -3086,7 +3146,7 @@
options
/p:Configuration=Release
- /p:Platform=Win32
+ /p:Platform=${AUTOBUILD_WIN_VSPLATFORM|NOTWIN}
/t:Build
/p:useenv=true
/verbosity:normal
@@ -3102,96 +3162,11 @@
options
-G
- "Visual Studio 15"
- -DCMAKE_SYSTEM_VERSION="10.0.16299.0"
- -DINSTALL_PROPRIETARY=FALSE
-
-
- name
- Release
-
-
- name
- windows
-
- windows64
-
- build_directory
- build-vc141-x86_64
- configurations
-
- RelWithDebInfo
-
- build
-
- arguments
-
- Singularity.sln
-
- command
- msbuild.exe
- options
-
- /p:Configuration=RelWithDebInfo
- /p:Platform=x64
- /t:Build
- /p:useenv=true
- /verbosity:normal
- /m
-
-
- configure
-
- arguments
-
- ..\indra
-
- options
-
- -G
- "Visual Studio 15 Win64"
- -DCMAKE_SYSTEM_VERSION="10.0.16299.0"
- -DWORD_SIZE:STRING=64
- -DINSTALL_PROPRIETARY=FALSE
-
-
- default
- True
- name
- RelWithDebInfo
-
- Release
-
- build
-
- arguments
-
- Singularity.sln
-
- command
- msbuild.exe
- options
-
- /p:Configuration=Release
- /p:Platform=x64
- /t:Build
- /p:useenv=true
- /verbosity:normal
- /m
-
-
- configure
-
- arguments
-
- ..\indra
-
- options
-
- -G
- "Visual Studio 15 Win64"
- -DCMAKE_SYSTEM_VERSION="10.0.16299.0"
- -DWORD_SIZE:STRING=64
+ ${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}
+ -A
+ ${AUTOBUILD_WIN_VSPLATFORM|NOTWIN}
+ -T
+ host=${AUTOBUILD_WIN_VSHOST|NOTWIN}
-DINSTALL_PROPRIETARY=FALSE
diff --git a/indra/cmake/BuildPackagesInfo.cmake b/indra/cmake/BuildPackagesInfo.cmake
index a764e9b42..6b2410ea5 100644
--- a/indra/cmake/BuildPackagesInfo.cmake
+++ b/indra/cmake/BuildPackagesInfo.cmake
@@ -3,9 +3,16 @@
include(Python)
include(Variables)
+# packages-formatter.py runs autobuild install --versions, which needs to know
+# the build_directory, which (on Windows) depends on AUTOBUILD_ADDRSIZE.
+# Within an autobuild build, AUTOBUILD_ADDRSIZE is already set. But when
+# building in an IDE, it probably isn't. Set it explicitly using
+# run_build_test.py.
add_custom_command(OUTPUT packages-info.txt
- COMMENT "Generating packages-info.txt for the about box"
+ COMMENT Generating packages-info.txt for the about box
MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/../autobuild.xml
DEPENDS ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py -p=${AUTOBUILD_PLATFORM_NAME} > packages-info.txt
+ ${CMAKE_SOURCE_DIR}/../autobuild.xml
+ COMMAND ${PYTHON_EXECUTABLE}
+ ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py "${VIEWER_CHANNEL}" "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}" > packages-info.txt
)
diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake
index cbaf571b5..f522e66cf 100644
--- a/indra/cmake/Variables.cmake
+++ b/indra/cmake/Variables.cmake
@@ -24,14 +24,6 @@ set(VIEWER_PREFIX)
set(INTEGRATION_TESTS_PREFIX)
option(LL_TESTS "Build and run unit and integration tests (disable for build timing runs to reduce variation" OFF)
-# Compiler and toolchain options
-option(USESYSTEMLIBS "Use libraries from your system rather than Linden-supplied prebuilt libraries." OFF)
-option(STANDALONE "Use libraries from your system rather than Linden-supplied prebuilt libraries." OFF)
-if (USESYSTEMLIBS)
- set(STANDALONE ON)
-elseif (STANDALONE)
- set(USESYSTEMLIBS ON)
-endif (USESYSTEMLIBS)
option(INCREMENTAL_LINK "Use incremental linking on win32 builds (enable for faster links on some machines)" OFF)
option(USE_PRECOMPILED_HEADERS "Enable use of precompiled header directives where supported." ON)
option(USE_LTO "Enable Whole Program Optimization and related folding and binary reduction routines" OFF)
@@ -48,7 +40,7 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Dar
set(DISABLE_TCMALLOC OFF CACHE BOOL "Disable linkage of TCMalloc. (64bit builds automatically disable TCMalloc)")
set(DISABLE_FATAL_WARNINGS TRUE CACHE BOOL "Set this to FALSE to enable fatal warnings.")
# Audio Engines
-option(FMODSTUDIO "Build with support for the FMOD Studio audio engine" OFF)
+option(FMODSTUDIO "Build with support for the FMOD Studio audio engine" ON)
# Window implementation
option(LLWINDOW_SDL2 "Use SDL2 for window and input handling" OFF)
@@ -88,61 +80,56 @@ if (NOT CMAKE_BUILD_TYPE)
"Build type. One of: Debug Release RelWithDebInfo" FORCE)
endif (NOT CMAKE_BUILD_TYPE)
+# If someone has specified an address size, use that to determine the
+# architecture. Otherwise, let the architecture specify the address size.
+set(ADDRESS_SIZE ${WORD_SIZE})
+if (ADDRESS_SIZE EQUAL 32)
+ #message(STATUS "ADDRESS_SIZE is 32")
+ set(ARCH i686)
+elseif (ADDRESS_SIZE EQUAL 64)
+ #message(STATUS "ADDRESS_SIZE is 64")
+ set(ARCH x86_64)
+else (ADDRESS_SIZE EQUAL 32)
+ #message(STATUS "ADDRESS_SIZE is UNRECOGNIZED: '${ADDRESS_SIZE}'")
+ # Use Python's platform.machine() since uname -m isn't available everywhere.
+ # Even if you can assume cygwin uname -m, the answer depends on whether
+ # you're running 32-bit cygwin or 64-bit cygwin! But even 32-bit Python will
+ # report a 64-bit processor.
+ execute_process(COMMAND
+ "${Python2_EXECUTABLE}" "-c"
+ "import platform; print platform.machine()"
+ OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
+ # We expect values of the form i386, i686, x86_64, AMD64.
+ # In CMake, expressing ARCH.endswith('64') is awkward:
+ string(LENGTH "${ARCH}" ARCH_LENGTH)
+ math(EXPR ARCH_LEN_2 "${ARCH_LENGTH} - 2")
+ string(SUBSTRING "${ARCH}" ${ARCH_LEN_2} 2 ARCH_LAST_2)
+ if (ARCH_LAST_2 STREQUAL 64)
+ #message(STATUS "ARCH is detected as 64; ARCH is ${ARCH}")
+ set(ADDRESS_SIZE 64)
+ else()
+ #message(STATUS "ARCH is detected as 32; ARCH is ${ARCH}")
+ set(ADDRESS_SIZE 32)
+ endif ()
+endif (ADDRESS_SIZE EQUAL 32)
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(WINDOWS ON BOOL FORCE)
- if (WORD_SIZE EQUAL 64)
- set(ARCH x86_64 CACHE STRING "Viewer Architecture")
- set(LL_ARCH ${ARCH}_win64)
- set(LL_ARCH_DIR ${ARCH}-win64)
- set(WORD_SIZE 64)
- set(AUTOBUILD_PLATFORM_NAME "windows64")
- else (WORD_SIZE EQUAL 64)
- set(ARCH i686 CACHE STRING "Viewer Architecture")
set(LL_ARCH ${ARCH}_win32)
set(LL_ARCH_DIR ${ARCH}-win32)
- set(WORD_SIZE 32)
- set(AUTOBUILD_PLATFORM_NAME "windows")
- endif (WORD_SIZE EQUAL 64)
endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(LINUX ON BOOL FORCE)
- # If someone has specified a word size, use that to determine the
- # architecture. Otherwise, let the architecture specify the word size.
- if (WORD_SIZE EQUAL 32)
- #message(STATUS "WORD_SIZE is 32")
- set(ARCH i686)
- set(AUTOBUILD_PLATFORM_NAME "linux")
- elseif (WORD_SIZE EQUAL 64)
- #message(STATUS "WORD_SIZE is 64")
- set(ARCH x86_64)
- set(AUTOBUILD_PLATFORM_NAME "linux64")
- else (WORD_SIZE EQUAL 32)
- #message(STATUS "WORD_SIZE is UNDEFINED")
- if (CMAKE_SIZEOF_VOID_P EQUAL 8)
- message(STATUS "Size of void pointer is detected as 8; ARCH is 64-bit")
- set(WORD_SIZE 64)
- set(AUTOBUILD_PLATFORM_NAME "linux64")
- elseif (CMAKE_SIZEOF_VOID_P EQUAL 4)
- message(STATUS "Size of void pointer is detected as 4; ARCH is 32-bit")
- set(WORD_SIZE 32)
- set(AUTOBUILD_PLATFORM_NAME "linux")
- else()
- message(FATAL_ERROR "Unknown Architecture!")
- endif (CMAKE_SIZEOF_VOID_P EQUAL 8)
- endif (WORD_SIZE EQUAL 32)
-
- if (NOT STANDALONE AND MULTIARCH_HACK)
- if (WORD_SIZE EQUAL 32)
+ if (ADDRESS_SIZE EQUAL 32)
set(DEB_ARCHITECTURE i386)
set(FIND_LIBRARY_USE_LIB64_PATHS OFF)
set(CMAKE_SYSTEM_LIBRARY_PATH /usr/lib32 ${CMAKE_SYSTEM_LIBRARY_PATH})
- else (WORD_SIZE EQUAL 32)
+ else (ADDRESS_SIZE EQUAL 32)
set(DEB_ARCHITECTURE amd64)
set(FIND_LIBRARY_USE_LIB64_PATHS ON)
- endif (WORD_SIZE EQUAL 32)
+ endif (ADDRESS_SIZE EQUAL 32)
execute_process(COMMAND dpkg-architecture -a${DEB_ARCHITECTURE} -qDEB_HOST_MULTIARCH
RESULT_VARIABLE DPKG_RESULT
@@ -155,7 +142,6 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
endif (DPKG_RESULT EQUAL 0)
include(ConfigurePkgConfig)
- endif (NOT STANDALONE AND MULTIARCH_HACK)
set(LL_ARCH ${ARCH}_linux)
set(LL_ARCH_DIR ${ARCH}-linux)
@@ -164,49 +150,42 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(DARWIN 1)
- if (XCODE_VERSION LESS 8.0.0)
- message( FATAL_ERROR "Xcode 8.0.0 or greater is required." )
- endif (XCODE_VERSION LESS 8.0.0)
- message( "Building with " ${CMAKE_OSX_SYSROOT} )
- set(CMAKE_OSX_DEPLOYMENT_TARGET 10.12)
+ # Architecture
+ set(CMAKE_OSX_SYSROOT macosx10.14)
+ set(CMAKE_OSX_ARCHITECTURES "x86_64")
+ set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS "x86_64")
+ # Build Options
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
- set(CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL 3)
- set(CMAKE_XCODE_ATTRIBUTE_GCC_STRICT_ALIASING NO)
- set(CMAKE_XCODE_ATTRIBUTE_GCC_FAST_MATH NO)
- set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
- set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++14")
- if (USE_AVX2)
- set(CMAKE_XCODE_ATTRIBUTE_CLANG_X86_VECTOR_INSTRUCTIONS avx2)
- elseif (USE_AVX)
- set(CMAKE_XCODE_ATTRIBUTE_CLANG_X86_VECTOR_INSTRUCTIONS avx)
- else ()
+ set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=Debug] "dwarf")
+ set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=Release] "dwarf-with-dsym")
+
+ # Deployment
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+
+ # Linking
+ set(CMAKE_XCODE_ATTRIBUTE_DEAD_CODE_STRIPPING YES)
+
+ # Apple Clang - Code Gen
+ set(CMAKE_XCODE_ATTRIBUTE_GCC_GENERATE_DEBUGGING_SYMBOLS[variant=Release] YES)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_X86_VECTOR_INSTRUCTIONS sse4.1)
- endif ()
+ set(CMAKE_XCODE_ATTRIBUTE_GCC_STRICT_ALIASING NO)
+ set(CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL[variant=Debug] 0)
+ set(CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL[variant=Release] 3)
+ set(CMAKE_XCODE_ATTRIBUTE_GCC_FAST_MATH NO)
- if (${CMAKE_BUILD_TYPE} STREQUAL "Release")
- set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf-with-dsym)
- else (${CMAKE_BUILD_TYPE} STREQUAL "Release")
- set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf)
- endif (${CMAKE_BUILD_TYPE} STREQUAL "Release")
+ # Apple Clang - Custom Compiler Flags
+ set(CMAKE_XCODE_ATTRIBUTE_WARNING_CFLAGS "-Wall -Wextra -Wno-reorder -Wno-sign-compare -Wno-ignored-qualifiers -Wno-unused-local-typedef -Wno-unused-parameter")
- set(ADDRESS_SIZE 64)
- if (NOT CMAKE_OSX_ARCHITECTURES)
- if (ADDRESS_SIZE EQUAL 64)
- set(CMAKE_OSX_ARCHITECTURES x86_64)
- else (ADDRESS_SIZE EQUAL 64)
- set(CMAKE_OSX_ARCHITECTURES i386)
- endif (ADDRESS_SIZE EQUAL 64)
- endif (NOT CMAKE_OSX_ARCHITECTURES)
+ # Apple Clang - Language - C++
+ set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD c++14)
+ set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
+
+ # Apple Clang - Warning Policies
+ set(CMAKE_XCODE_ATTRIBUTE_GCC_TREAT_WARNINGS_AS_ERRORS YES)
- if (ADDRESS_SIZE EQUAL 64)
- set(ARCH x86_64)
- else (ADDRESS_SIZE EQUAL 64)
- set(ARCH i386)
- endif (ADDRESS_SIZE EQUAL 64)
set(LL_ARCH ${ARCH}_darwin)
set(LL_ARCH_DIR universal-darwin)
- set(AUTOBUILD_PLATFORM_NAME "darwin" CACHE STRING "Autobuild Platform Name")
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# Default deploy grid
@@ -245,13 +224,21 @@ set(VIEWER_CHANNEL_NOSPACE ${VIEWER_CHANNEL_ONEWORD} CACHE STRING "Prefix used f
set(VIEWER_BRANDING_ID "singularity" CACHE STRING "Viewer branding id")
-set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside")
-
option(ENABLE_SIGNING "Enable signing the viewer" OFF)
set(SIGNING_IDENTITY "" CACHE STRING "Specifies the signing identity to use, if necessary.")
+set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside")
+# Compiler and toolchain options
+option(USESYSTEMLIBS "Use libraries from your system rather than Linden-supplied prebuilt libraries." OFF)
+option(STANDALONE "Use libraries from your system rather than Linden-supplied prebuilt libraries." OFF)
+if (USESYSTEMLIBS)
+ set(STANDALONE ON)
+elseif (STANDALONE)
+ set(USESYSTEMLIBS ON)
+endif (USESYSTEMLIBS)
+
+
+
source_group("CMake Rules" FILES CMakeLists.txt)
-mark_as_advanced(AUTOBUILD_PLATFORM_NAME)
-
endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 5e47b1a45..0b66e7691 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -258,6 +258,8 @@ class WindowsManifest(ViewerManifest):
# This is used to test a dll manifest.
# It is used as a temporary override during the construct method
from test_win32_manifest import test_assembly_binding
+ # TODO: This is redundant with LLManifest.copy_action(). Why aren't we
+ # calling copy_action() in conjunction with test_assembly_binding()?
if src and (os.path.exists(src) or os.path.islink(src)):
# ensure that destination path exists
self.cmakedirs(os.path.dirname(dst))
@@ -278,6 +280,8 @@ class WindowsManifest(ViewerManifest):
# It is used as a temporary override during the construct method
from test_win32_manifest import test_assembly_binding
from test_win32_manifest import NoManifestException, NoMatchingAssemblyException
+ # TODO: This is redundant with LLManifest.copy_action(). Why aren't we
+ # calling copy_action() in conjunction with test_assembly_binding()?
if src and (os.path.exists(src) or os.path.islink(src)):
# ensure that destination path exists
self.cmakedirs(os.path.dirname(dst))
@@ -289,9 +293,9 @@ class WindowsManifest(ViewerManifest):
else:
test_assembly_binding(src, "Microsoft.VC80.CRT", "")
raise Exception("Unknown condition")
- except NoManifestException, err:
+ except NoManifestException as err:
pass
- except NoMatchingAssemblyException, err:
+ except NoMatchingAssemblyException as err:
pass
self.ccopy(src,dst)
@@ -327,17 +331,26 @@ class WindowsManifest(ViewerManifest):
self.path('libaprutil-1.dll')
self.path('libapriconv-1.dll')
- except RuntimeError, err:
+ except RuntimeError as err:
print err.message
print "Skipping llcommon.dll (assuming llcommon was linked statically)"
# Mesh 3rd party libs needed for auto LOD and collada reading
try:
self.path("glod.dll")
- except RuntimeError, err:
+ except RuntimeError as err:
print err.message
print "Skipping GLOD library (assumming linked statically)"
+ # Get fmodstudio dll, continue if missing
+ try:
+ if(self.is_win64()):
+ self.path("fmod64.dll")
+ else:
+ self.path("fmod.dll")
+ except:
+ print "Skipping fmodstudio audio library(assuming other audio engine)"
+
# Vivox runtimes
self.path("SLVoice.exe")
self.path("vivoxsdk.dll")
@@ -345,6 +358,23 @@ class WindowsManifest(ViewerManifest):
self.path("libsndfile-1.dll")
self.path("vivoxoal.dll")
self.path("ca-bundle.crt")
+
+ # Security
+ if(self.is_win64()):
+ self.path("libcrypto-1_1-x64.dll")
+ self.path("libssl-1_1-x64.dll")
+ if not self.is_packaging_viewer():
+ self.path("libcrypto-1_1-x64.pdb")
+ self.path("libssl-1_1-x64.pdb")
+ else:
+ self.path("libcrypto-1_1.dll")
+ self.path("libssl-1_1.dll")
+ if not self.is_packaging_viewer():
+ self.path("libcrypto-1_1.pdb")
+ self.path("libssl-1_1.pdb")
+
+ # HTTP/2
+ self.path("nghttp2.dll")
# Hunspell
self.path("libhunspell.dll")
diff --git a/scripts/packages-formatter.py b/scripts/packages-formatter.py
index 1c7c000bd..ac65f545b 100644
--- a/scripts/packages-formatter.py
+++ b/scripts/packages-formatter.py
@@ -31,13 +31,10 @@ import re
import subprocess
import argparse
-parser = argparse.ArgumentParser()
-parser.add_argument(
- '-p', '--platform',
- default=None,
- dest='platform',
- help='Override the automatically determined platform.')
-parsedargs = parser.parse_args()
+parser = argparse.ArgumentParser(description='Format dependency version and copyright information for the viewer About box content')
+parser.add_argument('channel', help='viewer channel name')
+parser.add_argument('version', help='viewer version number')
+args = parser.parse_args()
_autobuild=os.getenv('AUTOBUILD', 'autobuild')
@@ -49,10 +46,7 @@ def autobuild(*args):
Return its stdout pipe from which the caller can read.
"""
# subprocess wants a list, not a tuple
- temp = list(args)
- if parsedargs.platform is not None :
- temp.append("-p=" + str(parsedargs.platform))
- command = [_autobuild] + temp
+ command = [_autobuild] + list(args)
try:
child = subprocess.Popen(command,
stdin=None, stdout=subprocess.PIPE,
@@ -62,14 +56,15 @@ def autobuild(*args):
# Don't attempt to interpret anything but ENOENT
raise
# Here it's ENOENT: subprocess can't find the autobuild executable.
- print >>sys.stderr, "packages-formatter on %s: can't run autobuild:\n%s\n%s" % \
- (sys.platform, ' '.join(command), err)
- sys.exit(1)
+ sys.exit("packages-formatter on %s: can't run autobuild:\n%s\n%s" % \
+ (sys.platform, ' '.join(command), err))
# no exceptions yet, let caller read stdout
return child.stdout
version={}
+
+
versions=autobuild('install', '--versions')
for line in versions:
pkg_info = pkg_line.match(line)