<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.32.2">
</HEAD>
<BODY>
<BR>
Commit<BR>
<A HREF="http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/commit/?id=39afe69ad7d2258d4043044d1283bd6e311e48da">http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/commit/?id=39afe69ad7d2258d4043044d1283bd6e311e48da</A>
<BLOCKQUOTE>
<PRE>
build: collapse all Makefile.am files into a single non-recursive one.
</PRE>
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>
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.
</PRE>
</BLOCKQUOTE>
<BR>
has raised a number of issues. I have submitted patches for the easy ones, but there are some that I cannot figure out alone.<BR>
<BR>
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.
<BLOCKQUOTE>
<PRE>
AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects])
</PRE>
</BLOCKQUOTE>
In turn this option requires <TT>AM_PROG_CC_C_O</TT> (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.<BR>
<BR>
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.<BR>
<BR>
<BR>
3) In a previous commit,
<BLOCKQUOTE>
<PRE>
AM_CPPFLAGS = -I$(top_srcdir)/include $(XORG_CFLAGS)
</PRE>
</BLOCKQUOTE>
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. <BR>
<BR>
4) The unit test program has changed from a noinst_PROGRAMS to a check_PROGRAMS which I vaguely recall you did not want.<BR>
<BR>
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.<BR>
<BR>
</BODY>
</HTML>