qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 01/17] scripts/update-linux-headers.sh: pull


From: Thomas Huth
Subject: Re: [Qemu-devel] [PATCH v2 01/17] scripts/update-linux-headers.sh: pull virtio hdrs
Date: Mon, 16 Feb 2015 15:27:54 +0100

On Sun, 15 Feb 2015 12:38:34 +0100
"Michael S. Tsirkin" <address@hidden> wrote:

> It doesn't make sense to copy values manually:
> the only issue with getting headers from linux
> seems to be dealing with linux/types, we
> can easily fix that automatically while importing.
> 
> Signed-off-by: Michael S. Tsirkin <address@hidden>
> ---
>  scripts/update-linux-headers.sh | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
> 
> diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh
> index c8e026d..738e590 100755
> --- a/scripts/update-linux-headers.sh
> +++ b/scripts/update-linux-headers.sh
> @@ -76,4 +76,37 @@ else
>      cp "$linux/COPYING" "$output/linux-headers"
>  fi
> 
> +
> +rm -rf "$output/include/standard-headers/sys"
> +mkdir -p "$output/include/standard-headers/sys"
> +for f in $tmpdir/include/linux/virtio*h; do
> +    if
> +        grep '#include' "$f" | grep -v -e 'linux/virtio' \
> +                                     -e 'linux/types' \
> +                                     -e 'linux/if_ether' \
> +                                     > /dev/null
> +    then
> +        echo "Unexpected #include in input file $f".
> +        exit 2
> +    fi
> +
> +    header=$(expr "$f" : '.*/\(.*\)');

I think you could also use "basename $f" instead - that would be
easier to read.

> +    sed -e 's/__u\([0-9][0-9]*\)/uint\1_t/g' \
> +        -e 's/__le\([0-9][0-9]*\)/uint\1_t/g' \
> +        -e 's/__be\([0-9][0-9]*\)/uint\1_t/g' \
> +        -e 's/<linux\/\([^>]*\)>/"standard-headers\/sys\/\1"/' \
> +        -e 's/__bitwise__//' \
> +        -e 's/__attribute__((packed))/QEMU_PACKED/' \
> +        "$tmpdir/include/linux/$header" > \
> +        "$output/include/standard-headers/sys/$header";
> +done
> +
> +cat <<EOF >$output/include/standard-headers/sys/types.h
> +#include <inttypes.h>

This is just about getting the uintxx_t types, right? If so, I think it
is also sufficient to just include <stdint.h> instead.

> +#include "qemu/compiler.h"
> +EOF
> +cat <<EOF >$output/include/standard-headers/sys/if_ether.h
> +#define ETH_ALEN    6
> +EOF
> +
>  rm -rf "$tmpdir"

Reviewed-by: Thomas Huth <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]