[Piglit] libepoxy conversion v2
Jose Fonseca
jfonseca at vmware.com
Fri Mar 7 12:02:44 PST 2014
----- Original Message -----
> Ken Phillis Jr <kphillisjr at gmail.com> writes:
>
> > On Mon, Feb 24, 2014 at 1:41 PM, Eric Anholt <eric at anholt.net> wrote:
> >> I'd really like to get this in soon -- Fabian just spent what was
> >> probably quite a bit of time building a new piglit-private dispatch
> >> builder due to the .spec files no longer being updated, and I'd
> >> rather we not waste anyone else's time. I still haven't heard
> >> anything from anyone using Windows, which is the only real risk I see
> >> with this series.
> >>
> >
> > Since I tend to use windows a bit I will go ahead and review the
> > overall patch ( including libepoxy ).
> >
> > 1) Requiring unix-specific features to compile on windows will drive
> > away developers. ( I am talking about the pkgconfig requirement ).
> > It's not exactly a good idea to require this on windows.
> > 2) libepoxy itself uses autogen and autoconf... This is an absolute
> > nightmare for windows developers. I would like to suggest adding cmake
> > build options to libepoxy ( Mainly to help improve the build process
> > on systems that lack libepoxy and also make it easier to integrate
> > within piglit itself )
>
> Yeah, and cmake is a nightmare for linux developers. (So is automake,
> but cmake is worse). Based on my experience in open source software so
> far, I'm not expecting contributions from windows developers -- I'd be
> happily surprised to get some, but I'm not waiting. So "this will drive
> away windows developers" ends up having basically no weight, compared to
> me being able to get work done.
That maybe fine for libepoxy, but this essentially means one of two things: 1) libepoxy is not suitable as a dependency to a cross-platform project like piglit , or 2) windows developers are not welcome on piglit. I can't think of it in any other way.
BTW, using cmake+ninja addresses many of issues experience while using cmake+make. E.g.:
$ cd piglit
$ cmake -H. -Bbuild/make
$ time make -C build/make -j4
[...]
real 2m7.752s
user 6m38.472s
sys 0m47.720s
$ time make -C build/make -j4
[...]
real 0m7.082s
user 0m10.604s
sys 0m4.024s
$ time make -C build/make -j4 clean
[...]
real 0m3.926s
user 0m6.284s
sys 0m2.296s
$ cmake -H. -Bbuild/ninja -G Ninja
$ time ninja -C build/ninja
[...]
real 1m38.826s
user 5m32.744s
sys 0m30.812s
$ time ninja -C build/ninja
ninja: Entering directory `build/ninja'
ninja: no work to do.
real 0m0.058s
user 0m0.044s
sys 0m0.012s
$ $ time ninja -C build/ninja clean
ninja: Entering directory `build/ninja'
[1/1] Cleaning all built files...
Cleaning... 3432 files.
real 0m0.116s
user 0m0.068s
sys 0m0.040s
In short:
task cmake+make cmake+ninkja
build from scratch 2m 8s 1m 39s
no-op build 7s 0s
clean 4s 0s
Jose
More information about the Piglit
mailing list