[lldb-dev] Windows Build Setup w/ Ninja for LLDB

Todd Fiala todd.fiala at gmail.com
Thu Jul 3 15:31:25 PDT 2014


This is getting me further.  Here's what I've changed:


   - added swig (from the swigwin exe download), added to my path.
   - *added* python to my path.  There is a build failure without it due to
   what looks like usage of the python exe without using the cmake-discovered
   python (the c:\python27\python.exe is discovered by cmake without it being
   in the path). We'll want to track that down.
   - Used the cmake command line that Deepak suggested:

cmake -GNinja -DLLDB_DISABLE_PYTHON=0
-DLLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION=1
..\llvm


That's roughly 1200 of 2779 files in now.  I'll report back on what that
does.

I'll also try out Deepak's patch to see if it works when using the default
on Windows of not using Python.

When I'm done with this, I plan to update the web site on a valid lldb
Windows build setup.

-Todd


On Thu, Jul 3, 2014 at 3:13 PM, Todd Fiala <todd.fiala at gmail.com> wrote:

> Hi Deepak,
>
> > If you define both -DLLDB_DISABLE_PYTHON=0 and -D
> LLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION=1, it should build
> properly.
>
> Great, I'll try that out.
>
> I'll also have a look at your patch and at least verify it works over here
> without Python.
>
>
> On Thu, Jul 3, 2014 at 3:04 PM, Deepak Panickal <deepak at codeplay.com>
> wrote:
>
>>  Hi Todd,
>>
>> You can build with Python successfully on Windows.
>> If you define both -DLLDB_DISABLE_PYTHON=0 and -D
>> LLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION=1, it should build properly.
>>
>> You're right, it's currently broken for building without Python.
>> I just checked CMakelists.txt.  An ifdef is missing, so you cannot build
>> on Windows without Python for now.
>>
>> I can't commit the fix now, can fix it when I'm back in office tomorrow
>> or you can commit this to CMakeLists.txt.
>> --- CMakeLists.txt    Thu Jul  3 22:55:07 2014
>> +++ CMakeLists.txt    Thu Jul  3 22:57:26 2014
>> @@ -316,7 +316,9 @@
>>
>>  #add_subdirectory(include)
>>  add_subdirectory(docs)
>> -add_subdirectory(scripts)
>> +if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows" OR NOT LLDB_DISABLE_PYTHON)
>> +  add_subdirectory(scripts)
>> +endif ()
>>  add_subdirectory(source)
>>  add_subdirectory(test)
>>  add_subdirectory(tools)
>>
>> Thanks,
>> Deepak
>>
>>
>> On 03/07/2014 22:30, Todd Fiala wrote:
>>
>> Hey all,
>>
>>  Can somebody tell me what I need to install on a fresh Window 8.1
>> x86_64 box to get an lldb windows build working?
>>
>>  Here is what I've tried so far:
>>
>>    - VS 2013
>>    - ninja - sync from github, build 32-bit version.  (The --x64 build
>>    option seems to always bring up an error dialog box in a VS 2013 64-bit
>>    window, so I use the x86 32-bit VS command prompt and build it as 32-bit.
>>     This might be part of my issue).
>>    - Initially I installed python.org's Python 2.7 64-bit.  I later
>>    tried the 32-bit after hitting issues in the build process.
>>    - cmake 2.8.12.2.  I tried the same with 3.0.0 but backed off to
>>    2.8.12.2 to normalize with Zachary's setup and avoid any issues that Reid
>>    may have seen with 3.0.0 recently.
>>    - Installed gnuwin32.
>>
>>
>>  I sync llvm, llvm/tools/clang, and llvm/tools/lldb to the llvm, clang
>> and lldb repos.
>>
>>  I ensure python is not in my path (i.e. 'where python' does not find
>> anything).  I do have gnuwin32/bin, cmake and ninja in my path.
>>
>>  I run:
>> dir
>> llvm
>>
>>  mkdir build
>> cd build
>> cmake -GNinja ..\llvm
>> ninja
>>
>>  I get an error after about 200 files in from trying to build that says:
>> Building lldb python wrapper
>> FAILED: cmd.exe /c cd /D D:\lldb\git\build\tools\lldb\scripts && env
>> PYTHON_EXEC
>> UTABLE=C:/Python27/python.exe
>> D:/lldb/git/llvm/tools/lldb/scripts/build-swig-wra
>> pper-classes.sh D:/lldb/git/llvm/tools/lldb
>> D:/lldb/git/build/tools/lldb/scripts
>>  D:/lldb/git/build/tools/lldb/scripts D:/lldb/git/build -m && env
>> PYTHON_EXECUTA
>> BLE=C:/Python27/python.exe
>> D:/lldb/git/llvm/tools/lldb/scripts/finish-swig-wrapp
>> er-classes.sh D:/lldb/git/llvm/tools/lldb
>> D:/lldb/git/build/tools/lldb/scripts D
>> :/lldb/git/build/tools/lldb/scripts D:/lldb/git/build -m
>> *env: D:/lldb/git/llvm/tools/lldb/scripts/build-swig-wrapper-classes.sh:
>> Exec for*
>> *mat error *
>>
>>  That version is with a 32-bit python.  I get the same error with a
>> 64-bit python installed in the same location.
>>
>>  I have tried disabling python:
>>
>>  delete the build dir
>> mkdir build
>> cd build
>> cmake -DLLDB_DISABLE_PYTHON=1 -GNinja ..\llvm
>>
>>  Same error - it still detects the python (not in the path) and still
>> uses it.
>>
>>  I've tried -DDISABLE_PYTHON=1 instead, that one just tells me that
>> variable is not used.
>>
>>  So - I'm missing something basic here.  I do not have cygwin in my
>> path.  I used msysgit to get the source.
>>
>>  Right now I would just settle for being able to disable python, even
>> though we need that running at some point.
>>
>>  Thanks for any help!
>>
>>  Sincerely,
>> Todd Fiala
>>
>>
>>
>> _______________________________________________
>> lldb-dev mailing listlldb-dev at cs.uiuc.eduhttp://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>>
>>
>>
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>>
>>
>
>
> --
> -Todd
>



-- 
-Todd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140703/916d51ae/attachment.html>


More information about the lldb-dev mailing list