qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 4/5] tests/uefi-test-tools: add build scripts


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH v3 4/5] tests/uefi-test-tools: add build scripts
Date: Tue, 5 Feb 2019 01:23:11 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0

On 2/4/19 10:55 PM, Michael S. Tsirkin wrote:
> On Mon, Feb 04, 2019 at 08:46:33PM +0100, Philippe Mathieu-Daudé wrote:
>> On 2/4/19 8:32 PM,  Michael S. Tsirkin wrote:
>>> On Mon, Feb 04, 2019 at 07:41:38PM +0100, Laszlo Ersek wrote:
>>>> On 02/04/19 18:47, Michael S. Tsirkin wrote:
>>>>> On Mon, Feb 04, 2019 at 05:03:24PM +0100, Laszlo Ersek wrote:
>>>>>> Introduce the following build scripts under "tests/uefi-test-tools":
[...]>>>>>> +# In turn, the "build" utility of edk2 BaseTools invokes
another "make".
>>>>>> +# Although the outer "make" process advertizes its job server to all 
>>>>>> child
>>>>>> +# processes via MAKEFLAGS in the environment, the outer "make" closes 
>>>>>> the job
>>>>>> +# server file descriptors (exposed in MAKEFLAGS) before executing a 
>>>>>> recipe --
>>>>>> +# unless the recipe is recognized as a recursive "make" recipe. Recipes 
>>>>>> that
>>>>>> +# call $(MAKE) are classified automatically as recursive; for 
>>>>>> "build.sh" below,
>>>>>> +# we must mark the recipe manually as recursive, by using the "+" 
>>>>>> indicator.
>>>>>> +# This way, when the inner "make" starts a parallel build of the target 
>>>>>> edk2
>>>>>> +# module, it can communicate with the outer "make"'s job server.
>>>>>> +Build/bios-tables-test.%.efi: build-edk2-tools
>>>>>> +        +./build.sh $(edk2_dir) BiosTablesTest $* $@
>>>>>
>>>>> Does this actually work with an out of tree build?
>>>>
>>>> It's not supposed to.
>>>>
>>>> Again, it's not something that a normal QEMU build includes. It is only
>>>> for maintainers to rebuild when there is a reason to do so. The output
>>>> binaries are tracked by git, and will be used as-is (in binary form) by
>>>> the ACPI test suite. If there are updates to the UEFI source code, the
>>>> binaries will have to be rebuilt by a maintainer (or by me, if I submit
>>>> the UEFI code changes), and the refreshed blobs are to be checked into
>>>> git. Think iPXE oproms for an analogy.
>>>>
>>>>> Shouldn't this be SRC_PATH/tests/uefi-test-tools/ ?
>>>>
>>>> No; nothing under roms/ is built like that, and the same applies to this
>>>> patch as well.
>>>>
>>>> *Conceptually*, this patch is for roms/. However, in earlier discussion,
>>>> it was suggested that roms/ be kept dedicated to external git submodules
>>>> only, and that we not add such ROM source to roms/ whose master repo is
>>>> genuinely the QEMU repo. Please see the sub-thread at:
>>>>
>>>>   Re: [PATCH 10/14] tests: acpi: ignore SMBIOS tests when UEFI firmware is 
>>>> used
>>>>   http://mid.mail-archive.com/address@hidden
>>>>
>>>> The last idea was that the UEFI source code should be kept in a direct
>>>> subdirectory of tests/ (rather than in roms/). And the binaries should
>>>> go under tests/data/uefi-boot-images/ (rather than pc-bios/).
>>>>
>>>> Thanks
>>>> Laszlo
>>>
>>> Hmm I see. You see rebuild-expected-aml.sh does not work
>>> like this at all. It works fine with an out of tree build:
>>> check it out.
>>
>> But rebuild-expected-aml.sh does not depend of roms/.
> 
> It absolutely depends on pc-bios/bios.bin

Oh you are right!

I'm taking notes for an eventual future cleanup.

Regards,

Phil.



reply via email to

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