labath accepted this revision. labath added a comment. This revision is now accepted and ready to land.
> RHEL 7 is already doing this - most of lib is 64-bit. All of lib64 is > 64-bit. They already use both (~600 MB in lib, ~1GB in lib64 on a stock > system). I have also built custom pythons, and by default python will use > lib. So this is a bad user experience for an lldb developer to have to know > that they would have to set their python and their cmake build of lldb to the > same lib dir. Ok, thanks for the explanation. I guess we'll have to find some way around it then. > > > > I understand your desires, but your approach e.g. makes cross-compiling > > impossible (or, at least assumes that target python uses the same directory > > as the build one (if the build machine even has python in the first > > place)). I'd like to avoid doing this if it is possible to work around it. > > > Why would that be the case? You might be cross-compiling from windows-x86 to linux-arm. It's unlikely you will be able to run the target python to ask it something. Unless the distutils thing somehow accesses that info through some magic I am not aware of, in which case I apologise. But ok, I am not that worried about setups like this at the moment. > If the target python for the cross compiler is the one specified in the lldb > build (which it would have to be, wouldn't it?), that is the one that will be > queried. i.e. the one getting embedded in the lldb build is the one being > asked. I'd hope that can answer the question correctly. Also, the approach > used here to find the directory is the same one we use to construct the lldb > python module in the first place. So this can't make us any further broken > for cross compilation than we already are, and if the cross-compiled python > can answer the question correctly, we're all set. Yeah, that is probably broken as well, but that's out of scope for this change. > > Have you checked whether it is possible to extract this information from > > cmake, without running any code (perhaps parsing PYTHON_LIBRARIES or > > something). > > > No, I haven't looked at this angle. I'm asking python the same question we > ask it already during the construction of the lldb module packaging. I'd > rather use the same approach that we already use to locate the directory than > fabricate another one, precisely because they'll be consistent. > > Here's what I'd rather do: > > - Keep with this approach since it uses both the same approach we already use > (distutils python module) to gather the right location, and the python lib > dir is allowed to vary independently of the lib dir used by the rest of the > build. This allows us to get it right with no input from the developer > regardless of which python they're using, stock or custom. > - If it is proven we are doing something wrong for cross compiling, and > somebody wants to make that right, we then change over from using the > disutils approach both in generating the partial relative directory for > answering 'lldb -P' and in the finalization of python class swig generation > step. > > I do think it is a worthwhile cleanup to do at some point to get rid of any > direct use of 'lib' in the source to use what cmake provides (through the lib > dir macros you mentioned previously). But I'd see that as a cleanup activity > orthogonal to this change. > > Thoughts? Ok, let's keep this as is. At some point, someone will have to go in and fix this though. http://reviews.llvm.org/D13625 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits