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