[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] scripts: Explain the difference between linux-headers and st
From: |
Peter Maydell |
Subject: |
Re: [PATCH] scripts: Explain the difference between linux-headers and standard-headers |
Date: |
Thu, 9 Dec 2021 17:44:47 +0000 |
On Thu, 9 Dec 2021 at 17:34, Thomas Huth <thuth@redhat.com> wrote:
>
> If you don't know it, it's hard to figure out the difference between
> the linux-headers folder and the include/standard-headers folder.
> So let's add a short explanation to clarify the difference.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> scripts/update-linux-headers.sh | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh
> index fea4d6eb65..96c7daef94 100755
> --- a/scripts/update-linux-headers.sh
> +++ b/scripts/update-linux-headers.sh
> @@ -9,6 +9,13 @@
> #
> # This work is licensed under the terms of the GNU GPL version 2.
> # See the COPYING file in the top-level directory.
> +#
> +# The script will copy the headers into two target folder:
"folders"
> +#
> +# - linux-headers/ for file that are required for compiling on a Linux host
"files"
> +#
> +# - include/standard-headers/ for files that are used for guest device
> emulation
> +#
We could expand on this a little if you like, eg:
- linux-headers/ for files that are required for compiling on a Linux host.
Generally we have these so we can use kernel structs and defines that
are more recent than the headers that might be in /usr/include/linux
on the host system. Usually this script can do simple file copies
for these headers.
- include/standard-headers/ for files that are used for guest device emulation
and are required on all hosts. For instance, we get our definitions of the
virtio structures from the Linux kernel headers, but we need those
definitions regardless of which host OS we are building on. This script
has to be careful to sanitize the headers to remove any use of Linux-specifics
such as types like "__u64". This work is done in the cp_portable function.
-- PMM