summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorcoyot@coyot-sager-PC <coyot@coyot-sager-PC>2017-03-16 22:54:27 +0100
committercoyot@coyot-sager-PC <coyot@coyot-sager-PC>2017-03-16 22:54:27 +0100
commit664e4b44662ff06ce88bd0a604b0fbf64643337e (patch)
treee3fefc4dc66bf3cb834639669b9162709ade2312 /indra/newview
parentfc56311ebf05d6d6c155e097bffbff9feb0c411f (diff)
parented5fda3271acf7917ea3ccc3aedab6f5a9401953 (diff)
merge
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/CMakeLists.txt53
-rw-r--r--indra/newview/llappviewer.h2
-rw-r--r--indra/newview/llversioninfo.cpp1
-rw-r--r--indra/newview/tests/lllogininstance_test.cpp4
-rw-r--r--indra/newview/tests/llversioninfo_test.cpp6
-rwxr-xr-xindra/newview/viewer_manifest.py75
6 files changed, 66 insertions, 75 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 394a9c8578..7a62d8baec 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -47,6 +47,7 @@ include(TemplateCheck)
include(UI)
include(UnixInstall)
include(ViewerMiscLibs)
+include(ViewerManager)
include(VisualLeakDetector)
include(ZLIB)
include(URIPARSER)
@@ -1756,58 +1757,6 @@ if (WINDOWS)
${SHARED_LIB_STAGING_DIR}/Debug/fmodexL.dll
)
endif (FMODEX)
-
- get_filename_component(PYTHON_DIRECTORY ${PYTHON_EXECUTABLE} DIRECTORY)
-
- # http://pythonhosted.org/PyInstaller/#options
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/SL_Launcher.exe
- COMMAND ${PYTHON_DIRECTORY}/Scripts/pyinstaller.exe
- ARGS
- --onefile
- --log-level WARN
- --distpath ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
- ${CMAKE_SOURCE_DIR}/viewer_components/manager/SL_Launcher
- COMMENT "Performing pyinstaller compile of SL_Launcher"
-)
-
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/apply_update.exe
- COMMAND ${PYTHON_DIRECTORY}/Scripts/pyinstaller.exe
- ARGS
- --onefile
- --log-level WARN
- --distpath ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
- ${CMAKE_SOURCE_DIR}/viewer_components/manager/apply_update.py
- COMMENT "Performing pyinstaller compile of updater"
-)
-
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/download_update.exe
- COMMAND ${PYTHON_DIRECTORY}/Scripts/pyinstaller.exe
- ARGS
- --onefile
- --log-level WARN
- --distpath ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
- ${CMAKE_SOURCE_DIR}/viewer_components/manager/download_update.py
- COMMENT "Performing pyinstaller compile of update downloader"
-)
-
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/update_manager.exe
- COMMAND ${PYTHON_DIRECTORY}/Scripts/pyinstaller.exe
- ARGS
- --onefile
- --log-level WARN
- --distpath ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
- ${CMAKE_SOURCE_DIR}/viewer_components/manager/update_manager.py
- COMMENT "Performing pyinstaller compile of update manager"
-)
-
-add_custom_target(compile_w_viewer_launcher ALL DEPENDS ${CMAKE_CFG_INTDIR}/SL_Launcher.exe)
-add_custom_target(compile_w_viewer_updater ALL DEPENDS ${CMAKE_CFG_INTDIR}/apply_update.exe)
-add_custom_target(compile_w_viewer_downloader ALL DEPENDS ${CMAKE_CFG_INTDIR}/download_update.exe)
-add_custom_target(compile_w_viewer_update_manager ALL DEPENDS ${CMAKE_CFG_INTDIR}/update_manager.exe)
add_custom_command(
OUTPUT ${CMAKE_CFG_INTDIR}/copy_touched.bat
diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h
index 702f7efa21..c4782ed216 100644
--- a/indra/newview/llappviewer.h
+++ b/indra/newview/llappviewer.h
@@ -311,6 +311,8 @@ private:
// llcorehttp library init/shutdown helper
LLAppCoreHttp mAppCoreHttp;
+ bool mIsFirstRun;
+
};
// consts from viewer.h
diff --git a/indra/newview/llversioninfo.cpp b/indra/newview/llversioninfo.cpp
index 375dce485d..bf9d98ee91 100644
--- a/indra/newview/llversioninfo.cpp
+++ b/indra/newview/llversioninfo.cpp
@@ -64,6 +64,7 @@ S32 LLVersionInfo::getPatch()
//static
S32 LLVersionInfo::getBuild()
{
+ std::cout << "What we have IN llversioninfo: " << LL_VIEWER_VERSION_BUILD << std::endl;
return LL_VIEWER_VERSION_BUILD;
}
diff --git a/indra/newview/tests/lllogininstance_test.cpp b/indra/newview/tests/lllogininstance_test.cpp
index 55dcb83567..3b7ec48d61 100644
--- a/indra/newview/tests/lllogininstance_test.cpp
+++ b/indra/newview/tests/lllogininstance_test.cpp
@@ -31,6 +31,9 @@
#include "../llviewernetwork.h"
#include "../lllogininstance.h"
+ // Needed for Auth Test
+ #include "../llhasheduniqueid.h"
+
// STL headers
// std headers
// external library headers
@@ -187,7 +190,6 @@ void LLUIColorTable::saveUserSettings(void)const {}
#include "../llversioninfo.h"
const std::string &LLVersionInfo::getVersion() { return VIEWERLOGIN_VERSION; }
const std::string &LLVersionInfo::getChannel() { return VIEWERLOGIN_CHANNEL; }
-const int MD5HEX_STR_SIZE = 33; // char hex[MD5HEX_STR_SIZE]; with null
bool llHashedUniqueID(unsigned char* id)
{
diff --git a/indra/newview/tests/llversioninfo_test.cpp b/indra/newview/tests/llversioninfo_test.cpp
index f1f69f33f1..2f7a4e9601 100644
--- a/indra/newview/tests/llversioninfo_test.cpp
+++ b/indra/newview/tests/llversioninfo_test.cpp
@@ -29,6 +29,8 @@
#include "../llversioninfo.h"
+ #include <iostream>
+
// LL_VIEWER_CHANNEL is a macro defined on the compiler command line. The
// macro expands to the string name of the channel, but without quotes. We
// need to turn it into a quoted string. This macro trick does that.
@@ -81,7 +83,9 @@ namespace tut
template<> template<>
void versioninfo_object_t::test<1>()
- {
+ {
+ std::cout << "What we parsed from CMake: " << LL_VIEWER_VERSION_BUILD << std::endl;
+ std::cout << "What we get from llversioninfo: " << LLVersionInfo::getBuild() << std::endl;
ensure_equals("Major version",
LLVersionInfo::getMajor(),
LL_VIEWER_VERSION_MAJOR);
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 0506fc553e..859ca8f9d6 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -223,7 +223,7 @@ class ViewerManifest(LLManifest):
return channel_type
def channel_variant_app_suffix(self):
- # get any part of the compiled channel name after the CHANNEL_VENDOR_BASE
+ # get any part of the channel name after the CHANNEL_VENDOR_BASE
suffix=self.channel_variant()
# by ancient convention, we don't use Release in the app name
if self.channel_type() == 'release':
@@ -342,19 +342,42 @@ class WindowsManifest(ViewerManifest):
pkgdir = os.path.join(self.args['build'], os.pardir, 'packages')
relpkgdir = os.path.join(pkgdir, "lib", "release")
debpkgdir = os.path.join(pkgdir, "lib", "debug")
+ vmpdir = os.path.join(pkgdir, "VMP")
+ llbasedir = os.path.join(pkgdir, "llbase")
if self.is_packaging_viewer():
# Find secondlife-bin.exe in the 'configuration' dir, then rename it to the result of final_exe.
self.path(src='%s/secondlife-bin.exe' % self.args['configuration'], dst=self.final_exe())
- # include the compiled launcher script so that it gets included in the file_list
- self.path(src='%s/SL_Launcher.exe' % self.args['configuration'], dst="SL_Launcher.exe")
+
+ # include the compiled launcher scripts so that it gets included in the file_list
+ self.path(src='%s/apply_update.exe' % vmpdir, dst="apply_update.exe")
+ self.path(src='%s/download_update.exe' % vmpdir, dst="download_update.exe")
+ self.path(src='%s/SL_Launcher.exe' % vmpdir, dst="SL_Launcher.exe")
+ self.path(src='%s/update_manager.exe' % vmpdir, dst="update_manager.exe")
+
+ #IUM is not normally executed directly, just imported. No exe needed.
+ self.path2basename(vmpdir,"InstallerUserMessage.py")
+
+ #VMP Tkinter icons
+ if self.prefix("vmp_icons"):
+ self.path("*.png")
+ self.path("*.gif")
+ self.end_prefix("vmp_icons")
+
+ #before, we only needed llbase at build time. With VMP, we need it at run time.
+ llbase_path = os.path.join(self.get_dst_prefix(),'llbase')
+ if not os.path.exists(llbase_path):
+ os.makedirs(llbase_path)
+ if self.prefix(dst="llbase"):
+ self.path2basename(llbasedir,"*.py")
+ self.path2basename(llbasedir,"_cllsd.so")
+ self.end_prefix()
# Plugin host application
self.path2basename(os.path.join(os.pardir,
'llplugin', 'slplugin', self.args['configuration']),
"slplugin.exe")
- #note, launcher and friends do not need viewer_manifest in Windows as the scripts are compiled into executables
# Get shared libs from the shared libs staging directory
if self.prefix(src=os.path.join(os.pardir, 'sharedlibs', self.args['configuration']),
dst=""):
@@ -687,7 +710,17 @@ class WindowsManifest(ViewerManifest):
if not python or python == "${PYTHON}":
python = 'python'
if os.path.exists(sign_py):
+ print "about to run signing of: ", self.dst_path_of(installer_file).replace('\\', '\\\\\\\\')
self.run_command("%s %s %s" % (python, sign_py, self.dst_path_of(installer_file).replace('\\', '\\\\\\\\')))
+ #Unlike the viewer binary, the VMP filenames are invariant with respect to version, os, etc.
+ print "about to run signing of: ", self.dst_path_of("apply_update.exe").replace('\\', '\\\\\\\\')
+ self.run_command("%s %s %s" % (python, sign_py, self.dst_path_of("apply_update.exe").replace('\\', '\\\\\\\\')))
+ print "about to run signing of: ", self.dst_path_of("download_update.exe").replace('\\', '\\\\\\\\')
+ self.run_command("%s %s %s" % (python, sign_py, self.dst_path_of("download_update.exe").replace('\\', '\\\\\\\\')))
+ print "about to run signing of: ", self.dst_path_of("SL_Launcher.exe").replace('\\', '\\\\\\\\')
+ self.run_command("%s %s %s" % (python, sign_py, self.dst_path_of("SL_Launcher.exe").replace('\\', '\\\\\\\\')))
+ print "about to run signing of: ", self.dst_path_of("update_manager.exe").replace('\\', '\\\\\\\\')
+ self.run_command("%s %s %s" % (python, sign_py, self.dst_path_of("update_manager.exe").replace('\\', '\\\\\\\\')))
else:
print "Skipping code signing,", sign_py, "does not exist"
self.created_path(self.dst_path_of(installer_file))
@@ -716,28 +749,29 @@ class DarwinManifest(ViewerManifest):
pkgdir = os.path.join(self.args['build'], os.pardir, 'packages')
relpkgdir = os.path.join(pkgdir, "lib", "release")
debpkgdir = os.path.join(pkgdir, "lib", "debug")
- llbasedir = os.path.join(pkgdir, os.pardir)
+ vmpdir = os.path.join(pkgdir, "VMP")
+ llbasedir = os.path.join(pkgdir, "llbase")
if self.prefix(src="", dst="Contents"): # everything goes in Contents
self.path("Info.plist", dst="Info.plist")
# copy additional libs in <bundle>/Contents/MacOS/
self.path(os.path.join(relpkgdir, "libndofdev.dylib"), dst="Resources/libndofdev.dylib")
- self.path(os.path.join(relpkgdir, "libhunspell-1.3.0.dylib"), dst="Resources/libhunspell-1.3.0.dylib")
+ self.path(os.path.join(relpkgdir, "libhunspell-1.3.0.dylib"), dst="Resources/libhunspell-1.3.0.dylib")
if self.prefix(dst="MacOS"):
- self.path2basename("../viewer_components/updater/scripts/darwin", "*.py")
#this copies over the python wrapper script, associated utilities and required libraries, see SL-321, SL-322 and SL-323
- self.path2basename("../viewer_components/manager","SL_Launcher")
- self.path2basename("../viewer_components/manager","*.py")
+ self.path2basename(vmpdir,"SL_Launcher")
+ self.path2basename(vmpdir,"*.py")
llbase_path = os.path.join(self.get_dst_prefix(),'llbase')
if not os.path.exists(llbase_path):
os.makedirs(llbase_path)
+ #before, we only needed llbase at build time. With VMP, we need it at run time.
if self.prefix(dst="llbase"):
- self.path2basename("../packages/llbase","*.py")
- self.path2basename("../packages/llbase","_cllsd.so")
+ self.path2basename(llbasedir,"*.py")
+ self.path2basename(llbasedir,"_cllsd.so")
self.end_prefix()
- self.end_prefix()
+ self.end_prefix()
# most everything goes in the Resources directory
if self.prefix(src="", dst="Resources"):
@@ -756,6 +790,12 @@ class DarwinManifest(ViewerManifest):
self.path("secondlife.icns")
self.end_prefix(icon_path)
+ #VMP Tkinter icons
+ if self.prefix("vmp_icons"):
+ self.path("*.png")
+ self.path("*.gif")
+ self.end_prefix("vmp_icons")
+
self.path("SecondLife.nib")
# Translations
@@ -780,12 +820,6 @@ class DarwinManifest(ViewerManifest):
self.path("uk.lproj")
self.path("zh-Hans.lproj")
- #VMP icons
- if self.prefix("vmp_icons"):
- self.path("*.png")
- self.path("*.gif")
- self.end_prefix("vmp_icons")
-
def path_optional(src, dst):
"""
For a number of our self.path() calls, not only do we want
@@ -1158,7 +1192,7 @@ class LinuxManifest(ViewerManifest):
if self.prefix(src="", dst="bin"):
self.path("secondlife-bin","do-not-directly-run-secondlife-bin")
self.path("../linux_crash_logger/linux-crash-logger","linux-crash-logger.bin")
- self.path2basename("../llplugin/slplugin", "SLPlugin")
+ self.path2basename("../llplugin/slplugin", "SLPlugin")
#this copies over the python wrapper script, associated utilities and required libraries, see SL-321, SL-322 and SL-323
self.path2basename("../viewer_components/manager","SL_Launcher")
self.path2basename("../viewer_components/manager","*.py")
@@ -1167,8 +1201,7 @@ class LinuxManifest(ViewerManifest):
os.makedirs(llbase_path)
if self.prefix(dst="llbase"):
self.path2basename("../packages/llbase","*.py")
- self.path2basename("../packages/llbase","_cllsd.so")
- self.end_prefix()
+ self.path2basename("../packages/llbase","_cllsd.so")
self.end_prefix("bin")
if self.prefix("res-sdl"):