Re: [PATCH 25/33] kbuild: use POSIX BRE in headers install target

Oleg Verych
2007-07-21T08:09:18Z

* Date: Tue, 17 Jul 2007 16:08:54 +0200
>
> From: Mike Frysinger <vapier@gentoo.org>
>
> The sed expression used at the moment in scripts/Makefile.headersinst
> relies on the (handy) GNU extension where you can escape ERE's in an
> otherwise BRE without using the GNU -r option. The following patch
> replaces this "\+" usage with a functionally equivalent POSIX BRE compliant
> "\{1,\}".

Matching at least one occurrence, right?

> Tested with `make headers_install` against blackfin/x86_64/i386
> targets.
>
> Stupid whiny OS X users and their crappy sed ;)

That may be. My games with strict POSIX sed syntax render busybox's sed
as crap for example. So, you never know.

> # Eliminate the contents of (and inclusions of) compiler.h

OK, that means annotations and non ANSI 'inline' thing. Lets see.

> HDRSED := sed -e "s/ inline / __inline__ /g" \
[]
> - -e "s/[[:space:]]__attribute_const__[[:space:]]\+/\ /g" \

* [[:space:]] are more than tab and space isspace(3), is it more
effective to use [[:blank:]] instead?

> + -e
> "s/[[:space:]]__user[[:space:]]\{1,\}

substitute one or more ' __user '

> / /g" \

with ' ', everywhere (flag 'g'). So, is it really needed that '\{' thing?

> + -e "s/(__user[[:space:]]\{1,\}/ (/g" \
> + -e "s/[[:space:]]__force[[:space:]]\{1,\}/ /g" \
> + -e "s/(__force[[:space:]]\{1,\}/ (/g" \
> + -e "s/[[:space:]]__iomem[[:space:]]\{1,\}/ /g" \
> + -e "s/(__iomem[[:space:]]\{1,\}/ (/g" \
> + -e "s/[[:space:]]__attribute_const__[[:space:]]\{1,\}/\ /g" \
> -e "s/[[:space:]]__attribute_const__$$//" \

Is it allowed to use identifiers like '__attribute_const__foo' or
__attribute_const__[anything]? If it's not, last line is useless also.

> -e "/^\#include <linux\/compiler.h>/d"
whitespace is allowed ^ here and is used for better readability
sometimes.
____