Summary: | DMX includes <linux/input.h> on non-Linux platforms | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Alan Coopersmith <alan.coopersmith> | ||||||
Component: | Driver/other | Assignee: | Kevin E. Martin <kem> | ||||||
Status: | RESOLVED FIXED | QA Contact: | |||||||
Severity: | critical | ||||||||
Priority: | high | CC: | faith, kem, roland.mainz | ||||||
Version: | git | ||||||||
Hardware: | All | ||||||||
OS: | Solaris | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Description
Alan Coopersmith
2004-07-02 09:39:57 UTC
Does changing the #ifndef __sgi to #ifdef __linux__ in the Imakefile fix the compilation problem? Unfortunately, I don't have a Sun machine to compile/test DMX, so if you have the time/desire, please let me know and I'll help you get things going. I would like to see it working on other OSs. adding filler comment since bugzilla won't let me assign bug to myself without one Yes, making the Imakefile use #ifdef __Linux__ fixes that problem. The build then goes on to fail later - I'm looking into those now. Created attachment 435 [details] [review] Patch that allows dmxinput directory to build on Solaris Also had to fix two issues in dmxsigio.c to make it build on Solaris: - #include <fcntl.h> instead of <sys/fcntl.h> (POSIX specifies <fcntl.h> as well so this should be safe for everyone) - Solaris 9 does not define either FASYNC or O_ASYNC Created attachment 436 [details] [review] Patch that allows complete Xorg tree build to finish on Solaris Additional fixes needed to build the entire tree successfully on Solaris with the Sun compilers: - Change check for ANSI cpp from #if __STDC__ to #if defined(__STDC__) since Sun cc defines __STDC__ in all ANSI compatible modes, but only makes it non-zero in strict ANSI conformance mode. (The Xlibint.h header that this was modeled on has removed this check completely and assumes everyone is ANSI C compatible unless otherwise specified.) - only define GetTimeInMillis in dmxinit.c if DDXTIME is #defined - otherwise it conflicts with the one in Xserver/os/utils.c - Change #ifdef in dmxinputinit.c from #ifndef __sgi to #ifdef DMX_USB (which is now defined in makefile section with USB files) so the code won't try using USB code if it's not being built. The two #ifdef __linux__ in a row in the makefile look weird, but hopefully the second one will soon become #if defined(__linux__) || <...other OS'es the USB support is ported to...> No idea if Xdmx will work or not, but at least 'make World' can finish without errors now so the rest of the Xorg tree can be used. Checking in mostly similar changes. Xdmx builds/runs on Linux/i386. Will test under Solaris and Irix later this week. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.