summaryrefslogtreecommitdiff
path: root/indra/llcommon/CMakeLists.txt
AgeCommit message (Collapse)Author
2011-04-26FIX CHOP-629: Enabled debugging info for llcommon.dllbrad kittenbrink
2011-04-05merge changes for STORM-1051Oz Linden
2011-03-09Fix for "doubleton" error using LLInstanceTracker across shared library ↵brad kittenbrink
boundaries.
2011-02-11explicitly import ZLIB.Alain Linden
2011-02-05Introduces a LLThreadLocalData class that can beAleric Inglewood
accessed through the static LLThread::tldata(). Currently this object contains two (public) thread-local objects: a LLAPRRootPool and a LLVolatileAPRPool. The first is the general memory pool used by this thread (and this thread alone), while the second is intended for short lived memory allocations (needed for APR). The advantages of not mixing those two is that the latter is used most frequently, and as a result of it's nature can be destroyed and reconstructed on a "regular" basis. This patch adds LLAPRPool (completely replacing the old one), which is a wrapper around apr_pool_t* and has complete thread-safity checking. Whenever an apr call requires memory for some resource, a memory pool in the form of an LLAPRPool object can be created with the same life-time as this resource; assuring clean up of the memory no sooner, but also not much later than the life-time of the resource that needs the memory. Many, many function calls and constructors had the pool parameter simply removed (it is no longer the concern of the developer, if you don't write code that actually does an libapr call then you are no longer bothered with memory pools at all). However, I kept the notion of short-lived and long-lived allocations alive (see my remark in the jira here: https://jira.secondlife.com/browse/STORM-864?focusedCommentId=235356&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-235356 which requires that the LLAPRFile API needs to allow the user to specify how long they think a file will stay open. By choosing 'short_lived' as default for the constructor that immediately opens a file, the number of instances where this needs to be specified is drastically reduced however (obviously, any automatic LLAPRFile is short lived). *** Addressed Boroondas remarks in https://codereview.secondlife.com/r/99/ regarding (doxygen) comments. This patch effectively only changes comments. Includes some 'merge' stuff that ended up in llvocache.cpp (while starting as a bug fix, now only resulting in a cleanup). *** Added comment 'The use of apr_pool_t is OK here'. Added this comment on every line where apr_pool_t is correctly being used. This should make it easier to spot (future) errors where someone started to use apr_pool_t; you can just grep all sources for 'apr_pool_t' and immediately see where it's being used while LLAPRPool should have been used. Note that merging this patch is very easy: If there are no other uses of apr_pool_t in the code (one grep) and it compiles, then it will work. *** Second Merge (needed to remove 'delete mCreationMutex' from LLImageDecodeThread::~LLImageDecodeThread). *** Added back #include <apr_pools.h>. Apparently that is needed on libapr version 1.2.8., the version used by Linden Lab, for calls to apr_queue_*. This is a bug in libapr (we also include <apr_queue.h>, that is fixed in (at least) 1.3.7. Note that 1.2.8 is VERY old. Even 1.3.x is old. *** License fixes (GPL -> LGPL). And typo in comments. Addresses merov's comments on the review board. *** Added Merov's compile fixes for windows.
2011-01-28Extend LLEventAPI to directly call other functions & methods.Nat Goodspeed
Until now, LLEventAPI has only been able to register functions specifically accepting(const LLSD&). Typically you add a wrapper method to your LLEventAPI subclass, register that, have it extract desired params from the incoming LLSD and then call the actual function of interest. With help from Alain, added new LLEventAPI::add() methods capable of registering functions/methods with arbitrary parameter signatures. The code uses boost::fusion magic to implicitly match incoming LLSD arguments to the function's formal parameter list, bypassing the need for an explicit helper method. New add() methods caused an ambiguity with a previous convenience overload. Removed that overload and fixed the one existing usage. Replaced LLEventDispatcher::get() with try_call() -- it's no longer easy to return a Callable for caller to call directly. But the one known use of that feature simply used it to avoid fatal LL_ERRS on unknown function-name string, hence the try_call() approach actually addresses that case more directly. Added indra/common/lleventdispatcher_test.cpp to exercise new functionality.
2010-11-18Merge with viewer-developmentMark Palange (Mani)
2010-11-09start of a thread safe queueAndrew A. de Laix
2010-11-05STORM-105 : Take Vadim code review into account, code clean upMerov Linden
2010-10-22Merge with viewer-developmentMerov Linden
2010-10-12Pull update from viewer-developmentMerov Linden
2010-10-14Merge from http://hg.secondlife.com/viewer-identity (display names)Leyla Farazha
2010-10-08Merge fixes for VWR-23047, VWR-20911, and SNOW-748Oz Linden
2010-09-27MergeLeyla Farazha
2010-09-16Merged VWR-23047 (SNOW-512, -fPIC for 64bit) and follow-ups (VWR-20911 & ↵Boroondas Gupte
SNOW-748)
2010-09-08VWR-22761 : Rearchitecture of llmetricperformancetester and simple (non ↵Merov Linden
complete) implementation in llimagej2c
2010-08-31SNOW-748 FOLLOWUP make CMake if indentation consistent with other ↵Boroondas Gupte
occurrences (i.e. two spaces only)
2010-08-31SNOW-748 FIXED Building on OSX 10.6 fails with "warning: -mdynamic-no-pic ↵Boroondas Gupte (original patches by Aimee Linden)
overrides - fpic or -fPIC" Originally commited at http://svn.secondlife.com/trac/linden/changeset/3499/projects/2010/snowglobe and http://svn.secondlife.com/trac/linden/changeset/3501 SVN changeset 3499 partially applied with --ignore-whitespace: Hunk #1 FAILED at 259. Hunk #2 FAILED at 265. 2 out of 2 hunks FAILED -- saving rejects to file indra/llcommon/CMakeLists.txt.rej patching file indra/media_plugins/webkit/CMakeLists.txt Hunk #1 succeeded at 33 with fuzz 1 (offset -8 lines). patching file indra/media_plugins/base/CMakeLists.txt patching file indra/media_plugins/gstreamer010/CMakeLists.txt patching file indra/media_plugins/example/CMakeLists.txt patching file indra/llplugin/CMakeLists.txt Manually applied to indra/llcommon/CMakeLists.txt (straight forward). SVN changeset 3501 applied with fuzz 1: patching file indra/media_plugins/webkit/CMakeLists.txt Hunk #1 succeeded at 33 with fuzz 1 (offset -8 lines). Hunk #2 succeeded at 39 with fuzz 1 (offset -8 lines). No further changes other than that.
2010-09-16SNOW-512/SNOW-287: Build of LLPlugin fails on 64bit linux due to non PIC ↵Boroondas Gupte (daggyfied changeset by Techwolf Lupindo, original fix by Robin Cornelius)
code linking into the DSO Formatting, cleanup, and one minor change by Techwolf Lupindo. Minor change was a move of the hunk in indra/media_plugins/webkit/CmakeLists.txt to same area as the other plugins CmakeLists.txt files. daggyfied version of https://bitbucket.org/Techwolf/viewer-development/changeset/00bd21962052
2010-08-20added llfasttimer_class.h to projectRichard Nelson
2010-06-21Merge with q/viewer-releaseLeyla Farazha
2010-06-10Merging latest dessie/viewer-release into brad/viewer-publicLynx Linden
2010-06-01EXT-3780 FIX Added llprocessor regression testMark Palange (Mani)
2010-05-21Added call to use_prebuilt_binary for google-breakpad so it actually gets ↵brad kittenbrink
installed by install.py.
2010-05-21Switch Darwin to use breakpad minidump rather than os generated crash stack.Andrew A. de Laix
2010-05-11merge from dessie/viewer-public right before SLE code landedJames Cook
2010-05-03EXT-3780 Added linux impl - wipMark Palange (Mani)
2010-04-22Implemented EXT-6724(normal task) - Implement flat list view of filtered ↵Dmitry Zaporozhan
inventory for "add wearables" panel of outfit editor 1. Modified LLInventoryItemsList - implemented delayed item construction. Items are added during draw, not more than 50 items will be added in single draw. This lets us reduce system overload during multiple panel construction. 2. Implemented LLFilteredWearableListManager to populate inventory flat list with data. This class filters entire inventory according to specified filter and populates specified inventory list with data. 3. Created LLCommonUtil::computeDifference() to avoid code copy-pasting(will use it in all appropriate places in next review request) Reviewed by Mike Antipov - https://codereview.productengine.com/secondlife/r/301/ --HG-- branch : product-engine
2010-02-11Created stub LLAvatarNameCache for display name lookup, asJames Cook
well as LLAvatarName base data object. Reviewed with Kelly.
2010-02-06make the instancetracker unit test really, like, work. before I fiddle with ↵Tofu Linden
a big pile of stuff.
2010-02-06move LLEventTimer into its own source module. everyone includes it, almost ↵Tofu Linden
no-one wants it. now I can dick with it a bit without rebuilding the world, at least. :)
2010-01-25DEV-45468 'SNOW-108: Fast timers are broken / badly-scaled on linux' ready ↵Tofu Linden
to merge. legacy coding policy fix-up.
2010-01-25shuffle shuffle of timer code. cleanup.Tofu Linden
2010-01-11intermediate commit, to pass to windows machinepalange
2009-12-03Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/Nat Goodspeed
2009-11-30Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/Nat Goodspeed
2009-11-30DEV-43463: Keep LLEventPump's LLStandardSignal alive during post()Nat Goodspeed
Replace LLEventPump's boost::scoped_ptr<LLStandardSignal> with boost::shared_ptr. Take a local stack copy of that shared_ptr in post() methods, and invoke the signal through that copy. This guards against scenario in which LLEventPump gets destroyed during signal invocation. (See Jira for details.) Re-enable Mani's test case that used to crash. Introduce ll_template_cast<> to allow a template function to recognize a parameter of a particular type. Introduce LLListenerWrapper mechanism to support wrapper objects for LLEventPump listeners. You instantiate an LLListenerWrapper subclass object inline in the listen() call (typically with llwrap<>), passing it the real listener, trusting it to forward the eventual call. Introduce prototypical LLCoutListener and LLLogListener subclasses for illustrative and diagnostic purposes. Test that LLLogListener doesn't block recognizing LLEventTrackable base class bound into wrapped listener.
2009-11-18Allow USE_GOOGLE_PERFTOOLS to be set to on. For memory managerPalmer
Reviewed by Bao
2009-11-28Fix build, missed a file and items need LL_COMMON_APIJames Cook
2009-11-28Migrated LLUUIDs and some float constants out of headers into .cpp filesJames Cook
Moved some functions with llinfos into .cpp files Linker optimizations, all
2009-11-28Move hard-coded image IDs to .cpp file to speed link time.James Cook
2009-11-27Add CMake var LL_TESTS to optionally disable tests for build timingJames Cook
2009-11-11Add LLEventAPI class, formalizing the mechanism by which we wrap a C++ APINat Goodspeed
with an event API. In addition to the LLEventPump name on which to listen, LLEventAPI accepts a documentation string for event API introspection. Give every LLEventDispatcher::add() overload a new documentation string parameter for event API introspection. Convert every existing event API to new conventions, introducing suitable documentation strings for the API and each of its operations.
2009-11-10Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/Nat Goodspeed
2009-11-10Enhance LLInstanceTracker variants to be more uniform.Nat Goodspeed
For both the (so far unused) generic KEY form and the KEY = T* form, provide key_iter, beginKeys(), endKeys(). Change instance_iter so that when dereferenced, it gives you a T& rather than a T*, to be more harmonious with a typical STL container. (You parameterize LLInstanceTracker with T, not with T*.) Fix existing usage in llfasttimer.cpp and lltimer.cpp to agree. For the KEY = T* specialization, add T* getInstance(T*) so client isn't forced to know which variant was used. Add unit tests for uniformity of public operations on both variants.
2009-11-05Removed search_dirs and dst_path arguments from ll_deploy_sharedlibs_command()palange
Fixed mac breakage.
2009-11-05Merge of my DEV-41724/DEV-41725 work with viewer-2-0brad kittenbrink
normalizing shared library staging on all 3 platforms. Test executables should now run in the debugger.
2009-11-04Wrap-up work for DEV-41724/DEV-41725 - normalizing shared library staging on ↵brad kittenbrink
all 3 platforms. Should now work out of the box on all 3 platforms and in the debugger.
2009-11-04Redo Bao's broken mergeBryan O'Sullivan
2009-10-26Beginning work for DEV-41722 normalizing shared lib staging on all 3 ↵brad kittenbrink
platforms. Renamed CopyWinLibs.cmake to Copy3rdPartyLibs.cmake.