summaryrefslogtreecommitdiffstats
path: root/lldb/cmake
Commit message (Collapse)AuthorAgeFilesLines
...
* Switch to gold linker on android x86, x86_64, armTamas Berghammer2015-12-101-0/+7
| | | | | | | | | | | | These architectures already using the gold linker for the android framework and switching to gold gives us the opportunity to enable ICF. Safe ICF (identical code folding) reduces the size of an optimized and striped binary by ~5%. Differential revision: http://reviews.llvm.org/D15379 llvm-svn: 255240
* Use thumb instruction set for ldb-server on android armTamas Berghammer2015-11-201-1/+1
| | | | | | Differential revision: http://reviews.llvm.org/D14816 llvm-svn: 253657
* Use library discovery for curses and panelBruce Mitchener2015-11-152-2/+17
| | | | | | | | | | | | | | | | | | | Summary: This approach is tunable with custom paths for curses library. It also detects whether there are requirements met. I make use of it on NetBSD. Patch by Kamil Rytarowski. Thanks! Reviewers: clayborg Subscribers: brucem, joerg, lldb-commits Differential Revision: http://reviews.llvm.org/D14529 llvm-svn: 253151
* LLDBStandalone: Report nice errors on missing varsRamkumar Ramachandra2015-11-101-7/+17
| | | | | | Differential Revision: http://reviews.llvm.org/D13819 llvm-svn: 252624
* Add more NetBSD platform glue for lldbBruce Mitchener2015-11-072-1/+10
| | | | | | | | | | | | | | | | | | Summary: These changes are still incomplete, but we are almost there. Changes: - CMake and gmake code - SWIG code - minor code additions Reviewers: emaste, joerg Subscribers: youri, akat1, brucem, lldb-commits, joerg Differential Revision: http://reviews.llvm.org/D14042 llvm-svn: 252403
* Add go data formatters.Ryan Brown2015-11-051-0/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D13878 llvm-svn: 252109
* Create an expression parser for Go.Ryan Brown2015-11-021-0/+1
| | | | | | | | | | | The Go interpreter doesn't JIT or use LLVM, so this also moves all the JIT related code from UserExpression to a new class LLVMUserExpression. Differential Revision: http://reviews.llvm.org/D13073 Fix merge llvm-svn: 251820
* Correctly include LLVM_EXTERNAL_CLANG_SOURCE_DIR.Chaoren Lin2015-10-291-1/+5
| | | | | | | | | | Reviewers: sas, ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14166 llvm-svn: 251589
* Refactor Windows process plugin to allow code sharing between live and mini ↵Adrian McCarthy2015-10-281-0/+1
| | | | | | dump debugging. llvm-svn: 251540
* Avoid using `..` in paths for include dirs.Stephane Sezer2015-10-281-1/+1
| | | | | | | | | | | | | | | Summary: This breaks when using a symlink from llvm/tools/lldb to the lldb source tree, instead of cloning directly as a child. With this change, we can build properly, even when using links. Reviewers: dawn, brucem, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14089 llvm-svn: 251530
* Use accept4 workaround for MIPS Android build.Chaoren Lin2015-10-271-0/+4
| | | | | | | | | | | | Summary: Similar to http://reviews.llvm.org/rL242319, which was for ARM. Reviewers: chying, ovyalov Subscribers: aemerson, tberghammer, danalbert, srhines, lldb-commits Differential Revision: http://reviews.llvm.org/D14127 llvm-svn: 251439
* Disable the strict-aliasing warnings produced by gccTamas Berghammer2015-10-231-0/+6
| | | | | | | | | | | | | GCC produce a lot of strict-aliasing warning for the LLDB codebase what makes reading the compile output very difficult. This change disable these warnings to reduce the noise as we already ignore them. We should consider re-enabling the warning if we fix all (or most) strict-aliasing violation first. Differential revision: http://reviews.llvm.org/D13981 llvm-svn: 251107
* Disable libxml2 on Windows for now.Zachary Turner2015-10-191-2/+5
| | | | | | | | | | | | | | Newer versions of CMake include a "smarter" FindLibxml2 package. In theory this is a good thing, but on Windows it's now smart enough to find the version that comes with Gnuwin32, which doesn't appear to be a valid libxml2 distribution. Or at the very least, LLDB currently uses some header files from libxml2 that are not part of this distribution. Nobody on Windows is using any of this functionality right now anyway, so just disable it. llvm-svn: 250709
* Fix warnings in LLDBWrapPython.cpp with gcc 4.9.Hafiz Abid Qadeer2015-10-151-1/+1
| | | | | | | | | | | | | | | | | Summary: I see a lot of following warnings in LLDBWrapPython.cpp while building with gcc 4.9 on Linux. "warning: cast from type ‘const char*’ to type ‘char*’ casts away qualifiers [-Wcast-qual]" Is it ok to add -Wno-cast-qual for this file in cmake for gcc. This option seems to be already present for autotool case. Reviewers: zturner, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13719 llvm-svn: 250380
* cmake: provide flag that enables 'log enable --stack' to provide useful ↵Todd Fiala2015-10-142-0/+25
| | | | | | | | | | | | | | | | | | | | file/function info on POSIX systems Adding the following flag to a cmake line: -DLLDB_EXPORT_ALL_SYMBOLS=TRUE will cause all symbols to be exported from liblldb. This enables the llvm backtrace mechanism to see and report backtrace symbols properly when using (lldb) log enable --stack ... Prior to this change, only the SB API symbols would show up on Linux and other systems that use a public-symbols-based backtrace lookup mechanism. log enable --stack ... is a very handy, quick way to understand the flow of how some log lines are getting hit within lldb without having to hook up a top-level debugger over your current debug session. llvm-svn: 250299
* Have CMake translate LLDB_PYTHON_HOME to forward slashes.Zachary Turner2015-10-091-1/+2
| | | | | | | Using backslashes causes the compiler to interpret them as escape sequences. llvm-svn: 249885
* Fix handling of LLDB_VERS_GENERATED_FILE.Bruce Mitchener2015-10-091-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is Darwin only. The symbol defined by ${LLDB_VERS_GENERATED_FILE} is used by source/lldb.cpp, so anything that uses lldb.cpp (which is in lldbBase) should also have the generated symbol. This means that the entire process can be centralized within source/CMakeLists.txt where lldbBase is constructed. Additionally, the custom command should have dependencies on the project file as well as the generation script so that if either changes, the version file is correctly re-generated and everything is re-linked appropriately. * cmake/LLDBDependencies.cmake: Remove everything related to the generated version file from here. * source/CMakeLists.txt: On Darwin, add the generated version file to the sources that make up lldbBase. Also, create a custom target and make lldbBase depend on it to re-generate the generated file as needed. * source/API/CMakeLists.txt: Don't need to build the generated version file here or use it to control linking against swig_wrapper. * tools/lldb-server/CMakeLists.txt: Likewise. Reviewers: dawn, sas, clayborg, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13552 llvm-svn: 249806
* [cmake] Fix cmake build on OSX after r249434.Dawn Perchik2015-10-081-0/+7
| | | | | | | | Reviewed by: zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13535 llvm-svn: 249684
* Make CMake display more readable paths to Python binaries on WindowsBruce Mitchener2015-10-081-3/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously CMake would display messages like these: ``` -- LLDB Found PythonExecutable: $<$<CONFIG:Debug>:C:/Projects/Python-2.7.9-bin/x64/python_d.exe>$<$<NOT:$<CONFIG:Debug>>:C:/Projects/Python-2.7.9-bin/x64/python.exe> -- LLDB Found PythonLibs: $<$<CONFIG:Debug>:C:/Projects/Python-2.7.9-bin/x64/libs/python27_d.lib>$<$<NOT:$<CONFIG:Debug>>:C:/Projects/Python-2.7.9-bin/x64/libs/python27.lib> -- LLDB Found PythonDLL: $<$<CONFIG:Debug>:C:/Projects/Python-2.7.9-bin/x64/python27_d.dll>$<$<NOT:$<CONFIG:Debug>>:C:/Projects/Python-2.7.9-bin/x64/python27.dll> ``` This patch makes the messages look like this: ``` -- LLDB Found PythonExecutable: C:/Projects/Python-2.7.9-bin/x64/python.exe and C:/Projects/Python-2.7.9-bin/x64/python_d.exe -- LLDB Found PythonLibs: C:/Projects/Python-2.7.9-bin/x64/libs/python27.lib and C:/Projects/Python-2.7.9-bin/x64/libs/python27_d.lib -- LLDB Found PythonDLL: C:/Projects/Python-2.7.9-bin/x64/python27.dll and C:/Projects/Python-2.7.9-bin/x64/python27_d.dll ``` I've also added checks to ensure the messages are actually accurate, as in check that the files actually exist before claiming they've been found. If any of the files are missing Python integration will be disabled for the build. Patch by Vadim Macagon. Thanks! Reviewers: brucem, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13520 llvm-svn: 249671
* Fix Android build.Chaoren Lin2015-10-071-0/+1
| | | | llvm-svn: 249486
* Teach CMake to find versions of Python != 2.7Zachary Turner2015-10-062-56/+90
| | | | llvm-svn: 249466
* Create GoLanguageRuntime.Ryan Brown2015-10-061-0/+1
| | | | | | GoLanguageRuntime supports finding the runtime type for Go interfaces. llvm-svn: 249456
* Fix Darwin build of lldb-server.Stephane Sezer2015-10-061-7/+0
| | | | | | | | | | | | Summary: We were missing the symbol for the version number. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13271 llvm-svn: 249434
* Use the correct Python lib for each build configuration generated by the ↵Bruce Mitchener2015-10-011-9/+33
| | | | | | | | | | | | | | | | | | | | | Visual Studio CMake generator Summary: Previously `CMAKE_BUILD_TYPE` was used to determine whether to link in `python27.lib` or `python27_d.lib`, unfortunately this only works reliably when using a CMake generator that generates a single build configuration (e.g. Ninja). The Visual Studio CMake generator generates four build configurations at once (`Debug`, `Release`, `RelWithDebInfo`, `MinSizeRel`), so if `CMAKE_BUILD_TYPE` is set to `Debug` all four build configurations end up linking in `python27_d.lib`, this is clearly undesirable. To ensure that the correct Python lib is used for each build configuration the value of `PYTHON_LIBRARY` is now determined using generator expressions that evaluate to either the debug or release Python lib. The values of `PYTHON_EXECUTABLE` and `PYTHON_DLL` are now likewise determined using generator expressions. Note that these changes only apply to the Windows build. Patch by Vadim Macagon. Thanks! Reviewers: zturner, brucem Subscribers: zturner, lldb-commits Differential Revision: http://reviews.llvm.org/D13234 llvm-svn: 248991
* Link NetBSD with execinfo (CMAKE build)Stephane Sezer2015-09-181-2/+2
| | | | | | | | | | | | | | Summary: FreeBSD and NetBSD share the same library execinfo. Reviewers: joerg, sas, brucem Subscribers: brucem, sas, lldb-commits Differential Revision: http://reviews.llvm.org/D12750 Change by Kamil Rytarowski <n54@gmx.com> llvm-svn: 248007
* [cmake] Build lldb-server on Darwin, set dep on FreeBSD.Bruce Mitchener2015-09-171-2/+3
| | | | | | | | | | | | | | | | | | Summary: This switches the decision as to whether or not to lldb-server should be built to check the same flag that was added that controls whether or not it is added as a dependency to the 'lldb' target. It also sets that flag on FreeBSD to maintain parity with the existing build configuration / situation on FreeBSD. Reviewers: labath, emaste, tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12925 llvm-svn: 247913
* Add an OperatingSystem plugin to support goroutinesRyan Brown2015-09-161-0/+1
| | | | | | | | | | The Go runtime schedules user level threads (goroutines) across real threads. This adds an OS plugin to create memory threads for goroutines. It supports the 1.4 and 1.5 go runtime. Differential Revision: http://reviews.llvm.org/D5871 llvm-svn: 247852
* add a dependency on terminfo library if llvm uses itZachary Turner2015-09-161-0/+3
| | | | | | | | | | | | | | | | | | | | Ncurses related symbols can either all be found in libnurses or split between libncurses and libtinfo. The main LLVM cmake scripts look for the setupterm symbol and stores the library that has it in TERMINFO_LIBS. This covers the split and unified ncurses case. LLDB uses symbols that can end up in libtinfo so this library should be pulled in if it is found. There is still an exotic case left where LLDB is configured with -DLLDB_DISABLE_CURSES=NO and LLVM with -DLLVM_ENABLE_TERMINFO=NO but misconfigurations will always be possible. Possibly a diagnostic could be added for that. This fixes bug 24693. Differential Revision: http://reviews.llvm.org/D12672 Patch by Jeremi Piotrowski llvm-svn: 247842
* cmake fixes for lldb target.Todd Fiala2015-09-161-0/+17
| | | | | | | | | | | ninja lldb now does the following: * forces the python post-build step to fire, which sets up the python lldb module properly. * on Darwin and Linux, requires the lldb-server target to be built. * on Darwin, requires the debugserver target to be built. See http://reviews.llvm.org/D12899 for details. llvm-svn: 247810
* Clean up building & linking of Process/elf-core.Bruce Mitchener2015-09-111-2/+0
| | | | | | | | | | | | | | | | | | | | | Summary: * cmake/LLDBDependencies.cmake: elf-core is already included globally in LLDB_USED_LIBS, so it doesn't need to be re-added on individual platforms. * lib/Makefile: elf-core is linked on each platform, so move it to the global list of used libraries. * source/Plugins/Makefile: elf-core is built on each platform, so move it to the global list of things to build. Reviewers: clayborg, labath Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12762 llvm-svn: 247366
* Build Plugin/JITLoader/GDB on all platforms.Bruce Mitchener2015-09-101-3/+0
| | | | | | | | | | | | | | | Summary: We currently link to this on all platforms, so don't need to re-include it into the LLDB_USED_LIBS. Also don't need to special case building it for every supported platform. Reviewers: clayborg, labath Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12756 llvm-svn: 247284
* [cmake] Remove LLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION.Bruce Mitchener2015-09-081-2/+0
| | | | | | | | | | | | | | | Summary: This should be a mandatory build process going forward, if Python is enabled. The longer term desire is to remove the old shell scripts entirely. Reviewers: zturner, clayborg, labath Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12667 llvm-svn: 246979
* Fix cmake build.Bruce Mitchener2015-09-031-0/+1
| | | | llvm-svn: 246746
* Use -Wno-vla-extension globally.Bruce Mitchener2015-09-011-0/+6
| | | | | | | | | | | | | | | Summary: This was previously only established within debugserver, but there is a use of the VLA extension in source/Host/macosx/Symbols.cpp, so ignore this warning globally. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12515 llvm-svn: 246605
* Add support for language plugins to provide data formatters (second attempt)Enrico Granata2015-09-011-0/+4
| | | | | | | | | | | | | | | | | Historically, data formatters all exist in a global repository (the category map) On top of that, some formatters can be "hardcoded" when the conditions under which they apply are not expressible as a typename (or typename regex) This change paves the way to move formatters into per-language buckets such that the C++ plugin is responsible for ownership of the C++ formatters, and so on The advantages of this are: a) language formatters only get created when they might apply b) formatters for a language are clearly owned by the matching language plugin The current model is one of static instantiation, that is a language knows the full set of formatters it vends and that is only asked-for once, and then handed off to the FormatManager In a future revision it might be interesting to add similar ability to the language runtimes, and monitor for certain shared library events to add even more library-specific formatters No formatters are moved as part of this change, so practically speaking this is NFC llvm-svn: 246568
* Revert "Add support for language plugins to provide data formatters"Pavel Labath2015-09-011-4/+0
| | | | | | This reverts r246515 (and related cmake fixes) as it breaks all libcxx tests. llvm-svn: 246536
* Attempt at fixing the CMake buildEnrico Granata2015-09-011-0/+4
| | | | llvm-svn: 246518
* Use lowercase for local cmake variables.Chaoren Lin2015-08-071-10/+8
| | | | llvm-svn: 244345
* Hide cmake variables related to static linking Android lldb-server.Chaoren Lin2015-08-071-3/+3
| | | | llvm-svn: 244344
* Update to D11825.Chaoren Lin2015-08-071-1/+5
| | | | | | | | | | | | | | | | Summary: Adding `-latomic` to `ANDROID_LINKER_FLAGS` doesn't actually work. Adding `atomic` to `LLDB_SYSTEM_LIBS` does. Related: D11831. Reviewers: Andrzej, ovyalov Subscribers: tberghammer, danalbert, srhines, lldb-commits Differential Revision: http://reviews.llvm.org/D11840 llvm-svn: 244343
* Add -latomic to Android mips build to avoid http://b.android.com/182094.Chaoren Lin2015-08-061-0/+3
| | | | | | | | | | Reviewers: ovyalov Subscribers: tberghammer, danalbert, srhines, lldb-commits Differential Revision: http://reviews.llvm.org/D11825 llvm-svn: 244298
* Static Android build doesn't need shared libs.Chaoren Lin2015-08-051-1/+3
| | | | llvm-svn: 244073
* Allow sysroot and python to be specified for Android build.Chaoren Lin2015-08-051-25/+28
| | | | llvm-svn: 244072
* Create a Windows mini-dump target Differential Revision: ↵Adrian McCarthy2015-08-031-1/+1
| | | | | | http://reviews.llvm.org/D11611 llvm-svn: 243914
* Re-enable static Android build after build master restart.Chaoren Lin2015-07-211-3/+3
| | | | llvm-svn: 242814
* Fix whitespace in Android.cmake.Chaoren Lin2015-07-201-3/+3
| | | | llvm-svn: 242717
* [Android] Only enable evil libdl.a hack when building statically.Chaoren Lin2015-07-201-6/+8
| | | | llvm-svn: 242716
* Revert static Android build until build master restarts.Chaoren Lin2015-07-201-3/+3
| | | | llvm-svn: 242688
* Add evil hack to workaround the missing libdl.a in the Android toolchain.Chaoren Lin2015-07-181-0/+19
| | | | | | | | | | Reviewers: vharron, ovyalov Subscribers: tberghammer, danalbert, srhines, lldb-commits Differential Revision: http://reviews.llvm.org/D11321 llvm-svn: 242599
* Detect if necessary to build inferior with -pie for Android.Chaoren Lin2015-07-171-4/+4
| | | | | | | | | | | | | | | Summary: - Add target_is_android check (with cached results). - Make android_device_api also cache results. - Also removes the need to pass --env OS=Android when testing against Android. Reviewers: sivachandra, tberghammer, clayborg, danalbert Subscribers: chaoren, tberghammer, danalbert, srhines, lldb-commits Differential Revision: http://reviews.llvm.org/D11309 llvm-svn: 242580
OpenPOWER on IntegriCloud