summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-01-28MAINT-4744: Eliminate viewer dependency on (old) GNU libstdc++.Nat Goodspeed
To be more accurate, this changeset doesn't actually eliminate the dependency: it eliminates the use cases for the llifstream / llofstream feature that requires it. Currently you can construct an llifstream or llofstream from an open LLFILE* file handle (or, except on Windows, an int file descriptor). But rather than containing a streambuf implementation based on FILE*, llfile.h relies on the fact that the Windows std::filebuf happens to support that as a nonstandard extension; also on a nonstandard GNU extension __gnu_cxx::stdio_filebuf<char>. To move from GNU libstdc++ to clang's libc++ (the direction on Mac), we could code a streambuf that supports FILE*. But before doing that, it's worth asking whether anyone actually uses this questionable feature. In fact there were only two methods: LLWearable::exportFile() and importFile() -- and only one call to either, in LLViewerWearable::saveNewAsset(). The code in saveNewAsset() opened the LLFILE* immediately before calling exportFile(), meaning we could reasonably push the open operation down into exportFile(). That logic was complex anyway due to the need for the caller to close the LLFILE* regardless of the success of the exportFile(). Change LLWearable::exportFile() and importFile() to accept a std::string filename rather than an open LLFILE*. Change LLViewerWearable::saveNewAsset() to simply call exportFile(filename) rather than horsing around with an LLFILE* handle. (This improves the code in another way too: it encapsulates the need to open the relevant file in binary mode. Previously, each caller had to remember to do that.) To prevent inadvertent reintroduction of ll[io]fstream(LLFILE*) code, add llstream_LLFILE preprocessor macro (default 0) to control access to the relevant constructors. Also suppress rdbuf() override, the only method whose signature references llstdio_filebuf.
2015-01-27Include MSVCP120.DLL and MSVCR120.DLL in Windows viewer package.Nat Goodspeed
Generalize Copy3rdPartyLibs.cmake to eliminate some clone-and-tweak redundancy.
2015-01-23Explain why LLHost::setHostByName() / getHostName() test skipped.Nat Goodspeed
A skip() stating that we don't yet understand why the test fails is implicitly an open action item. This one isn't open. Save future developers the research.
2015-01-23Re-enable skipped test: evidently Windows APR libs CAN transcode.Nat Goodspeed
I don't know at what point the skip() was introduced, but that test now passes even on Windows.
2015-01-23Automated merge with http://bitbucket.org/lindenlab/viewer-tools-updateNat Goodspeed
2015-01-23Make MandatoryUpdateMachine use LLLoginInstance's LLNotificationsInterface.Nat Goodspeed
LLLoginInstance has a test hook setNotificationsInterface(), used by lllogininstance_test.cpp to redirect notifications through a dummy LLNotificationsInterface implementation. Certain of LLLoginInstance's MandatoryUpdateMachine state classes need to post notifications too; but until now they directly called LLNotificationsUtil::add(). In the production viewer, this should (!) be the same as calling through LLLoginInstance::mNotifications -- but it broke two of the LLLoginInstance unit tests, so they were skipped. Since MandatoryUpdateMachine's constructor is already passed the invoking LLLoginInstance&, make it store the reference. Add MandatoryUpdateMachine:: getNotificationsInterface(), which forwards to new LLLoginInstance:: getNotificationsInterface(). Change LLNotificationsUtil::add() calls in MandatoryUpdateMachine state classes to call through mMachine's getNotificationInterface() instead. This allows us to remove #include "llnotificationsutil.h" from lllogininstance.cpp, also that #include plus stub LLNotificationsUtil::add() implementation from lllogininstance_test.cpp. Finally, it allows us to remove the skip() calls from the two unit tests.
2015-01-22Automated merge with http://bitbucket.org/lindenlab/viewer-tools-updateNat Goodspeed
2015-01-22Ensure AUTOBUILD is in native_path form for non-cygwin tools.Nat Goodspeed
Until we can propagate the corresponding buildscripts changes, we must explicitly put AUTOBUILD in proper form. For now, assume that AUTOBUILD has not yet been normalized.
2015-01-22Disambiguate constructor's initialization call to its base class.Nat Goodspeed
A particular LLInitParam::TypeValuesHelper specialization is derived from a different TypeValuesHelper specialization. The subclass constructor TypeValuesHelper(...) has previously forwarded the call to its base-class constructor with: TypeValuesHelper(val): TypeValuesHelper(val) {} This is the first time I've looked at that; I'm a bit surprised that previous compilers blithely accept it, and apparently understand the intent. gcc 4.7 complains that we would need to turn on -std=c++11 to support delegating constructors; obviously the second TypeValuesHelper is now assumed to be the class being defined, rather than its base class. Fortunately the class already has typedefs for both specializations, fully qualified with all template parameters, so I simply replaced the second TypeValuesHelper reference with base_t.
2015-01-21Update to llphysicsextensions packages with trial fix for gcc 4.7.Nat Goodspeed
2015-01-21For Linux, add libalut.so.0.0.0.0 and libalut.so.0 to viewer tarball.Nat Goodspeed
The former is the real .so, to which libalut.so is only a symlink. We were packaging the symlink without including its target. (This appears to have changed since our last Vivox drop for Linux.)
2015-01-21Make Linux viewer build consume slplugins package, and copy its filesNat Goodspeed
into eventual viewer package -- instead of finding them in the viewer build tree. Also update Windows to current slplugins package build.
2015-01-21Automated merge with http://bitbucket.org/lindenlab/viewer-tools-updateNat Goodspeed
2015-01-21Merge fix for copying Linux Vivox filesNat Goodspeed
2015-01-21Backed out changeset 1e36e0629994 copying .dylibs on LinuxNat Goodspeed
The .dylib files in the Linux Vivox package were erroneous to start with; while the affected changeset bypassed copy errors, it too was wrong. Now that the Linux Vivox package contains Linux .so files, revert to the correct filenames to copy.
2015-01-20Updated SLVoice references.Aura Linden
2015-01-19Automated merge with http://bitbucket.org/lindenlab/viewer-tools-updateNat Goodspeed
2015-01-19On Linux, don't try to copy SLPlugin or the webkit or gstreamer pluginsNat Goodspeed
since we're not building them as part of the viewer build any more.
2015-01-19Link viewer with OpenAL if appropriateNat Goodspeed
2015-01-19Reorder Boost libraries for Linux linkerNat Goodspeed
2015-01-19Automated merge with http://bitbucket.org/lindenlab/viewer-tools-updateNat Goodspeed
2015-01-16Linux llimagej2ckdu_test.cpp no longer needs obsolete stubs.Nat Goodspeed
Use the same signatures as for the other platforms.
2015-01-16Update to llphysicsextensions builds fixed for 'release' on Linux.Nat Goodspeed
2015-01-16Continue gradually replacing Boost.Lambda with Boost.Phoenix.Nat Goodspeed
For some reason, after the upgrade to Boost 1.57, gcc 4.6.3 has trouble with the boost::lambda::_1 usage in stringize.h. This is consistent with other cases we've encountered in which Boost.Lambda appears to be unmaintained and losing its compatibility with other libraries. Fortunately Phoenix provides a functional equivalent, albeit spelled differently.
2015-01-16Add flags to inject extra debugging information (via Sovreign Engineer)callum_linden
2015-01-15Pull in updated Google Breakpad package with /Zcwchar_t- cpp flags set to ↵callum_linden
match viewer
2015-01-14merge changes for fixes from nat and auraOz Linden
2015-01-14Update to llphysicsextensions with fix for platform .MAP pathnames.Nat Goodspeed
2015-01-14Update to llphysicsextensions with platform-specific MAP pathnames.Nat Goodspeed
2015-01-14Integrate Callum's Mac slplugins packageNat Goodspeed
2015-01-14remove support for Debug buildsOz Linden
2015-01-13Updated breakpad repos again. Thanks Windows.Aura Linden
2015-01-13changes to fix compiler warnings merged in from viewer-releaseOz Linden
2015-01-13Updated google breakpad package.Aura Linden
2015-01-13merge changes for 3.7.24-releaseOz Linden
2015-01-12On Mac, if we can't symlink .dylibs, print error message and continue.Nat Goodspeed
To this point, we've been failing the build with a Python OSError traceback, which is less than ideal.
2015-01-12Merged autobuild.Aura Linden
2015-01-12Latest google-breakpad repo to fix Mac Yosemite issues.Aura Linden
2015-01-12merge changes for latest fixes from nat and callumOz Linden
2015-01-12Update llphysicsextensions_* to 297894, 297895 with Callum's path fixes.Nat Goodspeed
2015-01-12increment viewer version to 3.7.25Oz Linden
2015-01-12Added tag 3.7.24-release for changeset d3d0101e980eOz Linden
2015-01-12Experimentally try full-size LLLeap stream test on Windows.Nat Goodspeed
The new toolchain may (!) have fixed a longstanding bug in LLLeap / APR when we try to pump large volumes of data through a Windows named pipe using APR nonblocking I/O. This used to fail pretty consistently because the APR nonblocking write call would sometimes spuriously return "would block" when in fact the data buffer was completely written; the caller would later retry, which of course would duplicate some of the data in the pipe. Preliminary experiments with VS 2013 suggest this may have been resolved. This changeset is to propagate the experiment to a wider range of Windows systems; we may need to revert it if in fact the bug persists.
2015-01-12Update viewer_package.py to grab slplugin.exe et al. from package.Nat Goodspeed
This only applies to the Windows package so far, because so far only the Windows package exists.
2015-01-12update to 1413 google breakpad buildOz Linden
2015-01-09revert Mac to older google-breakpad for nowOz Linden
2015-01-08Automated merge with ssh://bitbucket.org/lindenlab/viewer-tools-updateNat Goodspeed
2015-01-08point to new version of llphysicsextensions (source, not stub) with updated ↵callum_linden
path to second life map file
2015-01-08point to new version of llphysicsextensions with updated path to second life ↵callum_linden
map file
2015-01-08Rationalize use of AUTOBUILD environment variable across languages.Nat Goodspeed
Ensure that AUTOBUILD is always in native path syntax on every platform. Remove local build.sh logic to infer AUTOBUILD: either the generic build.sh has set it properly, or scream for help. Since cygwin bash scripts need a cygwin-syntax path to autobuild, convert to a local 'autobuild' variable using shell_path. Remove kludges in other languages involving cygdrive twiddling.