2005-11-07 Kean Johnston * config/cf/Imake.rules(AssembleObject): Don't use $*, as some makes only accept those in inference rules. Adjust all use of that macro to take the extra arg. * config/cf/QNX4.rules: Ajust usage of AssembleObject. * config/cf/minix.cf: Ditto. * config/cf/nto.rules: Ditto. * config/cf/xf86.tmpl: Ditto. * config/cf/xorg.tmpl: Ditto. * config/cf/sco5.cf: Complete overhaul for the modern world. * config/cf/usl.cf: Ditto. * config/cf/scoLib.rules: Set UseExportLists if it wasnt set. Adjust the use of -R and -h linker options to allow for full paths in shard library names. * config/cf/Imake.tmpl: Prefix -Bstatic with -Wl, as not all (in fact few) gcc's are configured to accept -Bstatic as an argument. Revert to dynamic mode after linking in -lgcc. * extras/Xpm/Imakefile: USL doesnt need strcasecmp. * extras/Xpm/lib/Imakefile: Ditto. * extras/ogl-sample/main/gfx/lib/glu/libnurbs/internals/simplemath.h: Dont define abs on UnixWare either. * include/Xfuncs.h: SCO platforms dont need memory.h and they dont need to define bcopy wrappers, as the real prototypes are in strings.h. Include that instead, as it also declares strcasecmp(). * include/Xosdefs.h: UnixWare and OSR5 and POSIX-like. Define system default values for PATH_MAX and MAXPATHLEN. * include/Xthreads.h: Updated for UnixWare threads support. * lib/ICE/Imakefile: Use *.cf-defined connection defines. * lib/X11/XKeysymDB: Add SCO X-server dead keys. * lib/X11/locking.c: Update for UnixWare threads. This is done in such a way that even non-threaded apps can link with the X libs. * lib/fontconfig/Imakefile: SCO platforms need ksh. * lib/xtrans/Xtranslcl.c: Use SCO named pipes for all transports. Add missing \n to some error strings. Make SCO connection type use connect_spipe() and named_spipe(). Dont support the ISC transport layer on SCO platforms. Set a default port if any empty string was passed to the SCO transport layer. * lib/xtrans/Xtransutil.c(ConvertAddress): Set FamilyLocal correctly on SCO platforms. * programs/Xserver/Xprint/ps/Imakefile: Add extra build flags for SCO to pick up the correct definition of MAXPATHLEN/PATH_MAX. * programs/Xserver/hw/xfree86/common/xf86Config.c: Set the correct default keyboard protocol if XQUEUE mode is on. For backwards compatibility with existing config files, accept keyboard protocol "xqueue" as a synonym for "standard" on UnixWare. * programs/Xserver/hw/xfree86/common/xf86Configure.c: Set the correct mouse protocol for UnixWare. Dont emit default ZAxisMapping for SCO platforms, they do the right thing in the driver code. * programs/Xserver/hw/xfree86/input/mouse/mouse.c: Ditto. * programs/Xserver/hw/xfree86/common/xf86Events.c: Deal with 0-based offset for VT's on UnixWare. (xf86CommonSpecialKey): Key isnt special if ShiftMask is also pressed (i.e Ctrl-Alt-Shift-Backspace is not Zap, but Ctrl-Alt-Backspace is). * programs/Xserver/hw/xfree86/doc/sgml/SCO.sgml: Updated SCO release notes. * programs/Xserver/hw/xfree86/drivers/savage/savage_cursor.c: Work around an optimizer bug in the USL compiler that optimizes away a valid volatile. * programs/Xserver/hw/xfree86/input/keyboard/kbd.c: Set the protocol to "Xqueue" if thats what is being used. * programs/Xserver/hw/xfree86/loader/Imakefile: Copy in libcrt.a for UnixWare systems which is required for runtime support. * programs/Xserver/hw/xfree86/loader/loader.c: Deal with loading libcrt.a int eh loader for USLC long long support routines. * programs/Xserver/hw/xfree86/loader/os.c: Identify SVR5 and SCO. * programs/Xserver/hw/xfree86/os-support/Imakefile: Use the new USL code in usl/ for UnixWare. * programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h: Dont define XQUEUE for UnixWare, it now as its own full OS layer. * programs/Xserver/hw/xfree86/os-support/xf86_OSproc.h: If XQUEUE is defined, include input.h so that the XQUEUE function declarations are valid. * programs/Xserver/hw/xfree86/os-support/sco/Imakefile: Use new SCO keyboard interface required for kbd driver support. Work around a GNU ld COFF-conversion bug with the event library. * programs/Xserver/hw/xfree86/os-support/sco/VTsw_sco.c: Update function prototypes. * programs/Xserver/hw/xfree86/os-support/sco/sco_iop.c: Ditto. * programs/Xserver/hw/xfree86/os-support/sco/sco_KbdMap.c: New file for SCO keyboard driver support. * programs/Xserver/hw/xfree86/os-support/sco/sco_kbd.c: Ditto. * programs/Xserver/hw/xfree86/os-support/sco/sco_kbd.h: Ditto. * programs/Xserver/hw/xfree86/os-support/sco/sco_init.c: Corrected several logic errors with the startup code. Cleaned up prototypes. * programs/Xserver/hw/xfree86/os-support/sco/sco_io.c: Cleaned up prototypes. Modify for use with new keyboard driver model. * programs/Xserver/hw/xfree86/os-support/sco/sco_mouse.c: Only return MSE_MISC from SupportedInterfaces(). Correct event driver mask to include buttons. Correct wheel mouse button map. Ensure we correctly mark the device as closed. Fix event posting algorithm for wheel buttons. * programs/Xserver/hw/xfree86/os-support/shared/sysv_kbd.c: SCO no longer uses this file, remove its conditionals from it. * programs/Xserver/hw/xfree86/os-support/usl/Imakefile: New file. Added full UnixWare os-support layer. * programs/Xserver/hw/xfree86/os-support/usl/usl_KbdMap.c: Ditto. * programs/Xserver/hw/xfree86/os-support/usl/usl_init.c: Ditto. * programs/Xserver/hw/xfree86/os-support/usl/usl_io.c: Ditto. * programs/Xserver/hw/xfree86/os-support/usl/usl_iop.c: Ditto. * programs/Xserver/hw/xfree86/os-support/usl/usl_kbd.c: Ditto. * programs/Xserver/hw/xfree86/os-support/usl/usl_kbd.h: Ditto. * programs/Xserver/hw/xfree86/os-support/usl/usl_mouse.c: Ditto. * programs/Xserver/hw/xfree86/os-support/usl/usl_video.c: Ditto. * programs/Xserver/hw/xfree86/os-support/usl/usl_vtsw.c: Ditto. * programs/Xserver/hw/xfree86/os-support/usl/usl_xqueue.c: Ditto. * programs/Xserver/hw/xfree86/os-support/usl/usl_xqueue.h: Ditto. * programs/Xserver/hw/xfree86/parser/Monitor.c: Use detected ranges on SCO platforms, and adjust comment accordingly. * programs/Xserver/hw/xfree86/xf86cfg/cards.c: Prevent a coredump if there is no cards database by checking for a NULL pointer in LookupCard(). * programs/Xserver/hw/xfree86/xf86cfg/interface.c: Recognise both "keyboard" and "kbd" driver names as valid keyboard drivers. * programs/Xserver/hw/xfree86/xf86cfg/keyboard-cfg.c: Ditto. Also output the correct driver name based on USE_DEPCREATED_KEYBOARD_DRIVER. * programs/Xserver/hw/xfree86/xf86cfg/mouse-cfg.c: Set the default protocol on SCO and UnixWare. * programs/Xserver/hw/xfree86/xf86cfg/text-mode.c: Include the correct curses header file on SCO platforms. Recognise both "kbd" and "keyboard" as valid keyboard driver names. Added missing space in dialog title. Use the correct mouse protocol on SCO/UW7. Set the correct keyboard driver name. Explicitly recognise '\b' as a backspace key on SCO platforms. * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c: Correct comments for UnixWare/XQUEUE. * programs/Xserver/os/utils.c: Emulate pread/pwrite which are missing on SCO platforms. * programs/ico/ico.c: Make the -sync argument actually call XSynchronize() instead of enabling debug mode! * programs/xcursorgen/Imakefile: Explicitly link in Xfixes for those OSes that dont deal with library dependencies correctly. * programs/xdm/Imakefile: Define USESECUREWARE for SCO OSR5. * programs/xdm/auth.c: Include Xlibint.h and use _XGetHostname instead of duplicating the logic here. * programs/xdm/dm.c: Call set_auth_parameters() for SecureWare. * programs/xdm/resource.c: Set the correct name of the PRNGD socket for SCO OpenServer. * programs/xdm/session.c: Implement SecureWare authentication. * programs/xdm/config/Imakefile: Generate Xsession from Xsession.ccp instead of a static file. Use the Korn shell on SCO systems whose Bourne shell has severe limitations. * programs/xdm/config/Xsession: Remove. * programs/xdm/config/Xsession.cpp: New file to replace above. * programs/xdm/greeter/verify.c: Adjust for SecureWare. * programs/xedit/Imakefile: Add SCOBuildFlags for the correct definition of MAXPATHLEN. * programs/xinit/Imakefile: Use the Korn shell on SCO systems. Pass the value of LIBDIR to xinitrc, as the SCO section needs it. Pass a macro to the man page processor for SCO specific man page bits, as well as passing LIBDIR. * programs/xinit/startx.cpp: Update SCO support, and allow the shell to be configured from Imakefile. * programs/xinit/xinitrc.cpp: Ditto. * programs/xinit/startx.man: Document SCO weirdnesses. * programs/xterm/Imakefile: Define the termcap library on SCO platforms in the cf file didn't, and make sure we link with it when compiling resize on OSR5. * programs/xterm/main.c: Dont set ECHOCTL on UnixWare. ======== * config/cf/Imake.cf: * config/imake/imake.c: * config/imake/imakemdep.h: * include/Xos.h: * include/Xosdefs.h: * lib/FS/FSlibos.h: * lib/SM/sm_manager.c: * lib/X11/Xlib.h: * lib/Xaw/XawI18n.h: * lib/Xbsd/Berklib.c: * lib/Xt/NextEvent.c: * lib/Xxf86dga/XF86DGA.c: * lib/Xxf86dga/XF86DGA2.c: * lib/dps/Xlibnet.h: * lib/dps/cslibint.h: * lib/font/fc/fslibos.h: * lib/font/fontfile/encparse.c: * lib/font/fontfile/fontenc.c: * lib/lbxutil/lbx_zlib/lbx_zlib_io.c: * lib/xtrans/Xtrans.c: * lib/xtrans/Xtransint.h: * lib/xtrans/Xtranslcl.c: * lib/xtrans/Xtranssock.c: * programs/Xserver/Xext/xf86bigfont.c: * programs/Xserver/Xprint/attributes.c: * programs/Xserver/hw/xfree86/common/compiler.h: * programs/Xserver/hw/xfree86/common/scoasm.h: * programs/Xserver/hw/xfree86/common/xf86Configure.c: * programs/Xserver/hw/xfree86/common/xf86Events.c: * programs/Xserver/hw/xfree86/common/xf86Init.c: * programs/Xserver/hw/xfree86/drivers/chips/util/AsmMacros.h: * programs/Xserver/hw/xfree86/drivers/rendition/vboard.c: * programs/Xserver/hw/xfree86/etc/mmapr.c: * programs/Xserver/hw/xfree86/etc/mmapw.c: * programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h: * programs/Xserver/hw/xfree86/os-support/xf86_ansic.h: * programs/Xserver/hw/xfree86/vbe/vbe.h: * programs/Xserver/include/os.h: * programs/Xserver/os/access.c: * programs/Xserver/os/osinit.c: * programs/fonttosfnt/util.c: * programs/rgb/rgb.c: * programs/rgb/showrgb.c: * programs/xauth/gethost.c: * programs/xconsole/xconsole.c: * programs/xdm/chooser.c: * programs/xdm/dm.c: * programs/xdm/dm.h: * programs/xdm/util.c: * programs/xfs/os/osdep.h: * programs/xman/man.c: * programs/xman/misc.c: * programs/xman/vendor.c: * programs/xman/vendor.h: * programs/xmh/command.c: Update SCO support. This mainly consists of rationalizing how the platforms are recognised by Imake. Now use a consistent set of macros for refering to the various platforms: __SCO__ refers to any version of SCO OpenServer. SCO325 refers to any release of SCO OpenServer 5. SCO5V6 refers to any release of SCO OpenServer 6. __UNIXWARE__ refers to any release of SCO UnixWare. __USLC__ is only used to detect USL C compiler behaviour.