|
|
|
#!/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'],
|
|
|
|
)
|