-#!/usr/bin/python3
+#!/usr/bin/env python3
##
## This file is part of the sigrok-util project.
##
TMPL_AUTOCONF_DRIVER = "SR_DRIVER([{name}], [{short}])\n"
-TMPL_FILES = ('api.c', 'protocol.c', 'protocol.h')
+TMPL_FILES = ('protocol.h', 'protocol.c', 'api.c')
TMPL_HWMAKE_DRIVERLIB = """if HW_{upper}
-libsigrok_la_SOURCES +="""
+src_libdrivers_la_SOURCES +="""
for tmpl_file in TMPL_FILES:
- TMPL_HWMAKE_DRIVERLIB += " \\\nsrc/hardware/{short}/" + tmpl_file
-TMPL_HWMAKE_DRIVERLIB += "\nendif"
+ TMPL_HWMAKE_DRIVERLIB += " \\\n\tsrc/hardware/{short}/" + tmpl_file
+TMPL_HWMAKE_DRIVERLIB += "\nendif\n"
def tmpl(template, names):
do_autoconf(gitdir, names)
do_automake(gitdir, names)
do_driverskel(gitdir, tmpldir, names)
- make_patch(gitdir)
+ make_patch(gitdir, names)
except Exception as e:
raise
print(e)
if drv_short > names['upper']:
out += tmpl(TMPL_HWMAKE_DRIVERLIB, names)
state = 'done'
- elif not re.match(r'\s*libsigrok_la_SOURCES\b|\s*src/hardware/|endif\b', line):
+ elif not re.match(r'\s*src_libdrivers_la_SOURCES\b|\s*src/hardware/|endif\b', line):
print("[%s]" % line.strip())
# we passed the last entry
out += tmpl(TMPL_HWMAKE_DRIVERLIB, names)
author, email = parse_gitconfig()
parser = ArgumentParser(description='Bootstrap a new sigrok hardware driver')
- parser.add_argument('name', help='new driver name')
+ parser.add_argument('name', nargs='*', default=[], help='new driver name')
parser.add_argument('--giturl', default=defaulturl,
help='URL of the libsigrok git repository '
'(defaults to {0})'.format(defaulturl))
if not opts.author or not opts.email:
parser.error('Please provide your username and email address, '
- 'or set your git configuration up.')
- name = opts.name
+ 'or set your git configuration up.')
+ name = ' '.join(opts.name)
+ if not name:
+ parser.error('Please provide a driver name.')
names = {
'name': name,
'short': re.sub('[^a-z0-9]', '-', name.lower()),