aboutsummaryrefslogtreecommitdiff
path: root/pylibfdt
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-03-26 13:06:19 -0600
committerDavid Gibson <david@gibson.dropbear.id.au>2017-03-27 15:33:25 +1100
commit89a5062ab23163a7cc4f6ec3d693e6b6883ac0a1 (patch)
tree97b62060918cf828ea8b63fb10fa4031a3c938bd /pylibfdt
parent4e0e0d049757b15d53209a9687d9ea33ab3704c5 (diff)
downloaddtc-89a5062ab23163a7cc4f6ec3d693e6b6883ac0a1.zip
dtc-89a5062ab23163a7cc4f6ec3d693e6b6883ac0a1.tar.gz
dtc-89a5062ab23163a7cc4f6ec3d693e6b6883ac0a1.tar.bz2
pylibfdt: Use environment to pass C flags and files
At present setup.py adjusts its command line when running, so that the C flags and file list can be passed as arguments. Pass them in environment variables instead, so we can avoid this messiness. It also allows us to support the 'install' command. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'pylibfdt')
-rw-r--r--pylibfdt/Makefile.pylibfdt3
-rw-r--r--pylibfdt/setup.py16
2 files changed, 8 insertions, 11 deletions
diff --git a/pylibfdt/Makefile.pylibfdt b/pylibfdt/Makefile.pylibfdt
index 0d8c010..3d99fd4 100644
--- a/pylibfdt/Makefile.pylibfdt
+++ b/pylibfdt/Makefile.pylibfdt
@@ -7,7 +7,8 @@ PYMODULE = $(PYLIBFDT_objdir)/_libfdt.so
$(PYMODULE): $(PYLIBFDT_srcs) $(WRAP)
@$(VECHO) PYMOD $@
- python $(PYLIBFDT_objdir)/setup.py "$(CPPFLAGS)" $^
+ SOURCES="$^" CPPFLAGS="$(CPPFLAGS)" \
+ python $(PYLIBFDT_objdir)/setup.py --quiet build_ext --inplace
mv _libfdt.so $(PYMODULE)
$(WRAP): $(PYLIBFDT_srcdir)/libfdt.swig
diff --git a/pylibfdt/setup.py b/pylibfdt/setup.py
index 0ff160c..e45f110 100644
--- a/pylibfdt/setup.py
+++ b/pylibfdt/setup.py
@@ -2,6 +2,9 @@
"""
setup.py file for SWIG libfdt
+
+Files to be built into the extension are provided in SOURCES
+C flags to use are provided in CPPFLAGS
"""
from distutils.core import setup, Extension
@@ -9,22 +12,15 @@ import os
import sys
progname = sys.argv[0]
-cflags = sys.argv[1]
-files = sys.argv[2:]
-
-if cflags:
- cflags = [flag for flag in cflags.split(' ') if flag]
-else:
- cflags = None
+files = os.environ['SOURCES'].split()
+cflags = os.environ['CPPFLAGS'].split()
libfdt_module = Extension(
'_libfdt',
sources = files,
- extra_compile_args = cflags
+ extra_compile_args = cflags
)
-sys.argv = [progname, '--quiet', 'build_ext', '--inplace']
-
setup (name = 'libfdt',
version = '0.1',
author = "Simon Glass <sjg@chromium.org>",