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>main
parent
4e0e0d0497
commit
89a5062ab2
|
@ -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
|
||||
|
|
|
@ -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>",
|
||||
|
|
Loading…
Reference in New Issue