2014-07-27 21:30:08 -04:00
|
|
|
import os, struct
|
|
|
|
from distutils.version import StrictVersion
|
2013-02-07 16:07:30 -05:00
|
|
|
|
|
|
|
def mkdir_noerror(d):
|
|
|
|
try:
|
|
|
|
os.mkdir(d)
|
|
|
|
except OSError:
|
|
|
|
pass
|
|
|
|
|
2013-02-08 14:25:20 -05:00
|
|
|
def language_by_filename(name):
|
|
|
|
extension = name.rsplit(".")[-1]
|
|
|
|
if extension in ["v", "vh", "vo"]:
|
|
|
|
return "verilog"
|
|
|
|
if extension in ["vhd", "vhdl", "vho"]:
|
|
|
|
return "vhdl"
|
|
|
|
return None
|
|
|
|
|
2014-04-14 11:19:53 -04:00
|
|
|
def write_to_file(filename, contents, force_unix=False):
|
|
|
|
newline = None
|
|
|
|
if force_unix:
|
|
|
|
newline = "\n"
|
|
|
|
f = open(filename, "w", newline=newline)
|
2013-02-07 16:07:30 -05:00
|
|
|
f.write(contents)
|
|
|
|
f.close()
|
2014-07-27 21:30:08 -04:00
|
|
|
|
|
|
|
def arch_bits():
|
|
|
|
return struct.calcsize("P")*8
|
|
|
|
|
|
|
|
def versions(path):
|
|
|
|
for n in os.listdir(path):
|
|
|
|
full = os.path.join(path, n)
|
|
|
|
if not os.path.isdir(full):
|
|
|
|
continue
|
|
|
|
try:
|
|
|
|
yield StrictVersion(n)
|
|
|
|
except ValueError:
|
|
|
|
continue
|