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