scripts/tags.sh: fix the Kconfig tags generation when using latest ctags
authorKevin Hao <haokexin@gmail.com>
Sat, 28 Jan 2023 06:49:16 +0000 (14:49 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 3 Feb 2023 06:50:10 +0000 (22:50 -0800)
The Kconfig language has already been built-in in the latest ctags, so it
would error exit if we try to define it as an user-defined language via
'--langdef=kconfig'.  This results that there is no Kconfig tags in the
final tag file.  Fix this by skipping the user Kconfig definition for the
latest ctags.

Link: https://lkml.kernel.org/r/20230128064916.912744-1-haokexin@gmail.com
Signed-off-by: Kevin Hao <haokexin@gmail.com>
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Nicolas Schier <nicolas@fjasle.eu>
Cc: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com>
Cc: Vipin Sharma <vipinsh@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
scripts/tags.sh

index e137cf15aae9d778542b10b62fad4e3d6d499ca1..84775f08260f30429a2484b3f0ab4bf36c638d31 100755 (executable)
@@ -264,10 +264,12 @@ exuberant()
        --$CTAGS_EXTRA=+fq --c-kinds=+px --fields=+iaS --langmap=c:+.h \
        "${regex[@]}"
 
-       setup_regex exuberant kconfig
-       all_kconfigs | xargs $1 -a                              \
-       --langdef=kconfig --language-force=kconfig "${regex[@]}"
-
+       KCONFIG_ARGS=()
+       if ! $1 --list-languages | grep -iq kconfig; then
+               setup_regex exuberant kconfig
+               KCONFIG_ARGS=(--langdef=kconfig --language-force=kconfig "${regex[@]}")
+       fi
+       all_kconfigs | xargs $1 -a "${KCONFIG_ARGS[@]}"
 }
 
 emacs()