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