| #!/usr/bin/env python3 |
| # SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) |
| |
| # While Python 3 is the default, it's also possible to invoke |
| # this setup.py script with Python 2. |
| |
| """ |
| setup.py file for SWIG libfdt |
| Copyright (C) 2017 Google, Inc. |
| Written by Simon Glass <sjg@chromium.org> |
| """ |
| |
| from distutils.core import setup, Extension |
| import os |
| import re |
| import sys |
| |
| |
| VERSION_PATTERN = '^#define DTC_VERSION "DTC ([^"]*)"$' |
| |
| |
| def get_version(): |
| 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=['libfdt.i'], |
| include_dirs=['../libfdt'], |
| libraries=['fdt'], |
| library_dirs=['../libfdt'], |
| swig_opts=['-I../libfdt'], |
| ) |
| |
| setup( |
| name='libfdt', |
| version=get_version(), |
| author='Simon Glass <sjg@chromium.org>', |
| description='Python binding for libfdt', |
| ext_modules=[libfdt_module], |
| py_modules=['libfdt'], |
| ) |