diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | configure.in | 40 | ||||
-rw-r--r-- | src/Makefile.am | 17 |
3 files changed, 39 insertions, 21 deletions
@@ -1,3 +1,6 @@ +2005-08-09 Ping Cheng <pingc@wacom.com> + * Fxied a dlloader option bug (Jeremy Huddleston) + 2005-08-08 Ping Cheng <pingc@wacom.com> * Added --enable-dlloader configuration option * Cleaned Graphire wacom.c code diff --git a/configure.in b/configure.in index 4184b5f..178bd1b 100644 --- a/configure.in +++ b/configure.in @@ -293,10 +293,21 @@ if test "$enable_tabletdev" != "no"; then fi fi +dnl Check for dlloader +WCM_OPTION_DLLOADER=no +AC_ARG_ENABLE(dlloader, +AC_HELP_STRING([--enable-dlloader], [Use dlloader [[default=no]]]), + , enable_dlloader=no) +if test "$enable_dlloader" != "no"; then + WCM_OPTION_DLLOADER=yes +fi + +AM_CONDITIONAL(WCM_DLLOADER, test "$WCM_OPTION_DLLOADER" == "yes") + dnl Check for wacomdrv build WCM_OPTION_WACOMDRV=no AC_ARG_ENABLE(wacomdrv, -AC_HELP_STRING([--enable-wacomdrv], [Enable building wacom_drv.o [[default=yes]]]), +AC_HELP_STRING([--enable-wacomdrv], [Enable building wacom_drv.{o,so} [[default=yes]]]), , enable_wacomdrv=yes) if test "$enable_wacomdrv" != "no"; then if test "$WCM_ENV_XF86" != "yes" && test "$WCM_ENV_XORGSDK" != "yes"; then @@ -307,8 +318,13 @@ if test "$enable_wacomdrv" != "no"; then echo "***" else WCM_OPTION_WACOMDRV=yes - WCM_XF86MODULES="$WCM_XF86MODULES wacom_drv.o" - WCM_EXPMODULES="$WCM_EXPMODULES wacom_drv.o" + if test "$WCM_OPTION_DLLOADER" == "yes" ; then + WCM_XF86MODULES="$WCM_XF86MODULES wacom_drv.so" + WCM_EXPMODULES="$WCM_EXPMODULES wacom_drv.so" + else + WCM_XF86MODULES="$WCM_XF86MODULES wacom_drv.o" + WCM_EXPMODULES="$WCM_EXPMODULES wacom_drv.o" + fi fi fi @@ -334,18 +350,6 @@ if test "$enable_xserver64" != "no"; then fi fi -dnl Check for dlloader -WCM_OPTION_DLLOADER=no -AC_ARG_ENABLE(dlloader, -AC_HELP_STRING([--enable-dlloader], [Use dlloader [[default=no]]]), - , enable_dlloader=no) -if test "$enable_dlloader" != "no"; then - CFLAGS="$CFLAGS -fPIC" - WCM_OPTION_DLLOADER=yes -fi - -AM_CONDITIONAL(WCM_DLLOADER, test "$WCM_OPTION_DLLOADER" == "yes") - dnl Check for modver AC_ARG_ENABLE(modver, AC_HELP_STRING([--enable-modver], [Enable kernel module versioning [[default=usually]]]), @@ -552,7 +556,13 @@ echo " evdev.o - $WCM_OPTION_EVDEV" echo " mousedev.o - $WCM_OPTION_MOUSEDEV" echo " input.o - $WCM_OPTION_INPUT" echo " tabletdev.o - $WCM_OPTION_TABLETDEV" +if test "$WCM_OPTION_DLLOADER" == "yes" ; then +echo " wacom_drv.so - $WCM_OPTION_WACOMDRV $WCM_PATCH_WACOMDRV" +echo " wacom_drv.o - no" +else +echo " wacom_drv.so - no" echo " wacom_drv.o - $WCM_OPTION_WACOMDRV $WCM_PATCH_WACOMDRV" +fi echo "----------------------------------------" dnl Check for x86_64 kernel diff --git a/src/Makefile.am b/src/Makefile.am index ab91176..27fac15 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -17,7 +17,7 @@ DEPFLAGS = @WCM_DEPFLAGS@ # potentially be built or installed depending on the results of # the configuration. EXTRA_PROGRAMS = wacdump xidump xsetwacom -EXTRA_SCRIPTS = wacom_drv.o wacomcpl wacomcpl-exec +EXTRA_SCRIPTS = wacom_drv.o wacom_drv.so wacomcpl wacomcpl-exec # Source dependencies wacdump_SOURCES = wacdump.c wacscrn.c wacscrn.h \ @@ -72,6 +72,10 @@ NO_MERGE_CONSTANTS=@WCM_NO_MERGE_CONSTANTS@ LINUX_INPUT=@WCM_LINUX_INPUT@ +if WCM_DLLOADER +DLLOADER=-fPIC +endif + XF86OBJS = xf86Wacom.o wcmSerial.o wcmUSB.o wcmISDV4.o \ wcmCommon.o wcmCompat.o wcmConfig.o wcmFilter.o @@ -85,7 +89,7 @@ wcmConfig.o: wcmConfig.c xf86Wacom.h wcmFilter.o: wcmFilter.c xf86Wacom.h $(XF86OBJS): xf86Wacom.c Makefile - gcc $(CFLAGS) $(DEPFLAGS) -pipe -ansi \ + $(CC) $(CFLAGS) $(DEPFLAGS) $(DLLOADER) -pipe -ansi \ -pedantic -Wall -Wpointer-arith $(NO_MERGE_CONSTANTS) \ -I. $(DRIVER_INCLUDES) -Dlinux \ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE \ @@ -101,9 +105,10 @@ $(XF86OBJS): xf86Wacom.c Makefile -DNARROWPROTO -DIN_MODULE -DXFree86Module $(LINUX_INPUT) \ -o $@ -c $(subst .o,.c,$@) -wacom_drv.o: $(XF86OBJS) - ld -r $(XF86OBJS) -o wacom_drv.o - if WCM_DLLOADER - gcc -fPIC -shared -nostdlib -o wacom_drv.so wacom_drv.o -Bstatic -lgcc +wacom_drv.so: $(XF86OBJS) + $(CC) -shared -nostdlib -o wacom_drv.so $(XF86OBJS) -Bstatic -lgcc +else +wacom_drv.o: $(XF86OBJS) + $(LD) -r $(XF86OBJS) -o wacom_drv.o endif |