summaryrefslogtreecommitdiffstats
path: root/source-builder/sb/config.py
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2016-03-07 11:56:02 +1100
committerChris Johns <chrisj@rtems.org>2016-03-07 15:02:58 +1100
commit3a972f610213bab8374b5518f6a139ceed95823a (patch)
tree9ee412fc09f09ea4d83a785981180100ac157891 /source-builder/sb/config.py
parentClean up 4.9 build issues. (diff)
downloadrtems-source-builder-3a972f610213bab8374b5518f6a139ceed95823a.tar.bz2
sb: Update code base to support Python3 and Python2.
Fix Windows support to allow MSYS2 Python to be used. Updates #2619.
Diffstat (limited to 'source-builder/sb/config.py')
-rw-r--r--source-builder/sb/config.py41
1 files changed, 22 insertions, 19 deletions
diff --git a/source-builder/sb/config.py b/source-builder/sb/config.py
index 441ce6c..8a0c01b 100644
--- a/source-builder/sb/config.py
+++ b/source-builder/sb/config.py
@@ -1,6 +1,6 @@
#
# RTEMS Tools Project (http://www.rtems.org/)
-# Copyright 2010-2013 Chris Johns (chrisj@rtems.org)
+# Copyright 2010-2016 Chris Johns (chrisj@rtems.org)
# All rights reserved.
#
# This file is part of the RTEMS Tools package in 'rtems-tools'.
@@ -25,7 +25,10 @@
# other software modules.
#
+from __future__ import print_function
+
import copy
+from functools import reduce
import os
import re
import sys
@@ -39,10 +42,10 @@ try:
import pkgconfig
import sources
except KeyboardInterrupt:
- print 'user terminated'
+ print('user terminated', file = sys.stderr)
sys.exit(1)
except:
- print 'error: unknown application load error'
+ print('error: unknown application load error', file = sys.stderr)
sys.exit(1)
def _check_bool(value):
@@ -75,7 +78,7 @@ class package:
def _dictlist(dl):
s = ''
- dll = dl.keys()
+ dll = list(dl.keys())
dll.sort()
for d in dll:
if d:
@@ -250,7 +253,7 @@ class file:
def _dict(dd):
s = ''
- ddl = dd.keys()
+ ddl = list(dd.keys())
ddl.sort()
for d in ddl:
s += ' ' + d + ': ' + dd[d] + '\n'
@@ -339,14 +342,14 @@ class file:
outter level. Nested levels will need to split with futher calls.'''
trace_me = False
if trace_me:
- print '------------------------------------------------------'
+ print('------------------------------------------------------')
macros = []
nesting = []
has_braces = False
c = 0
while c < len(s):
if trace_me:
- print 'ms:', c, '"' + s[c:] + '"', has_braces, len(nesting), nesting
+ print('ms:', c, '"' + s[c:] + '"', has_braces, len(nesting), nesting)
#
# We need to watch for shell type variables or the form '${var}' because
# they can upset the brace matching.
@@ -394,9 +397,9 @@ class file:
macros.append(s[macro_start:c + 1].strip())
c += 1
if trace_me:
- print 'ms:', macros
+ print('ms:', macros)
if trace_me:
- print '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='
+ print('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=')
return macros
def _shell(self, line):
@@ -435,7 +438,7 @@ class file:
op = test[1]
ver = self.macros.expand(test[2])
ok = pkg.check(op, ver)
- except pkgconfig.error, pe:
+ except pkgconfig.error as pe:
self._error('pkgconfig: check: %s' % (pe))
except:
raise error.internal('pkgconfig failure')
@@ -459,7 +462,7 @@ class file:
fflags += [f]
pkg_flags = ' '.join(fflags)
log.trace('pkgconfig: %s: %s' % (flags, pkg_flags))
- except pkgconfig.error, pe:
+ except pkgconfig.error as pe:
self._error('pkgconfig: %s: %s' % (flags, pe))
except:
raise error.internal('pkgconfig failure')
@@ -1127,7 +1130,7 @@ class file:
try:
log.trace('config: %s: _open: %s' % (self.name, path.host(configname)))
config = open(path.host(configname), 'r')
- except IOError, err:
+ except IOError as err:
raise error.general('error opening config file: %s' % (path.host(configname)))
self.configpath += [configname]
@@ -1171,7 +1174,7 @@ class file:
self.load_depth -= 1
def defined(self, name):
- return self.macros.has_key(name)
+ return name in self.macros
def define(self, name):
if name in self.macros:
@@ -1229,14 +1232,14 @@ def run():
opts = options.load(sys.argv, defaults = 'defaults.mc')
log.trace('config: count %d' % (len(opts.config_files())))
for config_file in opts.config_files():
- s = file(config_file, opts)
- print s
+ s = open(config_file, opts)
+ print(s)
del s
- except error.general, gerr:
- print gerr
+ except error.general as gerr:
+ print(gerr)
sys.exit(1)
- except error.internal, ierr:
- print ierr
+ except error.internal as ierr:
+ print(ierr)
sys.exit(1)
except KeyboardInterrupt:
log.notice('abort: user terminated')