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

Deepak Panickal deepak at codeplay.com
Thu Jul 3 15:04:13 PDT 2014


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 <http://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 list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

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


More information about the lldb-dev mailing list