mgorny marked an inline comment as done.
mgorny added inline comments.

================
Comment at: lldb/scripts/CMakeLists.txt:45-50
+  execute_process(
+    COMMAND ${PYTHON_EXECUTABLE}
+        -c "import distutils.sysconfig, sys; 
print(distutils.sysconfig.get_python_lib(True, False, sys.argv[1]))"
+        ${CMAKE_BINARY_DIR}
+    OUTPUT_VARIABLE SWIG_PYTHON_DIR
+    OUTPUT_STRIP_TRAILING_WHITESPACE)
----------------
labath wrote:
> mgorny wrote:
> > labath wrote:
> > > mgorny wrote:
> > > > labath wrote:
> > > > > For my own education, is it possible that the result of the 
> > > > > `get_python_lib` call will fundamentally differ depending on the 
> > > > > value of the third argument. I.e., is there any case where 
> > > > > `${SWIG_PYTHON_DIR}` will be different from 
> > > > > `${CMAKE_BINARY_DIR}/${SWIG_INSTALL_DIR}` ?
> > > > The former will be an absolute path while the latter is just the 
> > > > relative path. But if you mean whether they could have a different 
> > > > tail: I don't think so, at least with CPython. PyPy had some nasty 
> > > > logic, so I'd have to check if we ever decided to support that.
> > > Right now that doesn't matter, but I am thinking ahead about the 
> > > cross-compilation case. If we turn out to need a cache variable for this, 
> > > it would be nice if it would be a single variable that the user could set 
> > > (instead of two of them). For that to work, we'd need to be able to 
> > > compute the result of one of these calls using the value of the other one.
> > I suppose you mean having a variable specifying path relative to 
> > prefix/build dir, I presume? I suppose we could build the whole thing 
> > around a cache var defaulting to the sysconfig call as proposed here for 
> > `SWIG_INSTALL_DIR` (note it's passing empty prefix to `get_python_lib()` in 
> > order to get relative path).
> > 
> > Thinking about it, maybe it'd indeed be better for me to prepare a more 
> > complete patch built around that, and focus on testing that instead. I was 
> > mostly worried/confused by Linux-specific code hanging around.
> > I suppose you mean having a variable specifying path relative to 
> > prefix/build dir, I presume?
> Probably something like that, though I am still kind of hoping that there 
> will be some way to detect this from cmake. However, that is looking less and 
> less likely the more time I spend looking for a way to do it.
> 
> > Thinking about it, maybe it'd indeed be better for me to prepare a more 
> > complete patch built around that, and focus on testing that instead.
> That could work too, though I think the current version is an improvement in 
> itself, and I agree we should do this slowly.
I've grepped the `FindPython` modules and couldn't think anything useful. I 
suppose the external call to Python is as close as we can get. This is roughly 
what autotools is doing, except they go for full path and I tried to use 
relative path. The former is probably more correct (as Python won't look for 
the module in non-standard `CMAKE_INSTALL_PREFIX`) but I went for preserving 
existing behavior.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67890/new/

https://reviews.llvm.org/D67890



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to