summaryrefslogtreecommitdiffstats
path: root/unix/porting.old
diff options
context:
space:
mode:
Diffstat (limited to 'unix/porting.old')
-rw-r--r--unix/porting.old324
1 files changed, 0 insertions, 324 deletions
diff --git a/unix/porting.old b/unix/porting.old
deleted file mode 100644
index de41beb..0000000
--- a/unix/porting.old
+++ /dev/null
@@ -1,324 +0,0 @@
-This is an old version of the file "porting.notes". It contains
-porting information that people submitted for Tk releases numbered
-3.6 and earlier. You may find information in this file useful if
-there is no information available for your machine in the current
-version of "porting.notes".
-
-I don't have personal access to any of these machines, so I make
-no guarantees that the notes are correct, complete, or up-to-date.
-If you see the word "I" in any explanations, it refers to the person
-who contributed the information, not to me; this means that I
-probably can't answer any questions about any of this stuff. In
-some cases, a person has volunteered to act as a contact point for
-questions about porting Tcl to a particular machine; in these
-cases the person's name and e-mail address are listed. I'd be
-happy to receive corrections or updates.
-
-RCS: @(#) $Id: porting.old,v 1.2 1998/09/14 18:23:54 stanton Exp $
-
----------------------------------------------
-DEC Alphas:
----------------------------------------------
-
-1. There appears to be a compiler/library bug that prevents tkTrig.c
-from compiling unless you turn off optimization (remove the -O compiler
-switch). The problem appears to have been fixed in the 1.3-4 version
-of the compiler.
-
----------------------------------------------
-HP-UX systems:
----------------------------------------------
-
-1. Configuration:
- HP-UX Release 7.05 on a series 300 (68k) machine.
- The native cc has been used for production.
- X11r4 libraries and include files were taken from
- internet archives, where as the server came with HPUX release 7.05.
-
- Problems:
- Symbol table space for cc had to be increased with: -Wc,-Ns3000
- tkBind.c did not compile under -O:
- C1 internal error in "GetField": Set Error Detected
- *** Error code 1
- tkBind.c did compile without optimization (no -O).
-
-2. Note: if you have trouble getting xauth-style access control to work
-(and you'll need xauth if you want to use "send"), be sure to uncomment
-the line
-
-# Vuelogin*authorize: True
-
-in the file /usr/vue/config/Xconfig, so that the server starts up with
-authorization enabled. Also, you may have to reboot the machine in
-order to force the server to restart.
-
----------------------------------------------
-SCO Unix:
----------------------------------------------
-
-Getting Tk to run under SCO Unix:
-
-Add a "#undef select" to tkEvent.c, and remove the reference to TK_EXCEPTION
-around line 460 of main.c.
-
-Tk uses its own scheme for allocating the border colors for its 3D widgets,
-which causes problems when running TK on a system with "PseudoColor"
-display class, and a 16-cell colormap.
-
-If you can't go to eight bitplanes, you can instead start the server with a
-"-static" (Xsco) or "-analog" (Xsight) option, making the display class
-become "StaticColor". This makes the entire colormap read-only, and it will
-return the color that most closely maps to the desired color as possible.
-
----------------------------------------------
-Silicon Graphics systems:
----------------------------------------------
-
-1. Change the CC variable in the Makefile to:
-
-CC = cc -xansi -D__STDC__ -signed
-
-2. Change the LIBS variable in the Makefile to use the X11 shared library
- ("-lX11_s" instead of "-lX11").
-
-3. Under some versions of IRIX (e.g. 4.0.1) you have to turn off
- optimization (e.g. change "-O" in CFLAGS to "-O0" or remove it
- entirely) because of faulty code generation. If the Tcl or Tk test
- suites fail, turn off optimization.
-
-4. Add a "-lsun" switch just before "-lm" in the LIBS definition.
- Under some versions of IRIX (5.1.1.3?) you'll need to omit the
- "-lsun" switch, plus remove the "-lsocket" and "-lnsl" switches
- added by the configure script; otherwise you won't be able to
- use symbolic host names for the display, only numerical Internet
- addresses.
-
-5. Rumor has it that you'll also need a "-lmalloc" switch in the
- LIBS definition.
-
-6. In IRIX 5.2 you'll have to modify Makefile to fix the following problems:
- - The "-c" option is illegal with this version of install, but
- the "-F" switch is needed instead. Change this in the "INSTALL ="
- definition line.
- - The order of file and directory have to be changed in all the
- invocations of INSTALL_DATA or INSTALL_PROGRAM.
-
----------------------------------------------
-IBM RS/6000's:
----------------------------------------------
-1. To allow ALT- sequences to work on the RS-6000, the following
-line should be changed in tkBind.c:
-
- OLD LINE:
- {"Alt", Mod2Mask, 0},
- NEW LINE:
- {"Alt", Mod1Mask, 0},
-
----------------------------------------------
-AT&T SVR4:
----------------------------------------------
-
-1. The first major hurdle is that SVR4's select() subtly differs
-from BSD select. This impacts Tk in two ways, some of the Xlib calls
-make use of select() and are inherently broken and Tk itself makes
-extensive use of select(). The first problem can't be fixed without
-rebuilding one's Xlib, but can be avoided. I intend to submit part
-of my work the XFree86 guys so that the next version of XFree86 for
-SVR4 will not be broken. Until then, it is necessary to comment out
-this section of code from Tk_DoOneEvent() (which is near line 1227):
-
-#if !defined(SVR4)
- void (*oldHandler)();
-
- oldHandler = (void (*)()) signal(SIGPIPE, SIG_IGN);
- XNoOp(display);
- XFlush(display);
- (void) signal(SIGPIPE, oldHandler);
-#endif /* SVR4 */
-
-if you don't comment it out, some scripts cause wish to go into
-an infinite loop of sending no-ops to the X server.
-
-2. As for fixing Tk's calls to select(), I've taken the simple
-approach of writing a wrapper for select and then using #define to
-replace all calls to select with the wrapper. I chose tkConfig.h
-to load the wrapper. So at the very end of tkConfig.h, it now looks
-like:
-
-#if defined(SVR4)
-# include "BSDselect.h"
-#endif
-
-#endif /* _TKCONFIG */
-
-The file BSDselect.h looks like this:
-
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/select.h>
-
-/* This is a fix for the difference between BSD's select() and
- * SVR4's select(). SVR4's select() can never return a value larger
- * than the total number of file descriptors being checked. So, if
- * you select for read and write on one file descriptor, and both
- * are true, SVR4 select() will only return 1. BSD select in the
- * same situation will return 2.
- *
- * Additionally, BSD select() on timing out, will zero the masks,
- * while SVR4 does not. This is fixed here as well.
- *
- * Set your tabstops to 4 characters to have this code nicely formatted.
- *
- * Jerry Whelan, guru@bradley.edu, June 12th, 1993
- */
-
-
-int
-BSDselect(nfds, readfds, writefds, exceptfds, timeout)
-int nfds;
-fd_set *readfds, *writefds, *exceptfds;
-struct timeval *timeout;
-{
- int rval,
- i;
-
- rval = select(nfds, readfds, writefds, exceptfds, timeout);
-
- switch(rval) {
- case -1: return(rval);
- break;
-
- case 0: if(readfds != NULL)
- FD_ZERO(readfds);
- if(writefds != NULL)
- FD_ZERO(writefds);
- if(exceptfds != NULL)
- FD_ZERO(exceptfds);
-
- return(rval);
- break;
-
- default: for(i=0, rval=0; i < nfds; i++) {
- if((readfds != NULL) && FD_ISSET
-(i, readfds)) rval++;
- if((writefds != NULL) && FD_ISSE
-T(i, writefds)) rval++;
- if((writefds != NULL) && FD_ISSE
-T(i, exceptfds)) rval++;
- }
- return(rval);
- }
-/* Should never get here */
-}
-
----------------------------------------------
-CDC 4680MP, EP/IX 1.4.3:
----------------------------------------------
-
-The installation was done in the System V environment (-systype sysv)
-with the BSD extensions available (-I/usr/include/bsd and -lbsd). It was
-built with the 2.20 level C compiler. The 2.11 level can be used, but
-it is better to match what TCL is built with, which must be 2.20 or
-higher (see the porting notes with TCL for the details).
-
-To make the configure script find the BSD extensions, I set environment
-variable DEFS to "-I/usr/include/bsd" and LIBS to "-lbsd" before
-running it. I would have also set CC to "cc2.20", but that compiler
-driver has a bug that loader errors (e.g. not finding a library routine,
-which the script uses to tell what is available) do not cause an error
-status to be returned to the shell (but see the Tcl 2.1.1 porting notes
-for comments about using "-non_shared").
-
-After running configure, I changed the CC definition line in Makefile
-from:
- CC=cc
-to
- CC=cc2.20
-to match the TCL build. Skip this if the default compiler is already 2.20
-(or later).
-
----------------------------------------------
-CDC 4680MP, EP/IX 2.1.1:
----------------------------------------------
-
-The installation was done in the System V environment (-systype sysv)
-with the BSD extensions available (-I/usr/include/bsd and -lbsd). It was
-built with the 3.11 level C compiler. Earlier levels can be used, but it
-is better to match what TCL is built with, which must be 2.20 or higher
-(see the porting notes with TCL for the details).
-
-To make the configure script find the BSD extensions, I set environment
-variable DEFS to "-I/usr/include/bsd -non_shared" and LIBS to "-lbsd"
-before running it.
-
-See the Tcl porting notes for comments on why "-non_shared" is needed
-during the configuration step. It was removed from AC_FLAGS before
-building.
-
--------------------------------------------------
-Pyramid, OSx 5.1a (UCB universe, GCC installed):
--------------------------------------------------
-
-Instead of typing "./configure" to configure, type
-
- DEFS="-I/usr/include/X11/attinc" ./configure
-
-to sh to do the configuration.
-
--------------------------------------------------
-NextSTEP 3.1:
--------------------------------------------------
-
-1. Run configure with predefined CPP:
- CPP='cc -E' ./configure
- (If your shell is [t]csh, do a "setenv CPP 'cc -E'")
-
-2. Edit Makefile:
- -add the following to AC_FLAGS:
- -Dstrtod=tcl_strtod
-
-Note: Tk's raise test may fail when running the tvtwm window manager.
-Changing to either twm or even better fvwm ensures that this test will
-succeed.
-
--------------------------------------------------
-Encore 91, UMAX V 3.0.9.3:
--------------------------------------------------
-
-1. Modify the CFLAGS definition in Makefile to include -DENCORE:
-
- CFLAGS = -O -DENCORE
-
-2. "mkdir" does not by default create the parent directories. The mkdir
-directives should be modified to "midir -p".
-
-3. An error of a redeclaration of read, can be resolved by conditionally
-not compiling if an ENCORE system.
-
-#ifndef ENCORE
-extern int read _ANSI_ARGS_((int fd, char *buf, size_t size));
-#endif
-
--------------------------------------------------
-Sequent machines running Dynix:
-Contact: Andrew Swan (aswan@soda.berkeley.edu)
--------------------------------------------------
-
-1. Use gcc instead of the cc distributed by Sequent
-
-2. There are problems with the distributed version of
- <stddef.h>. The easiest solution is probably to create a
- copy of stddef.h, make sure it comes early in the include
- path and then edit it as need be to eliminate conflicts
- with the X11 header files.
-
-3. The same comments about the tanh function from the notes on
- porting Tcl apply to Tk.
-
--------------------------------------------------
-Systems running Interactive 4.0:
--------------------------------------------------
-
-1. Add "-posix" to CFLAGS in Makefile (or Makefile.in).
-
-2. Add "-lnsl_s" to LIBS in Makefile (or Makefile.in).