dtc/setup.py
Brandon Maier 7b8a30ecea pylibfdt: fix Python version
In commit "pylibfdt: Remove some apparently deprecated options from
setup.py" the scm version tracking was removed. But it was not replaced
with the fixed version. This causes the Python modules to be installed
as version '0.0.0'.

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2024-07-01 11:43:43 +10:00

76 lines
2.1 KiB
Python
Executable file

#!/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 setuptools import setup, Extension
from setuptools.command.build_py import build_py as _build_py
import os
import re
import sys
srcdir = os.path.dirname(__file__)
with open(os.path.join(srcdir, "README.md"), "r") as fh:
long_description = fh.read()
with open(os.path.join(srcdir, "VERSION.txt"), "r") as fh:
version = fh.readline().strip()
def get_top_builddir():
if '--top-builddir' in sys.argv:
index = sys.argv.index('--top-builddir')
sys.argv.pop(index)
return sys.argv.pop(index)
else:
return srcdir
top_builddir = get_top_builddir()
libfdt_module = Extension(
'_libfdt',
sources=[os.path.join(srcdir, 'pylibfdt/libfdt.i')],
define_macros=[('PY_SSIZE_T_CLEAN', None)],
include_dirs=[os.path.join(srcdir, 'libfdt')],
libraries=['fdt'],
library_dirs=[os.path.join(top_builddir, 'libfdt')],
swig_opts=['-I' + os.path.join(srcdir, 'libfdt')],
)
class build_py(_build_py):
def run(self):
self.run_command("build_ext")
return super().run()
setup(
name='libfdt',
version=version,
cmdclass = {'build_py' : build_py},
author='Simon Glass',
author_email='sjg@chromium.org',
description='Python binding for libfdt',
ext_modules=[libfdt_module],
package_dir={'': os.path.join(srcdir, 'pylibfdt')},
py_modules=['libfdt'],
long_description=long_description,
long_description_content_type="text/plain",
url="https://git.kernel.org/pub/scm/utils/dtc/dtc.git",
license="BSD",
license_files=["GPL", "BSD-2-Clause"],
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: BSD License",
"License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
"Operating System :: OS Independent",
],
)