Commit Graph

36869 Commits (03d65d4ec49d66d1a095208b35dceccf36883cc2)

Author SHA1 Message Date
Nat Goodspeed 03d65d4ec4 DRTVWR-418: Deal with fatal warning 'unsafe mix of bool and BOOL' 2016-12-21 11:33:58 -05:00
Nat Goodspeed b3212f873d DRTVWR-418: Harmless change to kick the TeamCity build. 2016-12-21 10:43:42 -05:00
Nat Goodspeed 1cbdfce396 DRTVWR-418: Avoid constructing symlink cycle for CEF framework. 2016-12-20 21:27:40 -05:00
Nat Goodspeed 7359ec3ed8 DRTVWR-418: Temporarily suppress Havok in darwin64 builds. 2016-12-20 16:46:06 -05:00
Nat Goodspeed e575abe99f DRTVWR-418: Create CEF framework symlink from LLCefLib Helper.app.
Without that symlink, the helper app can't find CEF and we get no web content.
2016-12-20 16:44:51 -05:00
Nat Goodspeed a1a395b679 DRTVWR-418: Make viewer_manifest.py copy current libexpat.1.dylib. 2016-12-20 15:42:57 -05:00
Nat Goodspeed 8643954c70 DRTVWR-418: Update GLOD with build that's really 64-bit on Mac. 2016-12-20 15:11:20 -05:00
Nat Goodspeed be3e3fca32 DRTVWR-418: Fix libhunspell references to reflect current package. 2016-12-20 15:05:02 -05:00
Nat Goodspeed 6bc9504248 DRTVWR-418: Rationalize LLPipeline API.
Someone evidently figured every static LLPipeline method should have at least
one void* parameter. There were methods requiring void* parameters that were
completely ignored.

More to the point, there were methods whose callers have a U32 in hand -- and
which want to use a U32 -- but which bizarrely forced callers to cast to void*
just so the method could cast back to U32. In a 64-bit compile, this isn't
merely pointless, it's erroneous. Change all such methods to accept U32;
remove (void*) casts from call sites.

While at it, fix LLPipeline API to use bool, true, false rather than their
obsolete all-caps predecessors. Once you eat that first potato chip... :-P
2016-12-20 11:44:16 -05:00
Nat Goodspeed bcb4f2900b DRTVWR-418: operator comparison methods should be const.
clang has started to reject our non-const comparison operator methods used
within standard algorithms.
2016-12-20 11:01:17 -05:00
Nat Goodspeed 65cf4912f6 DRTVWR-418: Another fix for std::string::find() return type. 2016-12-20 10:42:22 -05:00
Nat Goodspeed 573287b50f DRTVWR-418: Fix API for LLTracker::stopTracking().
The signature for LLTracker::stopTracking() was silly: it accepted a void* for
the sole purpose of testing whether it was NULL. In other words, the parameter
was really a bool in void* clothing. Most callers passed NULL.

What got ugly was when you wanted to pass 'true', or a variable bool value.
Such values had to be cast to void*. In 64-bit land, the compiler correctly
flags that as extremely dubious practice.

But it's entirely unnecessary. Since stopTracking() wants a bool, change its
parameter to bool. Everybody wins.

(While at it, change a few related method params from BOOL to builtin bool.)
2016-12-20 09:44:10 -05:00
Nat Goodspeed 2499f6bcff DRTVWR-418: Casting pointer to BOOL is just wrong.
Since BOOL is simply a typedef for int, casting a 64-bit pointer to 32-bit int
is correctly diagnosed by the compiler as an error.

What works is to cast the pointer to (lowercase) bool, the builtin type, which
engages the compiler's test for "is this pointer NULL?"
2016-12-20 09:39:31 -05:00
Nat Goodspeed 42b8895c54 DRTVWR-418: Untangle LLWLParamKey, LLWLAnimator circularity.
LLWLAnimator stores a std::map<F32, LLWLParamKey>. But llwlanimator.h only
forward-declared LLWLParamKey, begging the question of how this ever compiled
on any previous platform.

LLWLParamKey was declared for real in llwlparammanager.h, so the obvious fix
is to #include "llwlparammanager.h" in llwlanimator.h. Unfortunately this
doesn't work because llwlparammanager.h already #includes "llwlanimator.h".

As the dependency is specifically on LLWLParamKey, which isa LLEnvKey, which
is declared in llenvmanager.h, move LLWLParamKey to llenvmanager.h. Then we
can #include "llenvmanager.h" in llwlanimator.h instead of merely forward-
declaring LLWLParamKey.

This migration compiles LLWLParamKey in a context in which LLTrans isn't
visible. It's not really clear why all LLWLParamKey's methods are inline, but
toString() -- the method that requires LLTrans -- isn't going to be fast in
any case. Break toString() out to llenvmanager.cpp, and #include "lltrans.h"
there.
2016-12-20 09:33:40 -05:00
Nat Goodspeed c992a6df9f DRTVWR-418: std::string::find() returns std::string::size_type.
Storing it in a U32 and then comparing it to std::string::npos isn't going to
work in 64 bit land.
2016-12-20 09:20:38 -05:00
Nat Goodspeed 553f9843b0 DRTVWR-418: Update to darwin64 llceflib with libc++, not libstdc++. 2016-12-19 23:00:34 -05:00
Nat Goodspeed 555259e50f DRTVWR-418: Avoid casting sa_sigaction to unsigned int for comparing.
It's not really clear to me why the original coder felt it necessary to cast
the two sigaction::sa_sigaction fields to unsigned int in the first place, but
in a 64-bit clang compile, that discards information.
2016-12-19 22:51:40 -05:00
Nat Goodspeed f130b648b4 DRTVWR-418: Use $LL_BUILD to set most switches in 00-Common.cmake.
Going forward, the intention is to set in 00-Common.cmake only switches not
already set for ALL viewer-related libraries in
https://bitbucket.org/lindenlab/viewer-build-variables/src/tip/variables.

To that end, remove all switches redundant with settings from that file.
Remove redundancies within 00-Common.cmake.
Remove cruft testing for gcc versions older than 4.3.
2016-12-19 18:55:31 -05:00
Nat Goodspeed 40fb9d3e58 DRTVWR-418: Use U32 for int (and hex) of HttpStatus in 64-bit too.
Turns out that Monty didn't intend for the int-flavored representation of
HttpStatus to expand to 64 bits even when unsigned long is that wide. So
change the implicit conversion operator, and its uses, to U32 instead. That
produces a consistent toHex() result for both 32-bit and 64-bit builds.
2016-12-19 16:30:19 -05:00
Nat Goodspeed 1df282efa1 DRTVWR-418: Fix streamtools test.
When std::istream::good() returns false, presumably we can no longer rely on
get() returning valid data. Certain streamtools tests were assuming that get()
would return the empty string at EOF, but in fact it appears that it left the
previous buffer contents unmodified.
2016-12-19 15:58:52 -05:00
Nat Goodspeed fd79bb9c7d DRTVWR-418: Merge backout of TYPE_INDEX / TYPE_MAX change 2016-12-17 11:09:48 -05:00
Nat Goodspeed 4c95587dc3 Backed out changeset bb47510bda62: don't change TYPE_MAX.
Ruslan points out that changing TYPE_MAX could lead to extra (useless) render
passes. We will have to solve the TYPE_INDEX > TYPE_MAX problem another way.
2016-12-17 11:09:09 -05:00
Nat Goodspeed 1298961066 DRTVWR-418: Update dubious llvertexbuffer.cpp cast comment.
Ruslan assures me that in fact this usage is valid.
2016-12-17 11:07:20 -05:00
Nat Goodspeed 050294a23c DRTVWR-418: Fix a (correct) clang correctness complaint.
LLStatGraph::Threshold has an operator<(const Threshold& other) -- but because
the method itself wasn't marked const, it could only be used on a non-const
instance. This change fixes a case when it was applied to const instances.
2016-12-16 19:14:55 -05:00
Nat Goodspeed c1ae63a872 DRTVWR-418: Work around dubious cast from S32 to GLvoid*
when passing -- something -- to glVertexAttribPointerARB() in
LLVertexBuffer::setupVertexArray().
2016-12-16 19:08:24 -05:00
Nat Goodspeed a4b0159d57 DRTVWR-418: Adjust HttpStatus::toHex() test for 64-bit result. 2016-12-16 19:05:59 -05:00
Nat Goodspeed 93268cb47a DRTVWR-418: Put TYPE_INDEX within TYPE_MAX: stop undefined indexing.
LLVertexBuffer::TYPE_INDEX was past TYPE_MAX, which is used to set the maximum
sizes of various (scattered) arrays, bleh. The alarm bells that this SHOULD
set off are indeed correct: TYPE_INDEX was being used to index at least one of
those arrays, meaning we've been indexing past the end of that array, meaning
undefined behavior.

The enum that defines both TYPE_INDEX and TYPE_MAX provides a helpful comment
indicating what things must be updated when modifying the enum. (Far better to
define things centrally in a single place... but another time.) Update the
designated arrays to include a final TYPE_INDEX entry. Contents of those
entries are wild guesses -- but even wild guesses are better than completely
indeterminate data.
2016-12-16 17:03:45 -05:00
Nat Goodspeed aa5a591aa7 Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2016-12-16 08:55:38 -05:00
Callum Prentice c9f6905e60 Pull in an updated version of FMODEx with crash fixes (version 4.44.61 -> 4.44.64) 2016-12-15 16:24:50 -08:00
Nat Goodspeed 89cd49f60f DRTVWR-418: -Wl,-no_compact_unwind switch breaks exception catching!
In a clang 64-bit compile, with that switch set in CMAKE_CXX_LINK_FLAGS, we
cannot catch any user exception. This shows up right away because TUT relies
on internal exceptions to walk through test<n>() test methods, but of course
being unable to catch any exceptions in the viewer would be just as bad.

A quick Google search turned up lots of people mentioning -no_compact_unwind
without finding any documentation about what it's supposed to be good for. But
since no tests work with it, whereas they work without it -- kill it.
2016-12-15 16:41:30 -05:00
Callum Prentice 067468885a BUG-41027 (FIX) Changing login location at the login screen crashes the viewer 2016-12-15 10:58:23 -08:00
Nat Goodspeed 3cf542d81d DRTVWR-418: Store std::string::find() result in size_t, not U32.
In a 64-bit build, std::string::npos is way bigger than a U32.
2016-12-15 09:35:12 -05:00
Nat Goodspeed 61fcda2c02 DRTVWR-418: Update to llceflib 501501 with darwin64 package 2016-12-15 09:12:22 -05:00
Nat Goodspeed 3b34cfd93a DRTVWR-418: Derive certain CMAKE_XCODE_etc. vars from LL_BUILD. 2016-12-14 09:12:33 -05:00
Nat Goodspeed d0e166fe8a DRTVWR-418: Remove build_variables_repository_url from BuildParams.
That should be set in TeamCity template hierarchy; don't override it.
2016-12-13 15:30:51 -05:00
Nat Goodspeed a011037306 DRTVWR-418, BUG-41026: Double default coroutine stack size.
Also make it Persist so if someone hand-edits it to try to find a more
suitable size, they won't have to keep re-editing it for every session.
2016-12-13 15:23:00 -05:00
Nat Goodspeed 4ff2559458 DRTVWR-418: Update to breakpad 501475, first true 64-bit Mac build. 2016-12-12 20:02:11 -05:00
Nat Goodspeed b4902eb82a DRTVWR-418: Update to jsoncpp build 501464: actual darwin64 build 2016-12-12 15:14:03 -05:00
Nat Goodspeed 45a32ed14d DRTVWR-418: Align minimum OS X version with viewer-build-variables. 2016-12-12 11:50:25 -05:00
Nat Goodspeed 771c7dd3c0 DRTVWR-418: Update some copy commands for 3p library versions. 2016-12-10 12:12:51 -05:00
Nat Goodspeed 8a3ea42a21 DRTVWR-418: Fix autobuild.xml AGAIN 2016-12-09 15:45:49 -05:00
Nat Goodspeed 76f841c0f7 DRTVWR-418: Update to llphysicsextensions_* 501415, 501416 2016-12-09 15:16:55 -05:00
nat_linden bf0a0807de Merged in lindenlab/nat_viewer64 (pull request #6)
DRTVWR-418: Change Mac build_directory to build-darwin-x86_64 since we no longer support 32-bit Mac builds.
2016-12-09 13:05:58 -05:00
Oz Linden ebff86a52c increment minor version for p64 project 2016-12-09 10:21:37 -05:00
Oz Linden 2906a61a93 remove non-functional attempt to load llbase from the viewer tree; it is not there any more 2016-12-09 10:20:59 -05:00
Oz Linden 84ba2a8797 move some cmake messages that are not warnings from stderr to stdout 2016-12-09 09:23:32 -05:00
Oz Linden 1d6c68449e Simplify version line in the About box, add address size to it 2016-12-09 08:17:05 -05:00
Oz Linden 09b88cf4af add AUTOBUILD_ADDRSIZE to symbol file name for clarity, change output tag to just "Symbolfile" 2016-12-09 08:12:15 -05:00
Nat Goodspeed e6513c1eee DRTVWR-418: Change Mac build_directory to build-darwin-x86_64
since we no longer support 32-bit Mac builds.

The old build-darwin-i386 directory name appeared in a shocking number of
files. Change CMake paths to use ${CMAKE_BINARY_DIR} -- or, when trying to
find the packages subdirectory, ${AUTOBUILD_INSTALL_DIR}. Change the rest to
at least look for build-darwin-*.
2016-12-08 12:31:30 -05:00
Oz Linden 6976377aa1 use native paths for llphysicsextensions_package file name 2016-12-08 10:11:58 -05:00