xref: /netbsd-src/external/gpl2/dtc/dist/pylibfdt/setup.py (revision cc7d2833ecf67da5a5ddc470841931eb9f6723e4)
1*cc7d2833Sskrll#!/usr/bin/env python2
2*cc7d2833Sskrll# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
3*cc7d2833Sskrll
4*cc7d2833Sskrll"""
5*cc7d2833Sskrllsetup.py file for SWIG libfdt
6*cc7d2833SskrllCopyright (C) 2017 Google, Inc.
7*cc7d2833SskrllWritten by Simon Glass <sjg@chromium.org>
8*cc7d2833Sskrll"""
9*cc7d2833Sskrll
10*cc7d2833Sskrllfrom distutils.core import setup, Extension
11*cc7d2833Sskrllimport os
12*cc7d2833Sskrllimport re
13*cc7d2833Sskrllimport sys
14*cc7d2833Sskrll
15*cc7d2833Sskrll
16*cc7d2833SskrllVERSION_PATTERN = '^#define DTC_VERSION "DTC ([^"]*)"$'
17*cc7d2833Sskrll
18*cc7d2833Sskrll
19*cc7d2833Sskrlldef get_version():
20*cc7d2833Sskrll    version_file = "../version_gen.h"
21*cc7d2833Sskrll    f = open(version_file, 'rt')
22*cc7d2833Sskrll    m = re.match(VERSION_PATTERN, f.readline())
23*cc7d2833Sskrll    return m.group(1)
24*cc7d2833Sskrll
25*cc7d2833Sskrll
26*cc7d2833Sskrllsetupdir = os.path.dirname(os.path.abspath(sys.argv[0]))
27*cc7d2833Sskrllos.chdir(setupdir)
28*cc7d2833Sskrll
29*cc7d2833Sskrlllibfdt_module = Extension(
30*cc7d2833Sskrll    '_libfdt',
31*cc7d2833Sskrll    sources=['libfdt.i'],
32*cc7d2833Sskrll    include_dirs=['../libfdt'],
33*cc7d2833Sskrll    libraries=['fdt'],
34*cc7d2833Sskrll    library_dirs=['../libfdt'],
35*cc7d2833Sskrll    swig_opts=['-I../libfdt'],
36*cc7d2833Sskrll)
37*cc7d2833Sskrll
38*cc7d2833Sskrllsetup(
39*cc7d2833Sskrll    name='libfdt',
40*cc7d2833Sskrll    version=get_version(),
41*cc7d2833Sskrll    author='Simon Glass <sjg@chromium.org>',
42*cc7d2833Sskrll    description='Python binding for libfdt',
43*cc7d2833Sskrll    ext_modules=[libfdt_module],
44*cc7d2833Sskrll    py_modules=['libfdt'],
45*cc7d2833Sskrll)
46