Synaptics: a number of issues with commit 39afe69ad7d2

Gaetan Nadon memsize at videotron.ca
Mon Jun 13 16:44:55 PDT 2011


Commit
http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/commit/?id=39afe69ad7d2258d4043044d1283bd6e311e48da
        build: collapse all Makefile.am files into a single non-recursive one.
        With this change, the whole of the build is done non-recursively in the top-level Makefile.am. 
        This reduces the amount of overhead due to recursing into directories only to build one file.

has raised a number of issues. I have submitted patches for the easy
ones, but there are some that I cannot figure out alone.

1) Build performance. The patch implies the main goal was for build
performance. I have done configuration of the module before and after
the patch and saw no measurable difference. The assumption that overhead
is reduced is completely false. Multiple targets in the same directory
triggers per target compilation which adds overhead. Further more, a
follow-on patch introduces subdir-objects which puts object code in sub
directories which would negate any benefits.

        AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects])

In turn this option requires AM_PROG_CC_C_O (currently missing) which
causes more automake work. To make matters worse, the .so files is under
the root directory .libs while the .lo files are under the src .libs
directory. They are all over the place.

2) For the driver LD_FLAGS the -share option has been added. Probably
nothing wrong, but it makes synaptics different than the other 55
drivers. If this is good, we can apply that to other drivers. I saw a
minor change (input_LTLIBRARIES) which is a cleaner way of doing things
that should be applied to others.


3) In a previous commit,

        AM_CPPFLAGS = -I$(top_srcdir)/include $(XORG_CFLAGS)

was erroneously changed to include XORG_CFLAGS. This variable holds
compiler flags (the visibility flag). The cpp flags should not hold
compiler flags as they are not passed to libraries. This got fixed
during the move to the toplevel makefile, but I don't know if it is
accidental or not. C and CPP FLAGS are not interchangeable. 

4) The unit test program has changed from a noinst_PROGRAMS to a
check_PROGRAMS which I vaguely recall you did not want.

I have submitted a patch series to fix the packaging and configuration
errors/issues. The changes above should have been submitted and reviewed
as separate patches. It might be easier to revert and reply individual
changes. Some changes were desirable but should be done together with
other drivers.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110613/b4487ce4/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110613/b4487ce4/attachment.pgp>


More information about the xorg-devel mailing list