[lldb-dev] Python scripting in Windows LLDB

Ted Woodward via lldb-dev lldb-dev at lists.llvm.org
Mon May 22 12:54:22 PDT 2017


My dev machine has both debug and release python exe/lib/dll installed; The VS solution made by cmake works fine building debug and release versions of lldb. Our bots only have release exe/lib, and create a VS solution with cmake and build with msbuild.

--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

> -----Original Message-----
> From: Pavel Labath [mailto:labath at google.com]
> Sent: Monday, May 22, 2017 3:47 AM
> To: Ted Woodward <ted.woodward at codeaurora.org>
> Cc: Zachary Turner <zturner at google.com>; Vadim Chugunov
> <vadimcn at gmail.com>; Hans Wennborg <hans at chromium.org>; LLDB <lldb-
> dev at lists.llvm.org>
> Subject: Re: [lldb-dev] Python scripting in Windows LLDB
> 
> This may cause some issues with the multi-configuration generators.
> E.g. a single VS build will create both debug and release configurations. I
> suspect this is the reason why the check is written as it is now.
> 
> I'm not sure what would be the appropriate behavior in this case if only one
> of the pythons is available.
> 
> On 19 May 2017 at 21:42, Ted Woodward via lldb-dev <lldb-
> dev at lists.llvm.org> wrote:
> > LLDBConfig.cmake has this:
> >
> >
> >
> >   if (NOT (PYTHON_DEBUG_EXE AND PYTHON_RELEASE_EXE AND
> > PYTHON_DEBUG_LIB AND PYTHON_RELEASE_LIB AND
> PYTHON_DEBUG_DLL AND
> > PYTHON_RELEASE_DLL))
> >
> >     message("Python installation is corrupt. Python support will be
> > disabled for this build.")
> >
> >     set(LLDB_DISABLE_PYTHON 1 PARENT_SCOPE)
> >
> >     return()
> >
> >   endif()
> >
> >
> >
> > Internally I’ve changed it to:
> >
> >
> >
> >   if (CMAKE_BUILD_TYPE STREQUAL "Debug")
> >
> >     if (NOT (PYTHON_DEBUG_EXE AND PYTHON_DEBUG_LIB AND
> > PYTHON_DEBUG_DLL))
> >
> >       message("Python installation is corrupt. Python support will be
> > disabled for this build.")
> >
> >       set(LLDB_DISABLE_PYTHON 1 PARENT_SCOPE)
> >
> >       return()
> >
> >     endif()
> >
> >   else()
> >
> >     if (NOT (PYTHON_RELEASE_EXE AND PYTHON_RELEASE_LIB))
> >
> >       message("Python installation is corrupt. Python support will be
> > disabled for this build.")
> >
> >       set(LLDB_DISABLE_PYTHON 1 PARENT_SCOPE)
> >
> >       return()
> >
> >     endif()
> >
> >   endif()
> >
> >
> >
> > That works with our buildbots building release.
> >
> >
> >
> > Note the release check doesn’t check for the DLL – our installations
> > don’t have the release DLL, so I didn’t put that in.
> >
> >
> >
> > I can push this change upstream if you’d like, Zach.
> >
> >
> >
> > --
> >
> > Qualcomm Innovation Center, Inc.
> >
> > The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> > a Linux Foundation Collaborative Project
> >
> >
> >
> > From: lldb-dev [mailto:lldb-dev-bounces at lists.llvm.org] On Behalf Of
> > Zachary Turner via lldb-dev
> > Sent: Friday, May 19, 2017 3:18 PM
> > To: Vadim Chugunov <vadimcn at gmail.com>; Hans Wennborg
> > <hans at chromium.org>; LLDB <lldb-dev at lists.llvm.org>
> > Subject: Re: [lldb-dev] Python scripting in Windows LLDB
> >
> >
> >
> > Hmm, I believe it's only supposed to do that if you're doing a debug build.
> > It should only require the Python libraries that match your current build.
> > Is it not doing this?
> >
> >
> >
> > On Fri, May 19, 2017 at 1:15 PM Vadim Chugunov via lldb-dev
> > <lldb-dev at lists.llvm.org> wrote:
> >
> > Update: looks like Python detection in CMake now requires debug
> > binaries to be there as well (e.g. python35_d.dll), otherwise Python
> > support gets disabled.  I am wondering if Python the build machine was
> > installed without the debug stuff.
> >
> >
> >
> > On Fri, May 19, 2017 at 10:52 AM, Vadim Chugunov <vadimcn at gmail.com>
> wrote:
> >
> > Hi!
> >
> >
> >
> > I've just noticed that LLDB from the most recent LLVM Windows snapshot
> > build has Python scripting disabled.
> >
> > Was this done on purpose and for what reason if so?
> >
> >
> >
> > _______________________________________________
> > lldb-dev mailing list
> > lldb-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
> >
> >
> > _______________________________________________
> > lldb-dev mailing list
> > lldb-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
> >



More information about the lldb-dev mailing list