summaryrefslogtreecommitdiff
path: root/indra/llcorehttp/CMakeLists.txt
AgeCommit message (Collapse)Author
2021-08-12Merge branch 'master' into DRTVWR-520-apple-notarizationAndrey Lihatskiy
# Conflicts: # autobuild.xml # build.sh # indra/CMakeLists.txt # indra/newview/CMakeLists.txt # indra/newview/llappviewermacosx.cpp # indra/newview/llappviewerwin32.h # indra/newview/viewer_manifest.py # indra/win_crash_logger/llcrashloggerwindows.cpp
2021-05-12SL-10297: Merge branch 'sl-10297-oz' into sl-10297.Nat Goodspeed
Bring in Oz's tweaks to the way BugSplat is engaged and tested, plus a few other miscellaneous goodies.
2021-04-30Merge branch 'master' into DRTVWR-520-apple-notarizationAndrey Lihatskiy
2021-03-17SL-14541 follow-up xcode buildfixAndrey Lihatskiy
2021-01-18SL-14597 Missed libraries for http testAndrey Kleshchev
2020-08-24SL-10297 merged 6.4.7Oz Linden
2020-03-25DRTVWR-476: Remove special llcorehttp test memory manager.Nat Goodspeed
NickyD discovered that the substitute default allocator used for llcorehttp tests was returning badly-aligned storage, which caused access violations on alignment-sensitive data such as std::atomic. Thanks Nicky!! Moreover, the llcorehttp test assertions regarding memory usage, well- intentioned though they are, have been causing us trouble for years. Many have already been disabled. The problem is that use of test_allocator.h affected *everything* defined with that header file's declarations visible. That inevitably included specific functions in other subsystems. Those functions then (unintentionally) consumed the special allocator, throwing off the memory tracking and making certain memory-related assertions consistently fail. This is a particular, observable bad effect of One Definition Rule violations. Within a given program, C++ allows multiple definitions for the same entity, but requires that all such definitions be the same. Partial visibility of the global operator new() and operator delete() overrides meant that some definitions of certain entities used the default global allocator, some used llcorehttp's. There may have been other, more subtle bad effects of these ODR violations. If one wanted to reimplement verification of the memory consumption of llcorehttp classes: * Each llcorehttp class (for which memory tracking was desired) should declare class-specific operator new() and operator delete() methods. Naturally, these would all consume a central llcorehttp-specific allocator, but that allocator should *not* be named global operator new(). * Presumably that would require runtime indirection to allow using the default allocator in production while substituting the special allocator for tests. * Recording and verifying the memory consumption in each test should be performed in the test-object constructor and destructor, rather than being sprinkled throughout the test<n>() methods. * With that mechanism in place, the test object should provide methods to adjust (or entirely disable) memory verification for a particular test. * The test object should also provide a "yes, we're still consuming llcorehttp memory" method to be used for spot checks in the middle of tests -- instead of sprinkling in explicit comparisons as before. * In fact, the llcorehttp test object in each test_*.hpp file should be derived from a central llcorehttp test-object base class providing those methods.
2020-03-25DRTVWR-476: Add LLCOREHTTP_TESTS CMake var, OFF by default on Mac.Nat Goodspeed
Hopefully this is temporary until we solve the problem of crashy llcorehttp test executable on Mac.
2020-03-25[DRTVWR-476] - revertAnchor
2020-03-25[DRTVWR-476] - disable llcorehttp test on macAnchor
2020-03-25[DRTVWR-476] - temporarily disable llcorehttptest on macAnchor
2020-03-25[DRTVWR-476] - fix linkingAnchor
2019-03-02convert to an explicit USE_BUGSPLAT switch in cmake, revise LL_ERRS approachOz Linden
2018-05-24MAINT-8675: In Darwin-specific CMake, use cp, not cmake -E copy.Nat Goodspeed
cmake -E copy does only one file at a time, and older CMake versions don't handle wildcards. But cmake -E copy is specifically for portability. When the copy operation itself is Darwin-only, we can count on having 'cp' available.
2018-01-18copy all versions of libnghttp for testsOz Linden
2017-09-27MAINT-7081: Mention nghttp2 library wherever it must be mentioned.Nat Goodspeed
2017-07-28MAINT-7634: Move StatsAccumulator into llcommon, collect data sent and error ↵Rider Linden
codes from core.
2017-02-03Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2016-12-10DRTVWR-418: Update some copy commands for 3p library versions.Nat Goodspeed
2016-12-08DRTVWR-418: Change Mac build_directory to build-darwin-x86_64Nat Goodspeed
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-07DRTVWR-418: Merge backout that restores llcorehttp tests.Nat Goodspeed
2016-12-07Backed out changeset fbcb5f5fb015: restore llcorehttp tests.Nat Goodspeed
2016-12-07big hammer - temporarily disable llcorehttp tests completelyOz Linden
2016-12-07DRTVWR-418: Suppress llcorehttp tests until we solve TC harness issues.Nat Goodspeed
2016-09-27MAINT-5232: Ensure BOOST_SYSTEM_LIBRARY follows BOOST_THREAD_LIBRARY.nat@linux-build-phx8.lindenlab.com
In recent versions of Boost, BOOST_THREAD_LIBRARY depends on BOOST_SYSTEM_LIBRARY. In llcorehttp/CMakeLists.txt, these were incorrectly ordered for Linux. Somewhat oddly, that appears to have caused Linux link errors even in llmath. Fix at least this problem.
2016-05-19Automated merge with tip of viewer-release to pick up 4.0.5callum_linden
2016-04-21DRTVWR-418 remove vestiges of TCMALLOC and GooglePerfTools from the viewercallum_linden
2016-04-04merge with 4.0.3-releaseOz Linden
2016-03-07MergeRider Linden
2016-03-07merge with El Capitan and packaging fixesOz Linden
2016-02-17kludge for darwin builds on el capitanJJ Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-09-23Remove ares dependency from build.Rider Linden
2015-09-15MAINT-5507: Remove llcurl, move constant values and untilities to llcorehttp libRider Linden
2015-08-19Break circular dep. Things get cranky.Rider Linden
2015-08-18MAINT-5506: Establish circular dependency between LLMessage & LLCoreHttpRider Linden
2015-07-09Suppress http_proxy env var for llcorehttp integration test.Nat Goodspeed
Sometimes it can be useful to have http_proxy set in the environment, but if we leave it set while INTEGRATION_TEST_llcorehttp is running, the test hangs. Suppress that variable for that integration test.
2014-01-09fixed unit tests being generated as Windows GUI projects instead of console ↵Richard Linden
projects
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2012-12-07Removed duplicated block of code in LLAddBuildTest.cmake. Added comment to ↵Logan Dethrow
point to duplicated code. Replaced hard-coded tcmalloc link option with variable that is created in GooglePerfTools.cmake.
2012-11-16Certain test and example programs now need the Boost.System library.Nat Goodspeed
2012-09-07DRTVWR-209 Merge of viewer-development with SH-3316 drano-http code.Monty Brandenberg
Cmake files not merged correctly and had to be done by hand. New memory allocation made some memory usage tests in the llcorehttp integration tests no longer valid. Would like to work on LLLog sometime and get it to be consistent. Special flags needed for windows build of example program.
2012-06-22This sets down the groundwork for dynamic policy classes.Monty Brandenberg
Groundwork is used for the default class which currently represents texture fetching. Class options implemented from API user into HttpLibcurl. Policy layer is going to start doing some traffic shaping like work to solve problems with consumer-grade gear. Need to have dynamic aspects to policies and that starts now...
2012-06-21SH-3177 Add streambuf/iostream adapters to BufferArray object.Monty Brandenberg
Initial version that should have enough of the plumbing to produce a working adapter. Memory test is showing 8 bytes held after one of the tests so I'm going to revisit that later. But basic functionality is there going by the unit tests.
2012-06-19Cleanup: move magic nubmers to new _httpinternal.h header file.Monty Brandenberg
2012-06-15Ported example (freestanding) program to drive API & generate performance ↵Monty Brandenberg
numbers. This is a command-line utility to pull content down from a service through the llcorehttp library to produce timings and resource footprints.
2012-06-12HTTP Proxy, PUT & POST, unit tests and refactoring.Monty Brandenberg
Implemented/modified PUT & POST to not used chunked encoding for the request. Made the unit test much happier and probably a better thing for the pipeline. Have a cheesy static & dynamic proxy capability using both local options and a way to wire into LLProxy in llmessages. Not a clean thing but it will get the proxy path working with both socks5 & http proxies. Refactoring to get rid of unneeded library handler and unified an HttpStatus return for all requests. Big batch of code removed as a result of that and more is possible as well as some syscall avoidance with a bit more work. Boosted the unit tests for simple PUT & POST test which revealed the test harness does *not* like chunked encoding so we'll avoid it for now (and don't really need it in any of our schemes).
2012-06-11Bring in the testrunner/http server scaffold for better integration testing.Monty Brandenberg
This brings in a copy of llmessage's llsdmessage testing server. We run a mocked HTTP service to handle requests and the integration tests run against it by picking up the LL_TEST_PORT environment variable when running. Add some checks and output to produce useful info when run in the wrong environment and when bad status is received. Later will add a dead port as well so we can test that rather than use 'localhost:2'.
2012-06-06Policy + caching fixes + https support + POST workingMonty Brandenberg
Implemented first global policy definitions to support SSL CA certificate configuration to support https: operations. Fixed HTTP 206 status handling to match what is currently being done by grid services and to lay a foundation for fixes that will be a response to ER-1824. More libcurl CURLOPT options set on easy handles to do peer verification in the traditional way. HTTP POST working and now reporting asset metrics back to grid for the viewer's asset system. This uses LLSD so that is also showing as compatible with the new library.
2012-06-01Delete a file, edit cmakelists.txt.Monty Brandenberg