[Piglit] [RFC PATCH 2/2] cmake: build the util libraries as shared under Windows

Emil Velikov emil.l.velikov at gmail.com
Sun Nov 23 10:11:32 PST 2014


On 23/11/14 11:18, Jose Fonseca wrote:
> On 22/11/14 22:26, Emil Velikov wrote:
>> Rather than rebuilding every single test as we change the util
>> libraries and increase the size of each test by ~9MiB (as noticed
>> in the mingw-w64 build), just revert to shared piglitutil* libs.
> 
> This is great. I actually tried to do this, a year ago or so, but I gave
> up half way through trying to overcome "missing symbols". I don't know
> if changes in piglit made this easier or if you found a better solution,
> but I'm happy you worked it out.
> 
The compile-time missing symbols should be resolved with patch 01/02. If
there are any missing at runtime, can you provide any information -
which symbol(s) on what Windows, is piglit/glut/etc build via
mingw{32,-w64} or MSVC, etc. ?

>> TODO:
>>   - Check if the DLLs are installed and where.
>>   - If there is one or more executables linking against them, but located
>> in a different folder, see the next todo note.
>>   - Modify the python scripts to set PATH to the location of the DLLs.
>> Alternatively apply any of the other solutions as mentioned here
> 
> The solution is to put all .dlls on the bin directory, next to the
> executables.
> 
> And I think that the
> 
>    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${piglit_BINARY_DIR}/bin)
> 
I'm not sure if that will collide with the install() directive below,
thus the notes and contingency plan :P

> on piglit's top CMakeLists.txt.
> 
> That said, I think I'd like first to get piglit + waffle on windows
> wokring reliably, before DLL'ifying the libraries.  This way I don't
> have to worry about testing with glut.
> 
DLL'ifying the libraries is not related to using glut/waffle. Thus one
can just have it ticked off (confirm that it works ok), for either (or
both) builds and worry about the waffle WGL bugs as we uncover them :)

My current (waffle) builds are
 - Linux: (GCC default build) ~1150 files, 33MiB in size
 - Windows: (MSVC default build) ~1030 files, 4.9GiB in size.
~70% of which are the debug symbols.

So it's approx 45 times larger, when we ignore the debug symbols and
that Windows has ~10% tests less. Or 170 times if we consider it.

Hope that's enough to convince you that it might be nice to have this
earlier rather than later :)

-Emil


More information about the Piglit mailing list