You are not logged in.
Pages: 1
I am not very familiar with imake and such. I am trying to build evtouch screen driver under xorg7. You can get the source from
http://stz-softwaretechnik.com/~ke/touc … touch.html
The pre-built driver is for the previous version of X. It sort of works (recognizes taps), but does not map to the correct location on the screen (sort of inverts the x,y and adds a shift... sort of)
Trying to build it ends up with many include files not found, though they are in /usr/include/xorg/
I want to point the Imakefile to the correct include directory /usr/include/xorg. I tried just making a soft link in /usr/include from X11 to xorg, but it still had trouble finding the include files. There is no obvious spot (to me) in the Imakefile saying this is where you get include files...
I tried to build this using
xmkmf -a
I noticed an alternate method is:
xmkmf <your_xfree_source_top> `pwd`
but I am not sure what the path <your_xfree_source_top> points to.
I thought it might be to the source of the server, but I don't have the source. What package do I get for the X server source?
Thank you for any help...
The Imakefile is
XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/input/lifebook2/Imakefile,v 1.4 2001/01/24 00:06:35 dawes Exp $
#define IHaveModules
#include <Server.tmpl>
SRCS1 = evtouch.c evtouch_sm.c
OBJS1 = evtouch.o evtouch_sm.o
SCRS2 = ev_calibrate.c
OBJS2 = ev_calibrate.o
SRCS = $(SRCS1) $(SRCS2)
OBJS = $(OBJS1) $(OBJS2)
DEPLIBS2 = XawClientDepLibs
LOCAL_LIBS = XawClientLibs
EXT_LIBS = -lpthread
#XFREE_TOP = /opt/src/xc
ifeq ($(DEBUG), y)
CFLAGS += -ggdb -DEVDBG
endif
ifeq ($(LOGRAW), y)
CFLAGS += -DLOG_RAW_PACKET
endif
DRIVER = evtouch
PROGRAMS = ProgramTargetName(ev_calibrate)
INCLUDES = -I. -I$(XF86COMSRC) -I$(XF86SRC)/loader -I$(XF86OSSRC)
-I$(SERVERSRC)/include -I$(XINCLUDESRC) -I$(EXTINCSRC)
AllTarget($(PROGRAMS))
NormalProgramTarget(ev_calibrate,$(OBJS2),$(DEPLIBS2),$(LOCAL_LIBS),$(EXT_LIBS))
InstallProgramWithFlags(ev_calibrate,$(BINDIR),NullParameter)
distrib: clean ev_calibrate all
./make_distrib.sh $(VERSION)
#if MakeHasPosixVariableSubstitutions
SubdirLibraryRule($(OBJS1))
#endif
ModuleObjectRule()
ObjectModuleTarget($(DRIVER),$(OBJS1))
InstallObjectModule($(DRIVER),$(MODULEDIR),input)
DependTarget()
InstallDriverSDKObjectModule($(DRIVER),$(DRIVERSDKMODULEDIR),input)
Offline
Try:
$ export XINCLUDESRC=/usr/include/X11
$ xmkmf -a
Offline
Thank you Snowman for your response.
I tried what you suggested
export XINCLUDESRC=/usr/include/X11
but I got the same errors.
I also tried it with
export XINCLUDESRC=/usr/include/xorg
and got the same errors.
The transcript is below. Note that misc.h, xf86.h and others are in /usr/include/xorg
[root@Geode evtouch-0.8.0]# make clean
rm -f ev_calibrate
rm -f evtouch_drv.so
rm -f *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut "#"*
[root@Geode evtouch-0.8.0]# ls
CHANGELOG README empty_cursor.xbm evtouch.h
INSTALL README.calibration ev_calibrate.c evtouch_sm.c
Imakefile TODO ev_calibrate.h make_distrib.sh
Makefile calibrate.sh evtouch.c
[root@Geode evtouch-0.8.0]# rm Makefile
[root@Geode evtouch-0.8.0]# export XINCLUDESRC=/usr/include/X11
[root@Geode evtouch-0.8.0]# xmkmf -a
imake -DUseInstalled -I/usr/lib/X11/config
make Makefiles
make: Nothing to be done for `Makefiles'.
make includes
make: Nothing to be done for `includes'.
make depend
gccmakedep -- -I. -I./programs/Xserver/hw/xfree86/common -I./programs/Xserver/hw/xfree86/loader -I./programs/Xserver/hw/xfree86/os-support -I./programs/Xserver/include -I./exports/include/X11 -I./include/extensions -I/usr/include -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY -DTOGCUP -DXF86BIGFONT -DDPMSExtension -DXPRINT -DPIXPRIV -DPANORAMIX -DRENDER -DRANDR -DXFIXES -DDAMAGE -DCOMPOSITE -DXEVIE -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DDLOPEN_HACK -DXFree86Server -DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DXORG_VERSION_CURRENT="(((6) * 10000000) + ((9) * 100000) + ((0) * 1000) + 0)" -DNDEBUG -DFUNCPROTO=15 -DNARROWPROTO -DIN_MODULE -DXFree86Module -- evtouch.c evtouch_sm.c
evtouch.c:32:18: error: misc.h: No such file or directory
evtouch.c:34:18: error: xf86.h: No such file or directory
evtouch.c:36:24: error: xf86_ansic.h: No such file or directory
evtouch.c:37:25: error: xf86_OSproc.h: No such file or directory
evtouch.c:38:24: error: xf86Xinput.h: No such file or directory
evtouch.c:39:18: error: xisb.h: No such file or directory
evtouch.c:40:22: error: exevents.h: No such file or directory
evtouch.c:42:49: error: missing binary operator before token "("
evtouch.c:47:24: error: xf86Module.h: No such file or directory
evtouch_sm.c:26:18: error: misc.h: No such file or directory
evtouch_sm.c:28:18: error: xf86.h: No such file or directory
evtouch_sm.c:30:24: error: xf86_ansic.h: No such file or directory
evtouch_sm.c:31:25: error: xf86_OSproc.h: No such file or directory
evtouch_sm.c:32:24: error: xf86Xinput.h: No such file or directory
evtouch_sm.c:33:18: error: xisb.h: No such file or directory
evtouch_sm.c:34:22: error: exevents.h: No such file or directory
[root@Geode evtouch-0.8.0]#
Offline
Change the Imakefile:
INCLUDES = -I. -I$(XF86COMSRC) -I$(XF86SRC)/loader -I$(XF86OSSRC)
-I$(SERVERSRC)/include -I$(XINCLUDESRC) -I$(EXTINCSRC) -I/usr/include/xorg -I/usr/include/X11
Add the -I/usr/include/xorg and X11 paths to INCLUDES and run xmkmf. Make sure you have inputproto and randrproto installed and it should build fine. The Imakefile needs tuning to install in the correct location though, but you could also copy the resulting file by hand.
Offline
Thank you, that allowed me to rebuild evtouch and with some tweaking I was able to use it with EarthLCD's TC-10 system. It has a AMD (was National) Geode GX1 processor. The latest version of Arch works fine on it, with Xorg7 and so on.
Thank you
Offline
Pages: 1