Florian Kiera <florian.kiera@logicway.de> writes:
I am not quite following, but it may be that build code setting
HOST_DIR does not grasp the concept that if it is under DESTDIR, then
that part should be removed to get a DESTDIR relative path. I think
there may be trouble from mixing DESTDIR-aware build code from code
that is not really aware but is using a path that has DESTDIR in it.
There could be a check whether DESTDIR and python_libdir contain the
same path (a huge part of it). At least for cross compiling with
buildroot it would work.
I think if any directory contains DESTDIR as a prefix that should
probably throw an error. Not fix it up, just error.
In fact python and its library is always under
/lib|/usr/lib|/usr/lib32|/usr/lib64 isnt it? So why does it need to
check from where it is called instead of some other work arounds?
No, python can be anywhere. On pkgsrc it is in /usr/pkg/lib. On
FreeBSD ports I think it is in /usr/local/lib.
I don't know which environment variables you can get while using
scons, may there is one that suits better for the purpose of finding
the python path?
I am not following why you want "environment variables". When building
cross, the python libdir has to be for the lib path on the target, which
is going to be within the DESTDIR on the build host. It has no
relation to where python's libdir is on the build host. So you have to
pass it explicitly to the cross build anyway.