X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-util.git;a=blobdiff_plain;f=source%2Fnew-driver;h=14178d3241dfb5849abe4886aff646601444f6d1;hp=23fe85b8019e232e06837fbb4f4ffdf44bdf66b8;hb=f6b99cb8bd9b84fb47d15cedc32f97832bdc13ba;hpb=89b783df04538b4b3276d7de062bf771f8622681 diff --git a/source/new-driver b/source/new-driver index 23fe85b..14178d3 100755 --- a/source/new-driver +++ b/source/new-driver @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/env python3 ## ## This file is part of the sigrok-util project. ## @@ -29,13 +29,13 @@ import datetime 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): @@ -108,7 +108,7 @@ def do_automake(gitdir, names): 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) @@ -178,7 +178,7 @@ if __name__ == '__main__': 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)) @@ -193,8 +193,10 @@ if __name__ == '__main__': 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()),