Re: [PATCH 3/8] pylibfdt: allow build out of tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Wed, Oct 09, 2019 at 11:05:59AM +0400, Marc-André Lureau wrote:
> Hi
> 
> On Wed, Oct 9, 2019 at 10:49 AM Marc-André Lureau
> <marcandre.lureau@xxxxxxxxxx> wrote:
> >
> > On Wed, Oct 9, 2019 at 8:03 AM David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > On Mon, Oct 07, 2019 at 11:18:01PM +0400, marcandre.lureau@xxxxxxxxxx wrote:
> > > > From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
> > > >
> > > > With meson, we have to support out-of-tree build. Fix path lookup.
> > >
> > > Again, a good idea, regardless of build system.  Integration of the
> > > python setuptools stuff with the rest of the build has always
> > > been... mucky :/.
> > >
> > > >
> > > > Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
> > > > ---
> > > >  pylibfdt/setup.py | 12 ++++++------
> > > >  1 file changed, 6 insertions(+), 6 deletions(-)
> > > >
> > > > diff --git a/pylibfdt/setup.py b/pylibfdt/setup.py
> > > > index 53f2bef..fd50b6c 100755
> > > > --- a/pylibfdt/setup.py
> > > > +++ b/pylibfdt/setup.py
> > > > @@ -20,22 +20,21 @@ VERSION_PATTERN = '^#define DTC_VERSION "DTC ([^"]*)"$'
> > > >
> > > >
> > > >  def get_version():
> > > > -    version_file = "../version_gen.h"
> > > > +    version_file = "version_gen.h"
> > > >      f = open(version_file, 'rt')
> > > >      m = re.match(VERSION_PATTERN, f.readline())
> > > >      return m.group(1)
> > > >
> > > >
> > > >  setupdir = os.path.dirname(os.path.abspath(sys.argv[0]))
> > > > -os.chdir(setupdir)
> > > >
> > > >  libfdt_module = Extension(
> > > >      '_libfdt',
> > > > -    sources=['libfdt.i'],
> > > > -    include_dirs=['../libfdt'],
> > > > +    sources=[os.path.join(setupdir, 'libfdt.i')],
> > > > +    include_dirs=[os.path.join(setupdir, '../libfdt')],
> > > >      libraries=['fdt'],
> > > > -    library_dirs=['../libfdt'],
> > > > -    swig_opts=['-I../libfdt'],
> > > > +    library_dirs=[os.path.join(setupdir, '../libfdt')],
> > >
> > > Is this one right?  Won't this be looking for the generated .so or .a,
> > > which will be in the target dirs, not the srcdir?
> >
> > No, it looks wrong. Whatever path I put there, it seems to work
> > regardless. Not sure if we really need it.
> 
> Ah it was linking with the system one, or my local tree build.
> 
> I think we better give the build directory as argument to setup.py.

Urghh.. the difficulty here is handling both the Python distutils
standalone use case and our use of it from the Makefiles.  The two do
not fit well together :/.

> I will update the patch.
> 
> >
> > >
> > > > +    swig_opts=['-I' + os.path.join(setupdir, '../libfdt')],
> > > >  )
> > > >
> > > >  setup(
> > > > @@ -44,5 +43,6 @@ setup(
> > > >      author='Simon Glass <sjg@xxxxxxxxxxxx>',
> > > >      description='Python binding for libfdt',
> > > >      ext_modules=[libfdt_module],
> > > > +    package_dir={'': setupdir},
> > > >      py_modules=['libfdt'],
> > > >  )
> > >
> 

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux