[lldb-dev] Everyone: please download, build and test the new iohandler branch
Greg Clayton
gclayton at apple.com
Tue Jan 7 15:39:33 PST 2014
Great, please check in any changes you need in order to build!
On Jan 7, 2014, at 8:21 AM, Abid, Hafiz <Hafiz_Abid at mentor.com> wrote:
> Hi Greg,
>
>> -----Original Message-----
>> From: lldb-dev-bounces at cs.uiuc.edu [mailto:lldb-dev-bounces at cs.uiuc.edu]
>> On Behalf Of Greg Clayton
>> Sent: 02 January 2014 22:57
>> To: lldb-dev at cs.uiuc.edu
>> Subject: [lldb-dev] Everyone: please download, build and test the new
>> iohandler branch
>>
>> svn co https://$USER@llvm.org/svn/llvm-project/lldb/branches/iohandler
>>
>> The first step is to get it building for your platform as I am sure the Makefiles
>> are out of date.
>>
>> This branch will soon be merged back into top of tree, but I wanted to give
>> all the major platforms time to submit patches against this to get things
>> working on all systems before any buildbots get broken.
>>
>> The major benefits include:
>> - editline is not built into the lldb shared library so all IOHandler objects can
>> use the editline functionality.
>> - autocomplete now working in the embedded python interpreter
>> - history now working in the embedded python interpreter
>> - autocomplete now working for multi-line command entering (like in
>> "breakpoint command add")
>> - when editing multiple lines you can use the UP and DOWN arrow keys to
>> edit previous lines. This makes multi-line expressions and commands much
>> easier to write and edit. Use ^B and ^N for next/prev history when in multi-
>> line mode.
>> - curses is now supported with the new IOHandler infrastructure. To try this
>> out, run and hit a breakpoint, and type "gui" on the command line to drop
>> into the curses GUI mode! Lots of stuff isn't hooked up yet, but I am sure the
>> open source community can help fill in some new views and improve existing
>> ones.
>>
>> So please get this building and test this on your system and let us know
>> what issues you run into.
>
> I tried to build this branch using cmake on Ubuntu 12.04 with gcc 4.8.
> There were some build issues that I fixed as follows.
>
> Include limits.h in Editline.cpp for PATH_MAX and libncurses in the cmake files.
> I also noted that libedit version on my system was missing
> some defines like EL_PROMPT_ESC. I have to get hold of a recent version for libedit.
> After that lldb builds fine on my system. Still have to test it though.
>
> I am pasting the changes needed for the build below.
>
>
> Index: source/Host/common/Editline.cpp
> ===================================================================
> --- source/Host/common/Editline.cpp (revision 198682)
> +++ source/Host/common/Editline.cpp (working copy)
> @@ -15,6 +14,8 @@
> #include "lldb/Core/StringList.h"
> #include "lldb/Host/Host.h"
>
> +#include <limits.h>
> +
> using namespace lldb;
> using namespace lldb_private;
>
> Index: source/Symbol/ClangASTType.cpp
> ===================================================================
> --- source/Symbol/ClangASTType.cpp (revision 198682)
> +++ source/Symbol/ClangASTType.cpp (working copy)
> @@ -1135,7 +1135,7 @@
> if (typedef_type)
> {
> const TypedefNameDecl *typedef_decl = typedef_type->getDecl();
> - type_name = typedef_decl->getQualifiedNameAsString(printing_policy);
> + type_name = typedef_decl->getQualifiedNameAsString();
> }
> else
> {
> Index: CMakeLists.txt
> ===================================================================
> --- CMakeLists.txt (revision 198682)
> +++ CMakeLists.txt (working copy)
> @@ -265,6 +265,10 @@
> list(APPEND system_libs execinfo)
> endif()
>
> +if (CMAKE_SYSTEM_NAME MATCHES "Linux")
> + list(APPEND system_libs ncurses)
> +endif()
> +
> #add_subdirectory(include)
> add_subdirectory(docs)
> if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
>
> Regards,
> Abid
>
>>
>> Greg Clayton
>>
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
More information about the lldb-dev
mailing list