Home | History | Annotate | Line # | Download | only in pylibfdt
      1 #!/usr/bin/env python2
      2 # SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
      3 
      4 """
      5 setup.py file for SWIG libfdt
      6 Copyright (C) 2017 Google, Inc.
      7 Written by Simon Glass <sjg (at] chromium.org>
      8 """
      9 
     10 from distutils.core import setup, Extension
     11 import os
     12 import re
     13 import sys
     14 
     15 
     16 VERSION_PATTERN = '^#define DTC_VERSION "DTC ([^"]*)"$'
     17 
     18 
     19 def 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 
     26 setupdir = os.path.dirname(os.path.abspath(sys.argv[0]))
     27 os.chdir(setupdir)
     28 
     29 libfdt_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 
     38 setup(
     39     name='libfdt',
     40     version=get_version(),
     41     author='Simon Glass <sjg (at] chromium.org>',
     42     description='Python binding for libfdt',
     43     ext_modules=[libfdt_module],
     44     py_modules=['libfdt'],
     45 )
     46