Re: [PATCH v2 5/9] gen_compile_commands: make -o option independent of -d option
From: Nick Desaulniers
Date: Fri Aug 21 2020 - 20:36:07 EST
On Fri, Aug 21, 2020 at 12:02 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> Change the -o option independent of the -d option, which is I think
> clearer behavior. Some people may like to use -d to specify a separate
> output directory, but still output the compile_commands.py in the
> source directory (unless the source tree is read-only) because it is
> the default location Clang Tools search for the compilation database.
>
> Also, move the default parameter to the default= argument of the
> .add_argument().
>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> ---
>
> Changes in v2:
> - New patch
>
> scripts/gen_compile_commands.py | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/scripts/gen_compile_commands.py b/scripts/gen_compile_commands.py
> index 5f6318da01a2..3ed958b64658 100755
> --- a/scripts/gen_compile_commands.py
> +++ b/scripts/gen_compile_commands.py
> @@ -39,11 +39,13 @@ def parse_arguments():
>
> directory_help = ('specify the output directory used for the kernel build '
> '(defaults to the working directory)')
> - parser.add_argument('-d', '--directory', type=str, help=directory_help)
> + parser.add_argument('-d', '--directory', type=str, default='.',
> + help=directory_help)
>
> - output_help = ('The location to write compile_commands.json (defaults to '
> - 'compile_commands.json in the search directory)')
> - parser.add_argument('-o', '--output', type=str, help=output_help)
> + output_help = ('path to the output command database (defaults to ' +
> + _DEFAULT_OUTPUT + ')')
> + parser.add_argument('-o', '--output', type=str, default=_DEFAULT_OUTPUT,
> + help=output_help)
>
> log_level_help = ('the level of log messages to produce (defaults to ' +
> _DEFAULT_LOG_LEVEL + ')')
> @@ -52,11 +54,9 @@ def parse_arguments():
>
> args = parser.parse_args()
>
> - directory = args.directory or os.getcwd()
> - output = args.output or os.path.join(directory, _DEFAULT_OUTPUT)
> - directory = os.path.abspath(directory)
> -
> - return args.log_level, directory, output
> + return (args.log_level,
> + os.path.abspath(args.directory),
> + args.output)
>
>
> def process_line(root_directory, command_prefix, file_path):
> --
> 2.25.1
>
--
Thanks,
~Nick Desaulniers