diff options
author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2018-09-12 22:32:52 +0200 |
---|---|---|
committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2018-09-12 22:32:52 +0200 |
commit | 0ffa6eb14cb8234e8bb7767ec683996e9830c725 (patch) | |
tree | ddd23f1096afac1e3a6ab6897ba00a9b3133b926 | |
parent | bdd4b1b3d4287fa4bfa997c93342213d8220ce7b (diff) | |
download | gtk-doc-scangobj-quotes-fix.tar.gz |
gtkdoc-scangobj: allow to pass --{c,ld}flags multiple timesscangobj-quotes-fix
Instead of supporting the cflags argument just once, allow to pass it multiple
times. This allows build systems like meson to append cflags using
`scanobjs_args` the parameter.
Updated tests accordingly to check this.
-rwxr-xr-x | gtkdoc-scangobj.in | 10 | ||||
-rw-r--r-- | tests/helpers/gtkdoc_scangobj_runner.py | 19 |
2 files changed, 16 insertions, 13 deletions
diff --git a/gtkdoc-scangobj.in b/gtkdoc-scangobj.in index 4cbe130..9676956 100755 --- a/gtkdoc-scangobj.in +++ b/gtkdoc-scangobj.in @@ -43,8 +43,10 @@ if __name__ == '__main__': help='The directory where the results are stored') parser.add_argument('--cc', default='', help='The compiler to use') parser.add_argument('--ld', default='', help='The linker to use') - parser.add_argument('--cflags', default='', help='Compiler flags') - parser.add_argument('--ldflags', default='', help='Linker flags') + parser.add_argument('--cflags', type=str, default=[], help='Compiler flags', + action='append') + parser.add_argument('--ldflags', type=str, default=[], help='Linker flags', + action='append') parser.add_argument('--run', default='', help='Command for running the scanner') parser.add_argument('--verbose', action='store_true', default=False, @@ -54,6 +56,10 @@ if __name__ == '__main__': if options.types == '': options.types = os.path.join(options.output_dir, options.module + '.types') + if options.cflags: + options.cflags = ' '.join(options.cflags) + if options.ldflags: + options.ldflags = ' '.join(options.ldflags) if not options.cc: options.cc = os.environ.get('CC', 'gcc') diff --git a/tests/helpers/gtkdoc_scangobj_runner.py b/tests/helpers/gtkdoc_scangobj_runner.py index 45067ac..c3546f7 100644 --- a/tests/helpers/gtkdoc_scangobj_runner.py +++ b/tests/helpers/gtkdoc_scangobj_runner.py @@ -30,28 +30,25 @@ if __name__ == '__main__': '--cflags'] + options.extra_pkg, stdout=PIPE, stderr=PIPE) - cflags = [] output, error = process.communicate() if process.returncode == 0: - cflags += output.rstrip().decode('utf-8').split(' ') + cflags = output.rstrip().decode('utf-8') + arguments.append('--cflags={0}'.format(cflags)) - cflags += options.extra_cflags - arguments.append('--cflags={0}'.format(' '.join(cflags))) + for flag in options.extra_cflags: + arguments.append('--cflags={0}'.format(flag)) process = Popen([options.pkg_config, '--libs'] + options.extra_pkg, stdout=PIPE, stderr=PIPE) - libs = [] output, error = process.communicate() if process.returncode == 0: - libs += output.rstrip().decode('utf-8').split(' ') + arguments.append('--ldflags={0}'.format(output.rstrip().decode('utf-8'))) for lib in options.extra_lib: - libs.append('-l{0}'.format(os.path.basename(lib).split('.')[0].lstrip('lib'))) - libs.append('-L{0}'.format(os.path.dirname(lib))) - libs.append('-Wl,-rpath,{0}'.format(os.path.dirname(lib))) - - arguments.append('--ldflags={0}'.format(' '.join(libs))) + arguments.append('--ldflags=-l{0}'.format(os.path.basename(lib).split('.')[0].lstrip('lib'))) + arguments.append('--ldflags=-L{0}'.format(os.path.dirname(lib))) + arguments.append('--ldflags=-Wl,-rpath,{0}'.format(os.path.dirname(lib))) sys.exit(call(arguments)) |