In several cases, we call `python` explicitly. On many modern operating systems (e.g., Ubuntu 22.04), this command no longer exists, and if it does, it's often an alias to python3. Because the python3 executable has been around for so long, simply using that directly (instead of, e.g., autodetecting the OS preferences) is a simple fix that immediately allows building bitfiles, e.g. for the B2xx series, on more recent OSes. Original-commit: 356cd172bb5ae0d043825bd1f4dffbd6646ec3d2
38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
#
|
|
# Copyright 2011-2012 Ettus Research LLC
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
import sys
|
|
import re
|
|
|
|
def print_timing_constraint_summary(twr_file):
|
|
output = ""
|
|
keep = False
|
|
done = False
|
|
try: open(twr_file)
|
|
except IOError:
|
|
print("cannot open or find %s; no timing summary to print!"%twr_file)
|
|
exit(-1)
|
|
for line in open(twr_file).readlines():
|
|
if 'Derived Constraint Report' in line: keep = True
|
|
if 'constraint' in line and 'met' in line: done = True
|
|
if not keep and done: keep = True
|
|
if keep: output += line
|
|
if done: break
|
|
print(("\n\n"+output))
|
|
|
|
if __name__=='__main__': list(map(print_timing_constraint_summary, sys.argv[1:]))
|