On Thu, Mar 10, 2011 at 10:20:15AM +1000, Peter Hutterer wrote: > test/Makefile.am included src/Makefile.am for the driver sources. However, > that also lead to the driver being built twice, once in src/ and once in > test/. On make install, test/wacom_drv.so would overwrite the > src/wacom_drv.so and thus install a driver with all static symbols compiled > as non-static. > > This caused the VCOPY bug worked around in > 9d227cd0bd985e7dcb7923974361145ba1d78713. > > Avoid this by moving the sources into a shared included Makefile and build > an independent libwacom-test.la in the test directory. > > Reported-by: Eduard Hasenleithner <ehase...@gmail.com> > Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> > --- > > Thank you for investigating this, much appreciated. I was wondering why > 9d227 was necessary, id didn't really make sense at the time. > This one should do the job now. > > src/Makefile.am | 16 +++------------- > src/common.mk | 15 +++++++++++++++ > test/Makefile.am | 11 ++++++----- > 3 files changed, 24 insertions(+), 18 deletions(-) > create mode 100644 src/common.mk > > diff --git a/src/Makefile.am b/src/Makefile.am > index f3b9a5f..7d6ecf5 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -25,6 +25,8 @@ > # _ladir passes a dummy rpath to libtool so the thing will actually link > # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc. > > +include common.mk > + > @DRIVER_NAME@_drv_la_LTLIBRARIES = @DRIVER_NAME@_drv.la > @DRIVER_NAME@_drv_la_LDFLAGS = -module -avoid-version > @DRIVER_NAME@_drv_ladir = @inputdir@ > @@ -32,16 +34,4 @@ > AM_CPPFLAGS=-I$(top_srcdir)/include/ > AM_CFLAGS = $(XORG_CFLAGS) $(CWARNFLAGS) > > -@DRIVER_NAME@_drv_la_SOURCES = \ > - $(top_srcdir)/src/xf86Wacom.c \ > - $(top_srcdir)/src/xf86Wacom.h \ > - $(top_srcdir)/src/wcmCommon.c \ > - $(top_srcdir)/src/wcmConfig.c \ > - $(top_srcdir)/src/wcmISDV4.c \ > - $(top_srcdir)/src/wcmFilter.c \ > - $(top_srcdir)/src/wcmFilter.h \ > - $(top_srcdir)/src/xf86WacomDefs.h \ > - $(top_srcdir)/src/wcmUSB.c \ > - $(top_srcdir)/src/wcmXCommand.c \ > - $(top_srcdir)/src/wcmValidateDevice.c \ > - $(top_srcdir)/src/wcmTouchFilter.c > +@DRIVER_NAME@_drv_la_SOURCES = $(DRIVER_SOURCES) > diff --git a/src/common.mk b/src/common.mk > new file mode 100644 > index 0000000..fae8d9f > --- /dev/null > +++ b/src/common.mk > @@ -0,0 +1,15 @@ > +# shared makefile between src/Makefile.am and test/Makefile.am > + > +DRIVER_SOURCES= \ > + $(top_srcdir)/src/xf86Wacom.c \ > + $(top_srcdir)/src/xf86Wacom.h \ > + $(top_srcdir)/src/wcmCommon.c \ > + $(top_srcdir)/src/wcmConfig.c \ > + $(top_srcdir)/src/wcmISDV4.c \ > + $(top_srcdir)/src/wcmFilter.c \ > + $(top_srcdir)/src/wcmFilter.h \ > + $(top_srcdir)/src/xf86WacomDefs.h \ > + $(top_srcdir)/src/wcmUSB.c \ > + $(top_srcdir)/src/wcmXCommand.c \ > + $(top_srcdir)/src/wcmValidateDevice.c \ > + $(top_srcdir)/src/wcmTouchFilter.c > diff --git a/test/Makefile.am b/test/Makefile.am > index 1898fe3..5710bb8 100644 > --- a/test/Makefile.am > +++ b/test/Makefile.am > @@ -1,15 +1,16 @@ > if UNITTESTS > -include ../src/Makefile.am > +include ../src/common.mk > > check_PROGRAMS = wacom-tests > -check_LTLIBRARRIES = @DRIVER_NAME@_drv.la > -@DRIVER_NAME@_drv_la_CFLAGS = -DDISABLE_STATIC -I$(top_srcdir)/src > $(XORG_CFLAGS) $(CWARNFLAGS) -fvisibility=default > +check_LTLIBRARIES = libwacom-test.la > +libwacom_test_la_SOURCES =$(DRIVER_SOURCES) > +libwacom_test_la_CFLAGS = -DDISABLE_STATIC -I$(top_srcdir)/src > $(XORG_CFLAGS) $(CWARNFLAGS) -fvisibility=default > > TESTS=$(check_PROGRAMS) > > INCLUDES = -I$(top_srcdir)/src > -AM_CFLAGS += $(GLIB_CFLAGS) > -TEST_LDADD=$(GLIB_LIBS) @DRIVER_NAME@_drv.la > +AM_CFLAGS = $(GLIB_CFLAGS)
This line should read AM_CFLAGS = $(GLIB_CFLAGS) $(XORG_CFLAGS) $(CWARNFLAGS) Cheers, Peter > +TEST_LDADD=$(GLIB_LIBS) libwacom-test.la > COMMON_SOURCES=fake-symbols.c fake-symbols.h > > wacom_tests_LDADD=$(TEST_LDADD) > -- > 1.7.4 ------------------------------------------------------------------------------ Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel