summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BuildParams188
-rwxr-xr-xbuild.sh26
-rw-r--r--doc/contributions.txt13
-rw-r--r--indra/cmake/Copy3rdPartyLibs.cmake12
-rw-r--r--indra/cmake/FindTut.cmake31
-rw-r--r--indra/cmake/LLAddBuildTest.cmake4
-rw-r--r--indra/cmake/Tut.cmake10
-rw-r--r--indra/cmake/WebKitLibPlugin.cmake63
-rwxr-xr-xindra/develop.py51
-rw-r--r--indra/lib/python/indra/ipc/llmessage.py6
-rw-r--r--indra/llcharacter/CMakeLists.txt17
-rw-r--r--indra/llcommon/llversionviewer.h2
-rw-r--r--indra/llinventory/CMakeLists.txt24
-rw-r--r--indra/llplugin/CMakeLists.txt29
-rw-r--r--indra/llprimitive/CMakeLists.txt14
-rw-r--r--indra/llui/CMakeLists.txt16
-rw-r--r--indra/llui/llflatlistview.cpp3
-rw-r--r--indra/llui/llflatlistview.h2
-rw-r--r--indra/llvfs/CMakeLists.txt26
-rw-r--r--indra/llxml/CMakeLists.txt33
-rw-r--r--indra/newview/CMakeLists.txt4
-rw-r--r--indra/newview/llcommandlineparser.cpp9
-rw-r--r--indra/newview/llinventoryitemslist.h1
-rw-r--r--indra/newview/llvoicevivox.cpp7
-rw-r--r--indra/newview/llwearableitemslist.h1
-rw-r--r--indra/newview/viewer_manifest.py66
26 files changed, 365 insertions, 293 deletions
diff --git a/BuildParams b/BuildParams
index de6d4064c6..9b5a9cfb3f 100644
--- a/BuildParams
+++ b/BuildParams
@@ -18,147 +18,67 @@ S3ACL = public-read
# Update Public Inworld Build Status Indicators
email_status_this_is_os = true
-#### P r o d u c t i o n B u i l d s ####
-
# ========================================
-# Viewer Hotfix Old
+# Viewer Development
# ========================================
# Report changes since...
-viewer-hotfix-old.show_changes_since = 2-1-release
+viewer-development.show_changes_since = 2-1-release
# Build Settings
-viewer-hotfix-old.build_viewer = true
-viewer-hotfix-old.build_server = false
-viewer-hotfix-old.build_server_tests = false
-viewer-hotfix-old.build_Linux = true
-viewer-hotfix-old.build_hg_bundle = true
-viewer-hotfix-old.build_docs = true
-#viewer-hotfix-old.build_Linux_Debug = false
-#viewer-hotfix-old.build_Linux_RelWithDebInfo = false
-#
-# Default channels etc - set build_viewer_update_version_manager to true when needed.
-viewer-hotfix-old.viewer_channel = "Second Life Release"
-viewer-hotfix-old.login_channel = "Second Life Release"
-viewer-hotfix-old.viewer_grid = agni
-viewer-hotfix-old.build_viewer_update_version_manager = false
+viewer-development_coverity.coverity_product = viewer
-# ========================================
-# Viewer Hotfix Previous
-# ========================================
+viewer-development.build_Linux = true
+viewer-development_debug.build_Linux = false
+viewer-development_coverity.build_Linux = false
+
+viewer-development.build_Darwin = true
+viewer-development_debug.build_Darwin = false
+viewer-development_coverity.build_Darwin = false
+
+viewer-development.build_CYGWIN = true
+viewer-development.build_CYGWIN_Debug = false
+viewer-development.build_CYGWIN_RelWithDebInfo = false
+viewer-development.build_CYGWIN_Release = true
+viewer-development_debug.build_CYGWIN_Debug = true
+viewer-development_debug.build_CYGWIN_RelWithDebInfo = true
+viewer-development_debug.build_CYGWIN_Release = false
+viewer-development_coverity.build_coverity = true
+viewer-development_coverity.build_CYGWIN_Debug = false
+viewer-development_coverity.build_CYGWIN_RelWithDebInfo = false
+viewer-development_coverity.build_CYGWIN_Release = true
-# Report changes since...
-viewer-hotfix-previous.show_changes_since = 2-1-release
+# Notifications - to configure email notices, add a setting like this:
+# <username>_<reponame>.email = <email-address>
-# Build Settings
-viewer-hotfix-previous.build_viewer = true
-viewer-hotfix-previous.build_server = false
-viewer-hotfix-previous.build_server_tests = false
-viewer-hotfix-previous.build_Linux = true
-viewer-hotfix-previous.build_hg_bundle = true
-viewer-hotfix-previous.build_docs = true
-#viewer-hotfix-previous.build_Linux_Debug = false
-#viewer-hotfix-previous.build_Linux_RelWithDebInfo = false
-#
-# Default channels etc - set build_viewer_update_version_manager to true when needed.
-viewer-hotfix-previous.viewer_channel = "Second Life Release"
-viewer-hotfix-previous.login_channel = "Second Life Release"
-viewer-hotfix-previous.viewer_grid = agni
-viewer-hotfix-previous.build_viewer_update_version_manager = false
+# =================================================================
+# Viewer Development (snowstorm canonical build owned by Oz Linden)
+# =================================================================
+snowstorm_viewer-development.viewer_channel = "Second Life Development"
+snowstorm_viewer-development.login_channel = "Second Life Development"
+snowstorm_viewer-development.build_viewer_update_version_manager = false
+snowstorm_viewer-development.email = viewer-development-builds@lists.secondlife.com
# ========================================
-# Viewer Hotfix
+# Viewer Beta
# ========================================
-
-# Report changes since...
-viewer-hotfix.show_changes_since = 2-1-release
-
-# Build Settings
-viewer-hotfix.build_viewer = true
-viewer-hotfix.build_server = false
-viewer-hotfix.build_server_tests = false
-viewer-hotfix.build_Linux = true
-viewer-hotfix.build_hg_bundle = true
-viewer-hotfix.build_docs = true
-#viewer-hotfix.build_Linux_Debug = false
-#viewer-hotfix.build_Linux_RelWithDebInfo = false
-#
-# Default channels etc - set build_viewer_update_version_manager to true when needed.
-viewer-hotfix.viewer_channel = "Second Life Release"
-viewer-hotfix.login_channel = "Second Life Release"
-viewer-hotfix.viewer_grid = agni
-viewer-hotfix.build_viewer_update_version_manager = false
+viewer-beta.viewer_channel = "Second Life Beta"
+viewer-beta.login_channel = "Second Life Beta"
+viewer-beta.build_viewer_update_version_manager = true
# ========================================
# Viewer Release
# ========================================
-
-# Report changes since...
-viewer-release.show_changes_since = 2-1-release
-
-# Build Settings
-viewer-release.build_viewer = true
-viewer-release.build_server = false
-viewer-release.build_server_tests = false
-viewer-release.build_Linux = true
-viewer-release.build_hg_bundle = true
-viewer-release.build_docs = true
-#viewer-release.build_Linux_Debug = false
-#viewer-release.build_Linux_RelWithDebInfo = false
-#
-# Default channels etc - set build_viewer_update_version_manager to true when needed.
-viewer-release.viewer_channel = "Second Life Beta Viewer"
-viewer-release.login_channel = "Second Life Beta Viewer"
-viewer-release.viewer_grid = agni
-viewer-release.build_viewer_update_version_manager = false
-
-# ========================================
-# Viewer Public
-# ========================================
-
-# Report changes since...
-viewer-public.show_changes_since = 2-1-release
-
-# Build Settings
-viewer-public.build_viewer = true
-viewer-public.build_server = false
-viewer-public.build_server_tests = false
-viewer-public.build_Linux = true
-viewer-public.build_hg_bundle = true
-viewer-public.build_docs = true
-#viewer-public.build_Linux_Debug = false
-#viewer-public.build_Linux_RelWithDebInfo = false
-#
-# Default channels etc - set build_viewer_update_version_manager to true when needed.
-viewer-public.viewer_channel = "Second Life Public Alpha"
-viewer-public.login_channel = "Second Life Public Alpha"
-viewer-public.viewer_grid = agni
-viewer-public.build_viewer_update_version_manager = false
-viewer-public_coverity.build_coverity = true
-viewer-public_coverity.coverity_product = viewer
-
-
-
-#### D e v e l o p m e n t B u i l d s ####
-
+viewer-release.viewer_channel = "Second Life Release"
+viewer-release.login_channel = "Second Life Release"
+viewer-release.build_viewer_update_version_manager = true
# ========================================
-# Viewer Development
+# aimee
# ========================================
-# Report changes since...
-viewer-development.show_changes_since = 2-1-release
-
-# Build Settings
-viewer-development.build_viewer = true
-viewer-development.build_Linux = true
-viewer-development.viewer_channel = "Second Life Development"
-viewer-development.login_channel = "Second Life Beta Development"
-viewer-development.viewer_grid = agni
-viewer-development.build_viewer_update_version_manager = false
-
-# Notifications - to configure email notices, add a setting like this:
-# <username>_<reponame>.email = <email-address>
+viewer-development-import.build_debug_release_separately = true
+viewer-development-fixes.build_debug_release_separately = true
# =======================================
# brad
@@ -227,4 +147,30 @@ media.login_channel = "Second Life Alpha"
media.viewer_grid = agni
media.build_viewer_update_version_manager = false
+# ================
+# oz
+# ================
+
+oz_viewer-review1_coverity.coverity_product = viewer
+
+oz_viewer-review1.build_Linux = true
+oz_viewer-review1_debug.build_Linux = false
+oz_viewer-review1_coverity.build_Linux = false
+
+oz_viewer-review1.build_Darwin = true
+oz_viewer-review1_debug.build_Darwin = false
+oz_viewer-review1_coverity.build_Darwin = false
+
+oz_viewer-review1.build_CYGWIN = true
+oz_viewer-review1.build_CYGWIN_Debug = false
+oz_viewer-review1.build_CYGWIN_RelWithDebInfo = false
+oz_viewer-review1.build_CYGWIN_Release = true
+oz_viewer-review1_debug.build_CYGWIN_Debug = true
+oz_viewer-review1_debug.build_CYGWIN_RelWithDebInfo = true
+oz_viewer-review1_debug.build_CYGWIN_Release = false
+oz_viewer-review1_coverity.build_coverity = true
+oz_viewer-review1_coverity.build_CYGWIN_Debug = false
+oz_viewer-review1_coverity.build_CYGWIN_RelWithDebInfo = false
+oz_viewer-review1_coverity.build_CYGWIN_Release = false
+
# eof
diff --git a/build.sh b/build.sh
index a36d8bf1e2..3903216246 100755
--- a/build.sh
+++ b/build.sh
@@ -32,19 +32,19 @@ build_dir_CYGWIN()
installer_Darwin()
{
- ls -1td "$(build_dir_Darwin Release)/newview/"*.dmg 2>/dev/null | sed 1q
+ ls -1td "$(build_dir_Darwin ${last_built_variant:-Release})/newview/"*.dmg 2>/dev/null | sed 1q
}
installer_Linux()
{
- ls -1td "$(build_dir_Linux Release)/newview/"*.tar.bz2 2>/dev/null | sed 1q
+ ls -1td "$(build_dir_Linux ${last_built_variant:-Release})/newview/"*.tar.bz2 2>/dev/null | sed 1q
}
installer_CYGWIN()
{
- d=$(build_dir_CYGWIN Release)
- p=$(sed 's:.*=::' "$d/newview/Release/touched.bat")
- echo "$d/newview/Release/$p"
+ d=$(build_dir_CYGWIN ${last_built_variant:-Release})
+ p=$(sed 's:.*=::' "$d/newview/${last_built_variant:-Release}/touched.bat")
+ echo "$d/newview/${last_built_variant:-Release}/$p"
}
pre_build()
@@ -147,11 +147,15 @@ build_viewer_update_version_manager_version=`scripts/get_version.py --viewer-ver
cd indra
succeeded=true
build_processes=
+last_built_variant=
for variant in $variants
do
eval '$build_'"$variant" || continue
eval '$build_'"$arch"_"$variant" || continue
+ # Only the last built arch is available for upload
+ last_built_variant="$variant"
+
begin_section "Do$variant"
build_dir=`build_dir_$arch $variant`
build_dir_stubs="$build_dir/win_setup/$variant"
@@ -276,10 +280,14 @@ then
upload_item installer "$package" binary/octet-stream
# Upload crash reporter files.
- for symbolfile in $symbolfiles
- do
- upload_item symbolfile "$build_dir/$symbolfile" binary/octet-stream
- done
+ case "$last_built_variant" in
+ Release)
+ for symbolfile in $symbolfiles
+ do
+ upload_item symbolfile "$build_dir/$symbolfile" binary/octet-stream
+ done
+ ;;
+ esac
# Upload stub installers
upload_stub_installers "$build_dir_stubs"
diff --git a/doc/contributions.txt b/doc/contributions.txt
index f7dada053b..9df072e937 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -150,6 +150,10 @@ blino Nakamura
VWR-17
Boroondas Gupte
SNOW-278
+ SNOW-503
+ SNOW-510
+ SNOW-527
+ SNOW-624
VWR-233
WEB-262
Bulli Schumann
@@ -518,14 +522,19 @@ Robin Cornelius
SNOW-108
SNOW-204
SNOW-484
+ SNOW-504
SNOW-506
+ SNOW-507
+ SNOW-511
SNOW-514
+ SNOW-520
SNOW-585
VWR-2488
VWR-9557
VWR-11128
VWR-12533
VWR-12587
+ VWR-12758
VWR-12763
VWR-12995
Ryozu Kojima
@@ -599,6 +608,8 @@ Strife Onizuka
VWR-2265
VWR-4111
Tayra Dagostino
+ SNOW-517
+ SNOW-543
VWR-13947
TBBle Kurosawa
VWR-938
@@ -606,12 +617,14 @@ TBBle Kurosawa
VWR-942
VWR-944
VWR-945
+ SNOW-543
VWR-1891
VWR-1892
Teardrops Fall
VWR-5366
Techwolf Lupindo
SNOW-92
+ SNOW-649
VWR-12385
tenebrous pau
VWR-247
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index 89422fbdb2..2dd296bf12 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -286,7 +286,7 @@ copy_if_different(
${vivox_src_dir}
"${SHARED_LIB_STAGING_DIR_DEBUG}"
out_targets
- ${vivox_files}
+ ${vivox_files}
)
set(third_party_targets ${third_party_targets} ${out_targets})
@@ -391,7 +391,9 @@ if(NOT EXISTS ${internal_llkdu_path})
endif (NOT EXISTS ${internal_llkdu_path})
-add_custom_target(stage_third_party_libs ALL
- DEPENDS
- ${third_party_targets}
- )
+if(NOT STANDALONE)
+ add_custom_target(
+ stage_third_party_libs ALL
+ DEPENDS ${third_party_targets}
+ )
+endif(NOT STANDALONE)
diff --git a/indra/cmake/FindTut.cmake b/indra/cmake/FindTut.cmake
new file mode 100644
index 0000000000..b5d58f6396
--- /dev/null
+++ b/indra/cmake/FindTut.cmake
@@ -0,0 +1,31 @@
+# -*- cmake -*-
+
+# - Find Tut
+# Find the Tut unit test framework includes and library
+# This module defines
+# TUT_INCLUDE_DIR, where to find tut.h, etc.
+# TUT_FOUND, If false, do not try to use Tut.
+
+find_path(TUT_INCLUDE_DIR tut.h
+ /usr/local/include/
+ /usr/include
+ )
+
+if (TUT_INCLUDE_DIR)
+ set(TUT_FOUND "YES")
+else (TUT_INCLUDE_DIR)
+ set(TUT_FOUND "NO")
+endif (TUT_INCLUDE_DIR)
+
+if (TUT_FOUND)
+ if (NOT TUT_FIND_QUIETLY)
+ message(STATUS "Found Tut: ${TUT_INCLUDE_DIR}")
+ set(TUT_FIND_QUIETLY TRUE) # Only alert us the first time
+ endif (NOT TUT_FIND_QUIETLY)
+else (TUT_FOUND)
+ if (TUT_FIND_REQUIRED)
+ message(FATAL_ERROR "Could not find Tut")
+ endif (TUT_FIND_REQUIRED)
+endif (TUT_FOUND)
+
+mark_as_advanced(TUT_INCLUDE_DIR)
diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake
index e8a0a949b6..a6a7989955 100644
--- a/indra/cmake/LLAddBuildTest.cmake
+++ b/indra/cmake/LLAddBuildTest.cmake
@@ -107,7 +107,7 @@ INCLUDE(GoogleMock)
# Setup target
ADD_EXECUTABLE(PROJECT_${project}_TEST_${name} ${${name}_test_SOURCE_FILES})
- SET_TARGET_PROPERTIES(PROJECT_${project}_TEST_${name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${EXE_STAGING_DIR})
+ SET_TARGET_PROPERTIES(PROJECT_${project}_TEST_${name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}")
#
# Per-codefile additional / external project dep and lib dep property extraction
@@ -196,7 +196,7 @@ FUNCTION(LL_ADD_INTEGRATION_TEST
message(STATUS "ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})")
endif(TEST_DEBUG)
ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})
- SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${EXE_STAGING_DIR})
+ SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}")
# Add link deps to the executable
if(TEST_DEBUG)
diff --git a/indra/cmake/Tut.cmake b/indra/cmake/Tut.cmake
index 7488e9dcb0..784560471d 100644
--- a/indra/cmake/Tut.cmake
+++ b/indra/cmake/Tut.cmake
@@ -1,6 +1,12 @@
# -*- cmake -*-
include(Prebuilt)
-if (NOT STANDALONE)
+set(TUT_FIND_REQUIRED TRUE)
+set(TUT_FIND_QUIETLY TRUE)
+
+if (STANDALONE)
+ include(FindTut)
+ include_directories(${TUT_INCLUDE_DIR})
+else (STANDALONE)
use_prebuilt_binary(tut)
-endif(NOT STANDALONE)
+endif (STANDALONE)
diff --git a/indra/cmake/WebKitLibPlugin.cmake b/indra/cmake/WebKitLibPlugin.cmake
index 1c572ab27f..12ba1b1b35 100644
--- a/indra/cmake/WebKitLibPlugin.cmake
+++ b/indra/cmake/WebKitLibPlugin.cmake
@@ -3,48 +3,46 @@ include(Linking)
include(Prebuilt)
if (STANDALONE)
- set(WEBKITLIBPLUGIN OFF CACHE BOOL
- "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.")
+ set(WEBKITLIBPLUGIN OFF CACHE BOOL
+ "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.")
else (STANDALONE)
- use_prebuilt_binary(llqtwebkit)
- set(WEBKITLIBPLUGIN ON CACHE BOOL
- "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.")
+ use_prebuilt_binary(llqtwebkit)
+ set(WEBKITLIBPLUGIN ON CACHE BOOL
+ "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.")
endif (STANDALONE)
if (WINDOWS)
- set(WEBKIT_PLUGIN_LIBRARIES
- debug llqtwebkitd
- debug QtWebKitd4
- debug QtOpenGLd4
- debug QtNetworkd4
- debug QtGuid4
- debug QtCored4
- debug qtmaind
- optimized llqtwebkit
- optimized QtWebKit4
- optimized QtOpenGL4
- optimized QtNetwork4
- optimized QtGui4
- optimized QtCore4
- optimized qtmain
- )
+ set(WEBKIT_PLUGIN_LIBRARIES
+ debug llqtwebkitd
+ debug QtWebKitd4
+ debug QtOpenGLd4
+ debug QtNetworkd4
+ debug QtGuid4
+ debug QtCored4
+ debug qtmaind
+ optimized llqtwebkit
+ optimized QtWebKit4
+ optimized QtOpenGL4
+ optimized QtNetwork4
+ optimized QtGui4
+ optimized QtCore4
+ optimized qtmain
+ )
elseif (DARWIN)
- set(WEBKIT_PLUGIN_LIBRARIES
- optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
- debug ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
- )
+ set(WEBKIT_PLUGIN_LIBRARIES
+ optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
+ debug ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
+ )
elseif (LINUX)
+ if (STANDALONE)
+ set(WEBKIT_PLUGIN_LIBRARIES llqtwebkit)
+ else (STANDALONE)
set(WEBKIT_PLUGIN_LIBRARIES
llqtwebkit
qgif
-# qico
qjpeg
-# qpng
-# qtiff
-# qsvg
-# QtSvg
QtWebKit
QtOpenGL
QtNetwork
@@ -56,9 +54,6 @@ elseif (LINUX)
X11
Xrender
GL
-
-# sqlite3
-# Xi
-# SM
)
+ endif (STANDALONE)
endif (WINDOWS)
diff --git a/indra/develop.py b/indra/develop.py
index 63df0e983a..3c88bb8a01 100755
--- a/indra/develop.py
+++ b/indra/develop.py
@@ -76,6 +76,7 @@ class PlatformSetup(object):
distcc = True
cmake_opts = []
word_size = 32
+ using_express = False
def __init__(self):
self.script_dir = os.path.realpath(
@@ -497,9 +498,17 @@ class WindowsSetup(PlatformSetup):
self._generator = version
print 'Building with ', self.gens[version]['gen']
break
- else:
- print >> sys.stderr, 'Cannot find a Visual Studio installation!'
- sys.exit(1)
+ else:
+ print >> sys.stderr, 'Cannot find a Visual Studio installation, testing for express editions'
+ for version in 'vc80 vc90 vc71'.split():
+ if self.find_visual_studio_express(version):
+ self._generator = version
+ self.using_express = True
+ print 'Building with ', self.gens[version]['gen'] , "Express edition"
+ break
+ else:
+ print >> sys.stderr, 'Cannot find any Visual Studio installation'
+ sys.exit(1)
return self._generator
def _set_generator(self, gen):
@@ -562,6 +571,28 @@ class WindowsSetup(PlatformSetup):
return ''
+ def find_visual_studio_express(self, gen=None):
+ if gen is None:
+ gen = self._generator
+ gen = gen.lower()
+ try:
+ import _winreg
+ key_str = (r'SOFTWARE\Microsoft\VCEXpress\%s\Setup\VC' %
+ self.gens[gen]['ver'])
+ value_str = (r'ProductDir')
+ print ('Reading VS environment from HKEY_LOCAL_MACHINE\%s\%s' %
+ (key_str, value_str))
+ print key_str
+
+ reg = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE)
+ key = _winreg.OpenKey(reg, key_str)
+ value = _winreg.QueryValueEx(key, value_str)[0]+"IDE"
+ print 'Found: %s' % value
+ return value
+ except WindowsError, err:
+ print >> sys.stderr, "Didn't find ", self.gens[gen]['gen']
+ return ''
+
def get_build_cmd(self):
if self.incredibuild:
config = self.build_type
@@ -572,6 +603,17 @@ class WindowsSetup(PlatformSetup):
cmd = "%(bin)s %(prj)s.sln /build /cfg=%(cfg)s" % {'prj': self.project_name, 'cfg': config, 'bin': executable}
return (executable, cmd)
+ environment = self.find_visual_studio()
+ if environment == '':
+ environment = self.find_visual_studio_express()
+ if environment == '':
+ print >> sys.stderr, "Something went very wrong during build stage, could not find a Visual Studio installation."
+ else:
+ build_dirs=self.build_dirs();
+ print >> sys.stderr, "\nSolution generation complete, it can can now be found in:", build_dirs[0]
+ print >> sys.stderr, "\nPlease see https://wiki.secondlife.com/wiki/Microsoft_Visual_Studio#Extra_steps_for_Visual_Studio_Express_editions for express specific information"
+ exit(0)
+
# devenv.com is CLI friendly, devenv.exe... not so much.
executable = '%sdevenv.com' % (self.find_visual_studio(),)
cmd = ('"%s" %s.sln /build %s' %
@@ -603,7 +645,8 @@ class WindowsSetup(PlatformSetup):
'''Override to add the vstool.exe call after running cmake.'''
PlatformSetup.run_cmake(self, args)
if self.unattended == 'OFF':
- self.run_vstool()
+ if self.using_express == False:
+ self.run_vstool()
def run_vstool(self):
for build_dir in self.build_dirs():
diff --git a/indra/lib/python/indra/ipc/llmessage.py b/indra/lib/python/indra/ipc/llmessage.py
index 6161badc70..91fb36b72c 100644
--- a/indra/lib/python/indra/ipc/llmessage.py
+++ b/indra/lib/python/indra/ipc/llmessage.py
@@ -26,8 +26,6 @@ THE SOFTWARE.
$/LicenseInfo$
"""
-from sets import Set, ImmutableSet
-
from compatibility import Incompatible, Older, Newer, Same
from tokenstream import TokenStream
@@ -44,8 +42,8 @@ class Template:
def compatibleWithBase(self, base):
messagenames = (
- ImmutableSet(self.messages.keys())
- | ImmutableSet(base.messages.keys())
+ frozenset(self.messages.keys())
+ | frozenset(base.messages.keys())
)
compatibility = Same()
diff --git a/indra/llcharacter/CMakeLists.txt b/indra/llcharacter/CMakeLists.txt
index 85e3f97092..14841b5d3d 100644
--- a/indra/llcharacter/CMakeLists.txt
+++ b/indra/llcharacter/CMakeLists.txt
@@ -77,11 +77,12 @@ list(APPEND llcharacter_SOURCE_FILES ${llcharacter_HEADER_FILES})
add_library (llcharacter ${llcharacter_SOURCE_FILES})
-# Add tests
-include(LLAddBuildTest)
-# UNIT TESTS
-SET(llcharacter_TEST_SOURCE_FILES
- lljoint.cpp
- )
-LL_ADD_PROJECT_UNIT_TESTS(llcharacter "${llcharacter_TEST_SOURCE_FILES}")
-
+if(LL_TESTS)
+ # Add tests
+ include(LLAddBuildTest)
+ # UNIT TESTS
+ SET(llcharacter_TEST_SOURCE_FILES
+ lljoint.cpp
+ )
+ LL_ADD_PROJECT_UNIT_TESTS(llcharacter "${llcharacter_TEST_SOURCE_FILES}")
+endif(LL_TESTS)
diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h
index d1f8e19c26..92d9e1204a 100644
--- a/indra/llcommon/llversionviewer.h
+++ b/indra/llcommon/llversionviewer.h
@@ -29,7 +29,7 @@
const S32 LL_VERSION_MAJOR = 2;
const S32 LL_VERSION_MINOR = 1;
-const S32 LL_VERSION_PATCH = 1;
+const S32 LL_VERSION_PATCH = 2;
const S32 LL_VERSION_BUILD = 0;
const char * const LL_CHANNEL = "Second Life Developer";
diff --git a/indra/llinventory/CMakeLists.txt b/indra/llinventory/CMakeLists.txt
index a563db901a..6b2b61f883 100644
--- a/indra/llinventory/CMakeLists.txt
+++ b/indra/llinventory/CMakeLists.txt
@@ -59,16 +59,16 @@ list(APPEND llinventory_SOURCE_FILES ${llinventory_HEADER_FILES})
add_library (llinventory ${llinventory_SOURCE_FILES})
+if(LL_TESTS)
+ #add unit tests
+ INCLUDE(LLAddBuildTest)
+ SET(llinventory_TEST_SOURCE_FILES
+ # no real unit tests yet!
+ )
+ LL_ADD_PROJECT_UNIT_TESTS(llinventory "${llinventory_TEST_SOURCE_FILES}")
-#add unit tests
-INCLUDE(LLAddBuildTest)
-SET(llinventory_TEST_SOURCE_FILES
- # no real unit tests yet!
- )
-LL_ADD_PROJECT_UNIT_TESTS(llinventory "${llinventory_TEST_SOURCE_FILES}")
-
-#set(TEST_DEBUG on)
-set(test_libs llinventory ${LLMESSAGE_LIBRARIES} ${LLVFS_LIBRARIES} ${LLMATH_LIBRARIES} ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES})
-LL_ADD_INTEGRATION_TEST(inventorymisc "" "${test_libs}")
-LL_ADD_INTEGRATION_TEST(llparcel "" "${test_libs}")
-
+ #set(TEST_DEBUG on)
+ set(test_libs llinventory ${LLMESSAGE_LIBRARIES} ${LLVFS_LIBRARIES} ${LLMATH_LIBRARIES} ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES})
+ LL_ADD_INTEGRATION_TEST(inventorymisc "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llparcel "" "${test_libs}")
+endif(LL_TESTS)
diff --git a/indra/llplugin/CMakeLists.txt b/indra/llplugin/CMakeLists.txt
index 441becbae0..fdd510b389 100644
--- a/indra/llplugin/CMakeLists.txt
+++ b/indra/llplugin/CMakeLists.txt
@@ -57,18 +57,21 @@ add_library (llplugin ${llplugin_SOURCE_FILES})
add_subdirectory(slplugin)
-# Add tests
-include(LLAddBuildTest)
-# UNIT TESTS
-SET(llplugin_TEST_SOURCE_FILES
- llplugincookiestore.cpp
- )
+if (LL_TESTS)
+ # Add tests
+ include(LLAddBuildTest)
-# llplugincookiestore has a dependency on curl, so we need to link the curl library into the test.
-set_source_files_properties(
- llplugincookiestore.cpp
- PROPERTIES
- LL_TEST_ADDITIONAL_LIBRARIES "${CURL_LIBRARIES}"
- )
+ # UNIT TESTS
+ SET(llplugin_TEST_SOURCE_FILES
+ llplugincookiestore.cpp
+ )
-LL_ADD_PROJECT_UNIT_TESTS(llplugin "${llplugin_TEST_SOURCE_FILES}")
+ # llplugincookiestore has a dependency on curl, so we need to link the curl library into the test.
+ set_source_files_properties(
+ llplugincookiestore.cpp
+ PROPERTIES
+ LL_TEST_ADDITIONAL_LIBRARIES "${CURL_LIBRARIES}"
+ )
+
+ LL_ADD_PROJECT_UNIT_TESTS(llplugin "${llplugin_TEST_SOURCE_FILES}")
+endif (LL_TESTS)
diff --git a/indra/llprimitive/CMakeLists.txt b/indra/llprimitive/CMakeLists.txt
index 68a3d54597..f4d21308b3 100644
--- a/indra/llprimitive/CMakeLists.txt
+++ b/indra/llprimitive/CMakeLists.txt
@@ -53,9 +53,11 @@ list(APPEND llprimitive_SOURCE_FILES ${llprimitive_HEADER_FILES})
add_library (llprimitive ${llprimitive_SOURCE_FILES})
-#add unit tests
-INCLUDE(LLAddBuildTest)
-SET(llprimitive_TEST_SOURCE_FILES
- llmediaentry.cpp
- )
-LL_ADD_PROJECT_UNIT_TESTS(llprimitive "${llprimitive_TEST_SOURCE_FILES}")
+if(LL_TESTS)
+ #add unit tests
+ INCLUDE(LLAddBuildTest)
+ SET(llprimitive_TEST_SOURCE_FILES
+ llmediaentry.cpp
+ )
+ LL_ADD_PROJECT_UNIT_TESTS(llprimitive "${llprimitive_TEST_SOURCE_FILES}")
+endif(LL_TESTS)
diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt
index 12df9ccae4..8e78a5fefd 100644
--- a/indra/llui/CMakeLists.txt
+++ b/indra/llui/CMakeLists.txt
@@ -240,10 +240,12 @@ target_link_libraries(llui
${LLCOMMON_LIBRARIES} # must be after llimage, llwindow, llrender
)
-# Add tests
-include(LLAddBuildTest)
-SET(llui_TEST_SOURCE_FILES
- llurlmatch.cpp
- llurlentry.cpp
- )
-LL_ADD_PROJECT_UNIT_TESTS(llui "${llui_TEST_SOURCE_FILES}")
+if(LL_TESTS)
+ # Add tests
+ include(LLAddBuildTest)
+ SET(llui_TEST_SOURCE_FILES
+ llurlmatch.cpp
+ llurlentry.cpp
+ )
+ LL_ADD_PROJECT_UNIT_TESTS(llui "${llui_TEST_SOURCE_FILES}")
+endif(LL_TESTS)
diff --git a/indra/llui/llflatlistview.cpp b/indra/llui/llflatlistview.cpp
index f266af03ee..b28399a36b 100644
--- a/indra/llui/llflatlistview.cpp
+++ b/indra/llui/llflatlistview.cpp
@@ -87,6 +87,9 @@ bool LLFlatListView::addItem(LLPanel * item, const LLSD& value /*= LLUUID::null*
mItemsPanel->addChild(item);
break;
default:
+ LL_WARNS("") << "Unsupported position." << LL_ENDL;
+ delete new_pair;
+ return false;
break;
}
diff --git a/indra/llui/llflatlistview.h b/indra/llui/llflatlistview.h
index 8667af048b..afd0176d98 100644
--- a/indra/llui/llflatlistview.h
+++ b/indra/llui/llflatlistview.h
@@ -54,6 +54,7 @@
*/
class LLFlatListView : public LLScrollContainer, public LLEditMenuHandler
{
+ LOG_CLASS(LLFlatListView);
public:
/**
@@ -448,6 +449,7 @@ private:
*/
class LLFlatListViewEx : public LLFlatListView
{
+ LOG_CLASS(LLFlatListViewEx);
public:
struct Params : public LLInitParam::Block<Params, LLFlatListView::Params>
{
diff --git a/indra/llvfs/CMakeLists.txt b/indra/llvfs/CMakeLists.txt
index 05c7c7860c..722f4e2bfd 100644
--- a/indra/llvfs/CMakeLists.txt
+++ b/indra/llvfs/CMakeLists.txt
@@ -67,15 +67,17 @@ if (DARWIN)
endif (DARWIN)
-# Add tests
-include(LLAddBuildTest)
-# UNIT TESTS
-SET(llvfs_TEST_SOURCE_FILES
- # none so far
- )
-LL_ADD_PROJECT_UNIT_TESTS(llvfs "${llvfs_TEST_SOURCE_FILES}")
-
-# INTEGRATION TESTS
-set(test_libs llmath llcommon llvfs ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES})
-# TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests.
-LL_ADD_INTEGRATION_TEST(lldir "" "${test_libs}")
+if(LL_TESTS)
+ # Add tests
+ include(LLAddBuildTest)
+ # UNIT TESTS
+ SET(llvfs_TEST_SOURCE_FILES
+ # none so far
+ )
+ LL_ADD_PROJECT_UNIT_TESTS(llvfs "${llvfs_TEST_SOURCE_FILES}")
+
+ # INTEGRATION TESTS
+ set(test_libs llmath llcommon llvfs ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES})
+ # TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests.
+ LL_ADD_INTEGRATION_TEST(lldir "" "${test_libs}")
+endif(LL_TESTS)
diff --git a/indra/llxml/CMakeLists.txt b/indra/llxml/CMakeLists.txt
index fbcfade383..eb5166ee71 100644
--- a/indra/llxml/CMakeLists.txt
+++ b/indra/llxml/CMakeLists.txt
@@ -45,24 +45,27 @@ target_link_libraries( llxml
${EXPAT_LIBRARIES}
)
-# tests
-# unit tests
+if(LL_TESTS)
+ # tests
-SET(llxml_TEST_SOURCE_FILES
- # none yet!
- )
-LL_ADD_PROJECT_UNIT_TESTS(llxml "${llxml_TEST_SOURCE_FILES}")
+ # unit tests
-# integration tests
+ SET(llxml_TEST_SOURCE_FILES
+ # none yet!
+ )
+ LL_ADD_PROJECT_UNIT_TESTS(llxml "${llxml_TEST_SOURCE_FILES}")
-# set(TEST_DEBUG on)
-set(test_libs
- ${LLXML_LIBRARIES}
- ${WINDOWS_LIBRARIES}
- ${LLMATH_LIBRARIES}
- ${LLCOMMON_LIBRARIES}
- )
+ # integration tests
-LL_ADD_INTEGRATION_TEST(llcontrol "" "${test_libs}")
+ # set(TEST_DEBUG on)
+ set(test_libs
+ ${LLXML_LIBRARIES}
+ ${WINDOWS_LIBRARIES}
+ ${LLMATH_LIBRARIES}
+ ${LLCOMMON_LIBRARIES}
+ )
+ LL_ADD_INTEGRATION_TEST(llcontrol "" "${test_libs}")
+
+endif(LL_TESTS)
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 65502209f7..1ee7586d5f 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1704,12 +1704,12 @@ if (LINUX)
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_gstreamer010 media_plugin_webkit)
- if (NOT INSTALL)
+ if (PACKAGE)
add_custom_target(package ALL DEPENDS ${product}.tar.bz2)
add_dependencies(package linux-crash-logger-target)
add_dependencies(package linux-updater-target)
check_message_template(package)
- endif (NOT INSTALL)
+ endif (PACKAGE)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.copy_touched
diff --git a/indra/newview/llcommandlineparser.cpp b/indra/newview/llcommandlineparser.cpp
index 3f9e25518a..ee8646aad0 100644
--- a/indra/newview/llcommandlineparser.cpp
+++ b/indra/newview/llcommandlineparser.cpp
@@ -53,7 +53,7 @@
namespace po = boost::program_options;
-// *NTOE:MEP - Currently the boost object reside in file scope.
+// *NOTE:MEP - Currently the boost object reside in file scope.
// This has a couple of negatives, they are always around and
// there can be only one instance of each.
// The plus is that the boost-ly-ness of this implementation is
@@ -156,6 +156,12 @@ public:
return mIsComposing;
}
+ // Needed for boost 1.42
+ virtual bool is_required() const
+ {
+ return false; // All our command line options are optional.
+ }
+
virtual bool apply_default(boost::any& value_store) const
{
return false; // No defaults.
@@ -169,7 +175,6 @@ public:
{
mNotifyCallback(*value);
}
-
}
protected:
diff --git a/indra/newview/llinventoryitemslist.h b/indra/newview/llinventoryitemslist.h
index 17131549e7..ca90427659 100644
--- a/indra/newview/llinventoryitemslist.h
+++ b/indra/newview/llinventoryitemslist.h
@@ -38,6 +38,7 @@ class LLViewerInventoryItem;
class LLInventoryItemsList : public LLFlatListViewEx
{
+ LOG_CLASS(LLInventoryItemsList);
public:
struct Params : public LLInitParam::Block<Params, LLFlatListViewEx::Params>
{
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index 15729b5175..2e003dd2b8 100644
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -7111,6 +7111,13 @@ void LLVivoxProtocolParser::reset()
alias.clear();
numberOfAliases = 0;
applicationString.clear();
+ id = 0;
+ nameString.clear();
+ descriptionString.clear();
+ expirationDate = LLDate();
+ hasExpired = false;
+ fontType = 0;
+ fontStatus = 0;
}
//virtual
diff --git a/indra/newview/llwearableitemslist.h b/indra/newview/llwearableitemslist.h
index 4806fb35bf..854c37c2c1 100644
--- a/indra/newview/llwearableitemslist.h
+++ b/indra/newview/llwearableitemslist.h
@@ -384,6 +384,7 @@ private:
*/
class LLWearableItemsList : public LLInventoryItemsList
{
+ LOG_CLASS(LLWearableItemsList);
public:
/**
* Context menu.
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 9885d1aa0d..0eda4007e3 100644
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -833,6 +833,28 @@ class LinuxManifest(ViewerManifest):
# Create an appropriate gridargs.dat for this package, denoting required grid.
self.put_in_file(self.flags_list(), 'etc/gridargs.dat')
+ self.path("secondlife-bin","bin/do-not-directly-run-secondlife-bin")
+ self.path("../linux_crash_logger/linux-crash-logger","bin/linux-crash-logger.bin")
+ self.path("../linux_updater/linux-updater", "bin/linux-updater.bin")
+ self.path("../llplugin/slplugin/SLPlugin", "bin/SLPlugin")
+
+ if self.prefix("res-sdl"):
+ self.path("*")
+ # recurse
+ self.end_prefix("res-sdl")
+
+ # plugins
+ if self.prefix(src="", dst="bin/llplugin"):
+ self.path("../media_plugins/webkit/libmedia_plugin_webkit.so", "libmedia_plugin_webkit.so")
+ self.path("../media_plugins/gstreamer010/libmedia_plugin_gstreamer010.so", "libmedia_plugin_gstreamer.so")
+ self.end_prefix("bin/llplugin")
+
+ try:
+ self.path("../llcommon/libllcommon.so", "lib/libllcommon.so")
+ except:
+ print "Skipping llcommon.so (assuming llcommon was linked statically)"
+
+ self.path("featuretable_linux.txt")
def package_finish(self):
if 'installer_name' in self.args:
@@ -847,6 +869,10 @@ class LinuxManifest(ViewerManifest):
else:
installer_name += '_' + self.channel_oneword().upper()
+ if self.args['buildtype'].lower() == 'release' and self.is_packaging_viewer():
+ print "* Going strip-crazy on the packaged binaries, since this is a RELEASE build"
+ self.run_command("find %(d)r/bin %(d)r/lib -type f | xargs --no-run-if-empty strip -S" % {'d': self.get_dst_prefix()} ) # makes some small assumptions about our packaged dir structure
+
# Fix access permissions
self.run_command("""
find %(dst)s -type d | xargs --no-run-if-empty chmod 755;
@@ -883,36 +909,12 @@ class Linux_i686Manifest(LinuxManifest):
# install either the libllkdu we just built, or a prebuilt one, in
# decreasing order of preference. for linux package, this goes to bin/
- for lib, destdir in ("llkdu", "bin"), ("llcommon", "lib"):
- libfile = "lib%s.so" % lib
- try:
- self.path(self.find_existing_file(os.path.join(os.pardir, lib, libfile),
- '../../libraries/i686-linux/lib_release_client/%s' % libfile),
- dst=os.path.join(destdir, libfile))
- # keep this one to preserve syntax, open source mangling removes previous lines
- pass
- except RuntimeError:
- print "Skipping %s - not found" % libfile
- pass
-
- self.path("secondlife-bin","bin/do-not-directly-run-secondlife-bin")
-
- self.path("../linux_crash_logger/linux-crash-logger","bin/linux-crash-logger.bin")
- self.path("../linux_updater/linux-updater", "bin/linux-updater.bin")
- self.path("../llplugin/slplugin/SLPlugin", "bin/SLPlugin")
- if self.prefix("res-sdl"):
- self.path("*")
- # recurse
- self.end_prefix("res-sdl")
-
- # plugins
- if self.prefix(src="", dst="bin/llplugin"):
- self.path("../media_plugins/webkit/libmedia_plugin_webkit.so", "libmedia_plugin_webkit.so")
- self.path("../media_plugins/gstreamer010/libmedia_plugin_gstreamer010.so", "libmedia_plugin_gstreamer.so")
- self.end_prefix("bin/llplugin")
-
- self.path("featuretable_linux.txt")
- #self.path("secondlife-i686.supp")
+ try:
+ self.path(self.find_existing_file('../llkdu/libllkdu.so',
+ '../../libraries/i686-linux/lib_release_client/libllkdu.so'),
+ dst='bin/libllkdu.so')
+ except:
+ print "Skipping libllkdu.so - not found"
if self.prefix("../../libraries/i686-linux/lib_release_client", dst="lib"):
self.path("libapr-1.so.0")
@@ -955,10 +957,6 @@ class Linux_i686Manifest(LinuxManifest):
self.path("libvivoxplatform.so")
self.end_prefix("lib")
- if self.args['buildtype'].lower() == 'release' and self.is_packaging_viewer():
- print "* Going strip-crazy on the packaged binaries, since this is a RELEASE build"
- self.run_command("find %(d)r/bin %(d)r/lib -type f | xargs --no-run-if-empty strip -S" % {'d': self.get_dst_prefix()} ) # makes some small assumptions about our packaged dir structure
-
################################################################
if __name__ == "__main__":