summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--configure.in40
-rw-r--r--src/Makefile.am17
3 files changed, 39 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index 5236d5b..b42c395 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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