qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 2/2] Add --firmwarepath to configure


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 2/2] Add --firmwarepath to configure
Date: Wed, 13 Sep 2017 22:43:22 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

On 13/09/2017 14:09, Gerd Hoffmann wrote:
> Add a firmware path config option to configure.  Multiple directories
> are accepted, with the usual colon as separator.  Default value is
> ${prefix}/share/qemu-firmware.  The path is searched in addition to the
> current search path (typically ${prefix}/share/qemu).
> 
> This prepares qemu for the planned split of the prebuilt firmware blobs
> into a separate project.
> 
> Distributions can also use this to get rid of the firmware symlink farm
> and add -- for example -- /usr/share/seabios to the firmware path
> instead.
> 
> Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
>  configure             |  6 ++++++
>  vl.c                  | 12 +++++++++---
>  scripts/create_config |  2 +-
>  3 files changed, 16 insertions(+), 4 deletions(-)
> 
> diff --git a/configure b/configure
> index fd7e3a5e81..870bdbd3e4 100755
> --- a/configure
> +++ b/configure
> @@ -332,6 +332,7 @@ modules="no"
>  prefix="/usr/local"
>  mandir="\${prefix}/share/man"
>  datadir="\${prefix}/share"
> +firmwarepath="\${prefix}/share/qemu-firmware"
>  qemu_docdir="\${prefix}/share/doc/qemu"
>  bindir="\${prefix}/bin"
>  libdir="\${prefix}/lib"
> @@ -915,6 +916,8 @@ for opt do
>    ;;
>    --localstatedir=*) local_statedir="$optarg"
>    ;;
> +  --firmwarepath=*) firmwarepath="$optarg"
> +  ;;
>    --sbindir=*|--sharedstatedir=*|\
>    --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\
>    --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
> @@ -1418,6 +1421,7 @@ Advanced options (experts only):
>    --libdir=PATH            install libraries in PATH
>    --sysconfdir=PATH        install config in PATH$confsuffix
>    --localstatedir=PATH     install local state in PATH (set at runtime on 
> win32)
> +  --firmwarepath=PATH      search PATH for firmware files

Maybe --firmwaredir or --with-firmwaredir (because firmwaredir is not
one of the "standard" directories)?

> @@ -4232,11 +4233,16 @@ int main(int argc, char **argv, char **envp)
>          qemu_set_log(0);
>      }
>  
> -    /* If no data_dir is specified then try to find it relative to the
> -       executable path.  */
> +    /* add configured firmware directories */
> +    dirs = g_strsplit(CONFIG_QEMU_FIRMWAREPATH, ":", 0);

Windows probably wants to use ; here, so you can use
G_SEARCHPATH_SEPARATOR_S instead of ":".

Thanks,

Paolo

> +    for (i = 0; dirs[i] != NULL; i++) {
> +        qemu_add_data_dir(dirs[i]);
> +    }
> +
> +    /* try to find datadir relative to the executable path */
>      qemu_add_data_dir(os_find_datadir());
>  
> -    /* If all else fails use the install path specified when building. */
> +    /* add the datadir specified when building */
>      qemu_add_data_dir(CONFIG_QEMU_DATADIR);
>  
>      /* -L help lists the data directories and exits. */
> diff --git a/scripts/create_config b/scripts/create_config
> index e6929dd61e..603b826886 100755
> --- a/scripts/create_config
> +++ b/scripts/create_config
> @@ -15,7 +15,7 @@ case $line in
>      echo "#define QEMU_VERSION_MINOR $minor"
>      echo "#define QEMU_VERSION_MICRO $micro"
>      ;;
> - qemu_*dir=*) # qemu-specific directory configuration
> + qemu_*dir=* | qemu_*path=*) # qemu-specific directory configuration
>      name=${line%=*}
>      value=${line#*=}
>      define_name=$(echo $name | LC_ALL=C tr '[a-z]' '[A-Z]')
> 




reply via email to

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