aboutsummaryrefslogtreecommitdiff
path: root/pylibfdt
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2018-08-10 17:33:24 +1000
committerDavid Gibson <david@gibson.dropbear.id.au>2018-09-25 10:31:54 +1000
commit1e4a0928f3b3b827824222572e551a60935607e3 (patch)
tree521d03ff1e3b570ce6330d84cae7054b91930d31 /pylibfdt
parentca399b14956f1d57fff46e4e847f1448b955d0ec (diff)
downloaddtc-1e4a0928f3b3b827824222572e551a60935607e3.zip
dtc-1e4a0928f3b3b827824222572e551a60935607e3.tar.gz
dtc-1e4a0928f3b3b827824222572e551a60935607e3.tar.bz2
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> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'pylibfdt')
-rw-r--r--pylibfdt/Makefile.pylibfdt2
-rw-r--r--pylibfdt/libfdt.i4
-rwxr-xr-xpylibfdt/setup.py13
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'],
)