Browse Source

pylibfdt: Simpler CFLAGS handling

At the moment we have some fiddly code to either pass in make's CPPFLAGS to
setup.py, or have setup.py extract them from the Makefile.  But really the
only thing we need from here is the include paths.  We already know what
include paths we need (libfdt/) so we can just set that directly in
setup.py.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Simon Glass <sjg@chromium.org>
main
David Gibson 6 years ago
parent
commit
855b9963de
  1. 2
      pylibfdt/Makefile.pylibfdt
  2. 11
      pylibfdt/setup.py

2
pylibfdt/Makefile.pylibfdt

@ -5,7 +5,7 @@ PYLIBFDT_srcs = $(PYLIBFDT_srcdir)/libfdt.i @@ -5,7 +5,7 @@ PYLIBFDT_srcs = $(PYLIBFDT_srcdir)/libfdt.i
PYMODULE = $(PYLIBFDT_objdir)/_libfdt.so

define run_setup
CPPFLAGS="$(CPPFLAGS)" VERSION="$(dtc_version)"
VERSION="$(dtc_version)"
$(PYLIBFDT_objdir)/setup.py --quiet $(1)
endef


11
pylibfdt/setup.py

@ -5,7 +5,6 @@ setup.py file for SWIG libfdt @@ -5,7 +5,6 @@ setup.py file for SWIG libfdt
Copyright (C) 2017 Google, Inc.
Written by Simon Glass <sjg@chromium.org>

C flags to use are provided in CPPFLAGS
Version is provided in VERSION

If these variables are not given they are parsed from the Makefiles. This
@ -75,26 +74,24 @@ def GetEnvFromMakefiles(): @@ -75,26 +74,24 @@ def GetEnvFromMakefiles():
makevars = ParseMakefile(os.path.join(basedir, 'Makefile'))
version = '%s.%s.%s' % (makevars['VERSION'], makevars['PATCHLEVEL'],
makevars['SUBLEVEL'])
cflags = ['-I%s/libfdt' % basedir]
return version, cflags
return version


progname = sys.argv[0]
cflags = os.environ.get('CPPFLAGS', '').split()
version = os.environ.get('VERSION')

# If we were called directly rather than through our Makefile (which is often
# the case with Python module installation), read the settings from the
# Makefile.
if not all((version, cflags)):
version, cflags= GetEnvFromMakefiles()
if not version:
version = GetEnvFromMakefiles()

libfdt_module = Extension(
'_libfdt',
sources = ['pylibfdt/libfdt.i'],
include_dirs = ['libfdt'],
libraries = ['fdt'],
library_dirs = ['libfdt'],
extra_compile_args = cflags,
)

setup(

Loading…
Cancel
Save