From bdd01de323807f49f2d27aa9ad81dcec04738222 Mon Sep 17 00:00:00 2001
From: David Gibson <david@gibson.dropbear.id.au>
Date: Fri, 10 Aug 2018 17:33:24 +1000
Subject: [PATCH 9/9] pylibfdt: Don't have setup.py depend on where it's
 invoked from

Currently setup.py depends on being invoked from the right directory
(specifically it needs to be run from the root of the project).  That's a
bit confusing.

This updates setup.py to no longer depend on the invoking directory by
instead having it change directory to the location of the script itself,
then using internal paths relative to that.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Simon Glass <sjg@chromium.org>
---

 pylibfdt/Makefile.pylibfdt |  2 +-
 pylibfdt/libfdt.i          |  4 ++--
 pylibfdt/setup.py          | 13 ++++++++-----
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/pylibfdt/Makefile.pylibfdt b/pylibfdt/Makefile.pylibfdt
index 0dc5e96..8f00b3d 100644
--- a/pylibfdt/Makefile.pylibfdt
+++ b/pylibfdt/Makefile.pylibfdt
@@ -13,7 +13,7 @@ endif
 
 $(PYMODULE): $(PYLIBFDT_srcs) $(LIBFDT_archive) $(SETUP) $(VERSION_FILE)
 	@$(VECHO) PYMOD $@
-	$(SETUP) $(SETUPFLAGS) build_ext --build-lib=$(PYLIBFDT_objdir)
+	$(SETUP) $(SETUPFLAGS) build_ext --build-lib=../$(PYLIBFDT_objdir)
 
 install_pylibfdt: $(PYMODULE)
 	@$(VECHO) INSTALL-PYLIB
diff --git a/pylibfdt/libfdt.i b/pylibfdt/libfdt.i
index 842e7b6..462b5b0 100644
--- a/pylibfdt/libfdt.i
+++ b/pylibfdt/libfdt.i
@@ -1028,7 +1028,7 @@ class NodeAdder():
  */
 typedef uint32_t fdt32_t;
 
-%include "libfdt/fdt.h"
+%include "fdt.h"
 
 %include "typemaps.i"
 
@@ -1134,4 +1134,4 @@ int fdt_property_cell(void *fdt, const char *name, uint32_t val);
  */
 int fdt_property_stub(void *fdt, const char *name, const char *val, int len);
 
-%include <../libfdt/libfdt.h>
+%include <libfdt.h>
diff --git a/pylibfdt/setup.py b/pylibfdt/setup.py
index f0f0e10..bd8ccf8 100755
--- a/pylibfdt/setup.py
+++ b/pylibfdt/setup.py
@@ -16,18 +16,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 = ['pylibfdt/libfdt.i'],
-    include_dirs = ['libfdt'],
+    sources = ['libfdt.i'],
+    include_dirs = ['../libfdt'],
     libraries = ['fdt'],
-    library_dirs = ['libfdt'],
+    library_dirs = ['../libfdt'],
+    swig_opts = ['-I../libfdt'],
 )
 
 setup(
@@ -36,5 +39,5 @@ setup(
     author='Simon Glass <sjg@chromium.org>',
     description='Python binding for libfdt',
     ext_modules=[libfdt_module],
-    py_modules=['pylibfdt/libfdt'],
+    py_modules=['libfdt'],
 )
-- 
2.19.0.444.g18242da7ef-goog

