lkml.org 
[lkml]   [2012]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patches in this message
    /
    Date
    From
    SubjectRe: [PATCH] Makefile: fix error when gen TAGS
    On 3/12/2012 12:06 AM, Yang Bai wrote:
    > On Mon, Mar 12, 2012 at 2:46 PM, Stephen Boyd<sboyd@codeaurora.org> wrote:
    >>
    >> What does ctags --version print out for you? I'm not aware of exuberant tags
    >> outputting files called TAGS (although etags would do that and then this
    >> patch wouldn't make sense).
    > hamo@trinity ~ $ ctags --version
    > Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert
    > Compiled: Nov 9 2011, 03:17:31
    > Addresses:<dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
    > Optional compiled features: +wildcards, +regex
    >
    > hamo@trinity ~ $ etags --version
    > Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert
    > Compiled: Nov 9 2011, 03:17:31
    > Addresses:<dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
    > Optional compiled features: +wildcards, +regex
    >
    > hamo@trinity ~ $ ls -l /usr/bin/etags
    > lrwxrwxrwx 1 root root 23 Feb 8 17:48 /usr/bin/etags -> /etc/alternatives/etags
    > hamo@trinity ~ $ ls -l /etc/alternatives/etags
    > lrwxrwxrwx 1 root root 24 Feb 15 10:06 /etc/alternatives/etags ->
    > /usr/bin/ctags-exuberant
    >
    > So I think which kind of name Exuberant Ctags generates depends on argv[0].
    >

    Ah ok. How about this patch instead? Then we don't duplicate the sed
    statement.

    ---->8-------

    diff --git a/scripts/tags.sh b/scripts/tags.sh
    index 833813a..b390096 100755
    --- a/scripts/tags.sh
    +++ b/scripts/tags.sh
    @@ -168,7 +168,7 @@ exuberant()
    --regex-dotconfig='/^#?[[:blank:]]*(CONFIG_[[:alnum:]_]+)/\1/'

    # Remove structure forward declarations.
    - LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct \1;.*\$\/;"\tx$/d' tags
    + LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct \1;.*\$\/;"\tx$/d' $2
    }

    emacs()
    @@ -213,9 +213,9 @@ emacs()
    xtags()
    {
    if $1 --version 2>&1 | grep -iq exuberant; then
    - exuberant $1
    + exuberant $1 $2
    elif $1 --version 2>&1 | grep -iq emacs; then
    - emacs $1
    + emacs $1 $2
    else
    all_sources | xargs $1 -a
    fi
    @@ -244,11 +244,11 @@ case "$1" in

    "tags")
    rm -f tags
    - xtags ctags
    + xtags ctags $1
    ;;

    "TAGS")
    rm -f TAGS
    - xtags etags
    + xtags etags $1
    ;;
    esac

    But then with your next patch maybe it would be better to just have a flag?

    ----8<-----
    diff --git a/scripts/tags.sh b/scripts/tags.sh
    index 833813a..4b1755d 100755
    --- a/scripts/tags.sh
    +++ b/scripts/tags.sh
    @@ -166,9 +166,6 @@ exuberant()
    all_defconfigs | xargs -r $1 -a \
    --langdef=dotconfig --language-force=dotconfig \
    --regex-dotconfig='/^#?[[:blank:]]*(CONFIG_[[:alnum:]_]+)/\1/'
    -
    - # Remove structure forward declarations.
    - LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct \1;.*\$\/;"\tx$/d' tags
    }

    emacs()
    @@ -233,6 +230,7 @@ if [ "${ARCH}" = "um" ]; then
    fi
    fi

    +remove_structs=
    case "$1" in
    "cscope")
    docscope
    @@ -244,11 +242,18 @@ case "$1" in

    "tags")
    rm -f tags
    - xtags ctags
    + xtags ctags $1
    + remove_structs=y
    ;;

    "TAGS")
    rm -f TAGS
    - xtags etags
    + xtags etags $1
    + remove_structs=y
    ;;
    esac
    +
    +# Remove structure forward declarations.
    +if [ -n $remove_structs ]; then
    + LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct \1;.*\$\/;"\tx$/d' $1
    +fi

    --
    Sent by an employee of the Qualcomm Innovation Center, Inc.
    The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.



    \
     
     \ /
      Last update: 2012-03-12 08:37    [W:0.029 / U:28.932 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site