signal_ext1.4000700 037630 003760 00000000000 07747650215 014056 5ustar00mschwartgnu000000 000000 signal_ext1.4/Makefile.hp000600 037630 003760 00000000422 06463012672 016174 0ustar00mschwartgnu000000 000000 CC=/usr/local/bin/gcc CFLAGS=-I/HP/local/include -I/usr/X11R6/include -fpic -g -I_POSIX_SOURCE LD=ld LDFLAGS=-b signal_ext.sl: signal_ext.c $(CC) $(CFLAGS) -c signal_ext.c $(LD) $(LDFLAGS) signal_ext.o -o signal_ext.sl -L/HP/local/lib -ltcl7.5 -ldld -rm -f signal_ext.o signal_ext1.4/Makefile.osf000600 037630 003760 00000000450 06240021553 016344 0ustar00mschwartgnu000000 000000 # Based on my interpretation of email from Andre Gosselin. # Misunderstandings are mine, I'm sure CC=cc CFLAGS=-g -O LD=ld LDFLAGS=-shared signal_ext.so: signal_ext.c $(CC) $(CFLAGS) -c signal_ext.c $(LD) $(LDFLAGS) signal_ext.o -o signal_ext.so -L/usr/local/lib -ltcl7.5 -rm -f signal_ext.o signal_ext1.4/Makefile.solaris000600 037630 003760 00000000171 06230327607 017241 0ustar00mschwartgnu000000 000000 CC=cc CFLAGS=-I/usr/local/include -Kpic -G -g signal_ext.so: signal_ext.c $(CC) $(CFLAGS) signal_ext.c -o signal_ext.so signal_ext1.4/sig.announce.1.4000600 037630 003760 00000004140 07747646675 016770 0ustar00mschwartgnu000000 000000 Signal Extension (package Signal) Version 1.4.0.1 available See all my Tcl extensions at http://www.du.edu/~mschwart/tcl-tk.html http://www.nyx.net/~mschwart/signal_ext.html This extension adds dynamically loadable signal handling to Tcl/Tk scripts. It provides a very limited subset of the functionality of tclX (just the signal part, and about 3/4 of the functions for signals), but as a result is quite small and quick to load. Version 1.4 removes dependencies on Tk. Tilman Kranz (tilde@tk-sls.de) patched this for wider portability on Linux A summary of the extension usage follows: Usages: signal add signo proc [-async] Adds a signal handler for signal signo through proc proc. Signals can be provided by number, or the most common ones are provided by name (e.g., SIGHUP). The proc is any Tcl procedure, and it is evaluated when the signal comes in. It will be provided no arguments. Signal handlers have Posix semantics--they persist until reset. If -async is used, the signal handler is created using Tcl_AsyncCreate(). Checks for the signal are very frequent (each evaluation) using this technique, but one doesn't know quite where evaluation is or how to handle errors in this situation. The code will evaluate the provided procedure in the current interpreter if available, and in the interpreter which added the signal handler otherwise. At least until a better scheme is suggested. The -async is especially useful to interrupt "runaway" procs, or to cause a quick exit; the default mechanism simply waits for another MainLoop cycle. signal delete signo Restores handling of signal signo to the default (SIG_DFL). signal print Prints the handling of all signals with handlers. Formatted as signal ----> procedure or as signal !---> procedure if the signal is handled asynchronously signal print signo Prints the procedure for handling signal signo. Prints the word UNHANDLED if no signal handler is active for that signal. signal version Returns the string representing the current version of the package signal_ext1.4/signal_ext.c000600 037630 003760 00000036621 07747647504 016457 0ustar00mschwartgnu000000 000000 /***************************************************************** ** Signal Extension for Tcl/Tk ** $Header: /local/packages/gnu/tcl/signal_ext1.4/RCS/signal_ext.c,v 1.6 2003/10/29 05:25:17 mschwart Exp mschwart $ ** Author: Michael I. Schwartz, SCCS, mschwart@nyx.net, http://www.nyx.net/~mschwart ** This extension adds signal handling to Tcl/Tk scripts. ** It has only been tested under Unix. ** ** To ensure that signal handling does _not_ happen asynchronously, ** and only occurs in the X loop, the signal handler writes the ** signal number on a pipe, which is handled through the Tcl ** file handling mechanism (like XtAppAddInput in X). ** ** Copyright (C) 1996 Schwartz Computer Consulting Services ** ** Permission to use, copy, modify, distribute, and sell this software and its ** documentation for any purpose is hereby granted without fee, provided that ** the above copyright notice appear in all copies and that both that ** copyright notice and this permission notice appear in supporting ** documentation, and that the name of SCCS not be used in advertising or ** publicity pertaining to distribution of the software without specific, ** written prior permission. SCCS makes no representations about the ** suitability of this software for any purpose. It is provided "as is" ** without express or implied warranty. ** *****************************************************************/ #include #include /* for sigaction() and struct sigaction */ #include /* For strcmp(), strerror() */ #include /* for errno */ #include /* for isdigit() */ #include /* for allocation and freeing */ #include /* for pipe(), read(), write() */ /* Structure for remembering signal procs */ /* Changed to add 3 members for asynchronous signal handling */ static struct { int is_handled; char *signal_proc; int is_async; Tcl_AsyncHandler async; Tcl_Interp* save_interp; /* Used as a fallback interpreter for async */ } signal_handlers[NSIG]; /* Version information */ static char *SignalExtensionName = "Signal"; static char *SignalExtensionVersion = "1.4.0.1"; /* Now for the complicated part: Getting a lookup structure ** to manage a few of the most commonly used signals: ** Don't bother with KILL and STOP--they aren't allowed anyway */ static const struct { int signum; char *signame; } signal_name_mapping[] = { #ifdef SIGHUP { SIGHUP, "SIGHUP" }, #endif #ifdef SIGINT { SIGINT, "SIGINT" }, #endif #ifdef SIGABRT { SIGABRT, "SIGABRT" }, #endif #ifdef SIGFPE { SIGFPE, "SIGFPE" }, #endif #ifdef SIGILL { SIGILL, "SIGILL" }, #endif #ifdef SIGSEGV { SIGSEGV, "SIGSEGV" }, #endif #ifdef SIGTERM { SIGTERM, "SIGTERM" }, #endif #ifdef SIGUSR1 { SIGUSR1, "SIGUSR1" }, #endif #ifdef SIGUSR2 { SIGUSR2, "SIGUSR2" }, #endif #ifdef SIGUSR3 { SIGUSR3, "SIGUSR3" }, #endif #ifdef SIGBREAK { SIGBREAK, "SIGBREAK" }, #endif #ifdef SIGCHLD { SIGCHLD, "SIGCHLD" }, #endif #ifdef SIGTERM { SIGTERM, "SIGTERM"}, #endif #ifdef SIGURG { SIGURG, "SIGURG"}, #endif #ifdef SIGIO { SIGIO, "SIGIO" }, #endif #ifdef SIGWAITING { SIGWAITING, "SIGWAITING" }, #endif #ifdef SIGPOLL { SIGPOLL, "SIGPOLL" }, #endif #ifdef SIGQUIT { SIGQUIT, "SIGQUIT" }, #endif #ifdef SIGBUS { SIGBUS, "SIGBUS" }, #endif #ifdef SIGSYS { SIGSYS, "SIGSYS" }, #endif #ifdef SIGPIPE { SIGPIPE, "SIGPIPE" }, #endif #ifdef SIGALRM { SIGALRM, "SIGALRM" }, #endif #ifdef SIGTSTP { SIGTSTP, "SIGTSTP" }, #endif #ifdef SIGCONT { SIGCONT, "SIGCONT" }, #endif #ifdef SIGTTIN { SIGTTIN, "SIGTTIN" }, #endif #ifdef SIGTTOU { SIGTTOU, "SIGTTOU" }, #endif #ifdef SIGWINCH { SIGWINCH, "SIGWINCH" }, #endif }; /* A lookup function for the signal names to numbers and vice versa */ static const char *signo_to_signame(int signo); static int signame_to_signo(const char *signame); static int signal_spec(const char *arg); static const char * signal_name(int i); /* ** A pair of ints for a pipe between the signal handler and the ** X main loop ** To support multiple interpreters, these should probably be associated ** with the interpreter, and not with the program as a whole. */ static int fds[2]; /* The actual signal handler declarations */ static void handle_sig(int signo); static void handle_async_signal (int sig); /* A Tcl_AsyncHandler */ static int handle_async (ClientData clientData, Tcl_Interp *interp, int code); /* A Tcl_FileProc */ static void HandleSignalPipe (ClientData d, int mask); /* Tcl_CmdProc declaration(s) */ static int DoSignalHandler (ClientData d, Tcl_Interp *i, int argc, char *argv[]); static int AddSignalHandler (ClientData d, Tcl_Interp *i, int argc, char *argv[]); static int DeleteSignalHandler (ClientData d, Tcl_Interp *i, int argc, char *argv[]); static int PrintSignalHandler (ClientData d, Tcl_Interp *i, int argc, char *argv[]); /** ** Goal: add signal handling to Tcl/Tk scripts. ** Do this by using a channel, writing the signal to the channel, ** and having the channel reader interpret the signal number ** and call the appropriate handler. ** Use POSIX signal semantics by using the sigaction structure. **/ int Signal_ext_Init ( Tcl_Interp *interp ) { static int initialized = 0; /* Tell tcl about this package */ Tcl_PkgProvide(interp, SignalExtensionName, SignalExtensionVersion); if (initialized == 0) { initialized = 1; /* Open the pipe */ pipe(fds); /* Create a Tcl-compliant handler for the pipe */ Tcl_CreateFileHandler((ClientData)fds[0], TCL_READABLE, HandleSignalPipe, (ClientData)interp); /* Add the signal command */ Tcl_CreateCommand(interp, "signal", DoSignalHandler, 0, 0); } return 0; } int Signal_Init ( Tcl_Interp *interp ) { return Signal_ext_Init(interp); } int Signal_ext_SafeInit ( Tcl_Interp *interp ) { return Signal_ext_Init(interp); } static void HandleSignalPipe (ClientData d, int mask) { int sig; int result; char *command; Tcl_Interp *i = (Tcl_Interp *)d; /* Get the signal that caused the handler to fire */ if ( (result = read(fds[0], &sig, sizeof(sig))) <= 0 ) { fprintf(stderr, "False alarm in Signal package!\n"); return; } if ( sig <= 0 || sig > NSIG ) { fprintf(stderr, "Bad signal %d received by Signal package!\n", sig); return; } /* Look up the name in the process structure for signal sig */ command = signal_handlers[sig].signal_proc; /* If it is valid, Eval it */ if (command) { Tcl_Eval(i, command); } } static char Usage[] = "Usage: signal add signo proc [-async]| " "signal delete signo | " "signal print [signo] | " "signal version"; static int DoSignalHandler (ClientData d, Tcl_Interp *i, int argc, char *argv[]) { /* argv[0] is "signal" */ if (argc < 2) { Tcl_SetResult (i, Usage, TCL_STATIC); return TCL_ERROR; } if ( strcmp(argv[1], "add") == 0 ) return AddSignalHandler(d,i,argc-1,&argv[1]); else if ( strcmp(argv[1], "delete") == 0 ) return DeleteSignalHandler(d,i,argc-1,&argv[1]); else if ( strcmp(argv[1], "print" ) == 0 ) return PrintSignalHandler(d, i, argc-1, &argv[1]); else if ( strcmp(argv[1], "version" ) == 0 ) { Tcl_SetResult (i, SignalExtensionVersion, TCL_STATIC); return TCL_OK; } else { Tcl_SetResult (i, Usage, TCL_STATIC); return TCL_ERROR; } } static int AddSignalHandler (ClientData d, Tcl_Interp *i, int argc, char *argv[]) { int sig; char *procname; struct sigaction sa; int async = 0; if (argc == 4 && strcmp(argv[3], "-async") == 0 ) async = 1; else if (argc != 3 ) { Tcl_SetResult (i, "Usage: signal add signo proc [-async]", TCL_STATIC); return TCL_ERROR; } sig = signal_spec(argv[1]); procname = argv[2]; if ( sig <= 0 || sig > NSIG ) { Tcl_AppendResult (i, "Signal ", argv[1], " not understood or out of range\n" "Usage: signal add signo proc", 0); return TCL_ERROR; } /* Free any old process name in the structure */ if (signal_handlers[sig].signal_proc) { ckfree(signal_handlers[sig].signal_proc); if (signal_handlers[sig].is_async) { Tcl_AsyncDelete(signal_handlers[sig].async); signal_handlers[sig].is_async = 0; signal_handlers[sig].save_interp = 0; } } /* Dup the process name into the structure */ if ( signal_handlers[sig].signal_proc = (char *)ckalloc(strlen(procname)+1) ) strcpy(signal_handlers[sig].signal_proc, procname); else signal_handlers[sig].signal_proc = 0; /* Set up the signal handler: ignore sa_sigaction since flags will be 0 */ sa.sa_flags = 0; sigemptyset(&sa.sa_mask); if (async) { signal_handlers[sig].async = Tcl_AsyncCreate(handle_async,(ClientData)sig); sa.sa_handler = handle_async_signal; signal_handlers[sig].save_interp = i; } else /* Normal handler */ { sa.sa_handler = handle_sig; } if ( sigaction (sig, &sa, 0) == -1 ) { Tcl_AppendResult(i, "Error in sigaction: ", strerror(errno), 0); return TCL_ERROR; } /* Remember we're handling it */ signal_handlers[sig].is_handled = 1; signal_handlers[sig].is_async = async; return TCL_OK; } static int DeleteSignalHandler (ClientData d, Tcl_Interp *i, int argc, char *argv[]) { int sig; struct sigaction sa; if (argc != 2) { Tcl_SetResult (i, "Usage: signal delete signo", TCL_STATIC); return TCL_ERROR; } sig = signal_spec(argv[1]); if (sig <= 0 || sig > NSIG ) { Tcl_AppendResult (i, "Signal ", argv[1], " not understood or out of range\n" "Usage: signal delete signo", 0); return TCL_ERROR; } /* Deinstall the signal handler */ sa.sa_handler = SIG_DFL; sa.sa_flags = 0; sigemptyset(&sa.sa_mask); sigaction (sig, &sa, 0); /* Free any old process name in the structure */ if (signal_handlers[sig].signal_proc) { ckfree(signal_handlers[sig].signal_proc); if (signal_handlers[sig].is_async) { Tcl_AsyncDelete(signal_handlers[sig].async); signal_handlers[sig].is_async = 0; signal_handlers[sig].save_interp = 0; } } /* Zero out the process name in the structure */ signal_handlers[sig].signal_proc = 0; /* Remember we're not handling it */ signal_handlers[sig].is_handled = 0; return TCL_OK; } static int PrintSignalHandler (ClientData d, Tcl_Interp *i, int argc, char *argv[]) { int sig; char *command; if ( argc < 1 ) { Tcl_SetResult (i, "Usage: signal print [signo]", TCL_STATIC); return TCL_ERROR; } if ( argc == 1 ) /* Just print-- print all of them */ { int j; int reported = 0; /* To avoid extra newlines */ for (j=0; j < NSIG; j++) { const char *cp = signal_handlers[j].signal_proc; if (signal_handlers[j].is_handled) { if (reported == 0) reported = 1; else Tcl_AppendResult(i, "\n", 0); if (signal_handlers[j].is_async) Tcl_AppendResult(i, signal_name(j), " !---> ", cp?cp:" ", 0); else Tcl_AppendResult(i, signal_name(j), " ----> ", cp?cp:" ", 0); } } return TCL_OK; } /* Just 1 signal */ sig = signal_spec(argv[1]); if ( sig > 0 && sig < NSIG ) { if ( signal_handlers[sig].is_handled == 0 ) command = "UNHANDLED"; else if ( (command = signal_handlers[sig].signal_proc ) == 0 || command[0] == '\0') command = " "; Tcl_SetResult (i, command, 0); return TCL_OK; } else { Tcl_AppendResult (i, "Signal ", argv[1], " not understood or out of range\n" "Usage: signal print [signo]", 0); return TCL_ERROR; } } /* The actual signal handler */ static void handle_sig(int signo) { write(fds[1], &signo, sizeof(signo)); } /* An async proc handler */ static int handle_async (ClientData clientData, Tcl_Interp *i, int code) { /* There is a fundamental difficulty in that usually there seems to be no interpreter available when this function is called. This means that scripts will generally not be invoked if they depend on the interp variable passed in. The choices are (a) to allow only a few things to happen in an async handler, e.g., exit or raise an error (b) use the interpreter that was active when the handler was created to invoke the scripts Neither seems particularly appealing. I chose (b). I'm sure I will receive appropriate comments indicating why a different choice would be better. Perhaps the next release will have it righter... */ int sig = (int)clientData; int tcode; Tcl_DString result; char * errorcode = 0; char * errorinfo = 0; Tcl_Interp *interp = i; if ( sig <= 0 || sig > NSIG ) /* Oh, oh! Don't even try! */ { fprintf(stderr, "Bad async signal %d received by Signal package!\n", sig); return code; } if (interp == 0 ) interp = signal_handlers[sig].save_interp; Tcl_DStringInit(&result); if (interp) { /* Save result, errorInfo and errorCode for the given interpreter */ Tcl_DStringGetResult(interp,&result); errorcode = strdup(Tcl_GetVar(interp, "errorCode", TCL_GLOBAL_ONLY)); errorinfo = strdup(Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY)); } if (interp && signal_handlers[sig].signal_proc) { if ((tcode = Tcl_Eval(interp, signal_handlers[sig].signal_proc)) != TCL_OK ) { /* A means is provided to allow the called routine to raise ** an error or otherwise interrupt the interpretation of commands. ** If you use the -async this way, BE AWARE of the warnings in the ** Tcl_AsyncCreate man page; you may have unexpected results. */ code = tcode; /* Reset the code and don't reset the results! */ free(errorcode); free(errorinfo); } else if (interp) { Tcl_DStringResult(interp,&result); Tcl_SetVar(interp, "errorCode", errorcode, TCL_GLOBAL_ONLY); Tcl_SetVar(interp, "errorInfo", errorinfo, TCL_GLOBAL_ONLY); free(errorcode); free(errorinfo); } } else if (interp) { Tcl_DStringResult(interp,&result); Tcl_SetVar(interp, "errorCode", errorcode, TCL_GLOBAL_ONLY); Tcl_SetVar(interp, "errorInfo", errorinfo, TCL_GLOBAL_ONLY); free(errorcode); free(errorinfo); } return code; } static void handle_async_signal (int sig) { if (signal_handlers[sig].is_handled && signal_handlers[sig].signal_proc && signal_handlers[sig].is_async ) Tcl_AsyncMark(signal_handlers[sig].async); } /* Some utility functions */ static const char *signo_to_signame(int signo) { int i; if (signo <= 0 || signo > NSIG ) return 0; for (i=0; i < sizeof(signal_name_mapping) / sizeof(signal_name_mapping[0]); i++) { if ( signal_name_mapping[i].signum == signo ) return signal_name_mapping[i].signame; } return 0; } static int signame_to_signo(const char *signame) { int i; if (signame == 0) return -1; for (i=0; i < sizeof(signal_name_mapping) / sizeof(signal_name_mapping[0]); i++) { /* Note: strcasecmp is a commonly implemented non-standard function */ if ( strcasecmp(signal_name_mapping[i].signame, signame) == 0 ) return signal_name_mapping[i].signum; } return 0; } static int signal_spec(const char *arg) { if ( arg == 0) return -1; if (isdigit(arg[0]) ) return atoi(arg); else return signame_to_signo(arg); } static const char *signal_name(int i) { static char tmp_sig_name[10]; /* 7 + 2 + 1 */ const char *cp = signo_to_signame(i); if (cp) return cp; if ( i < 0 || i > NSIG ) return "Illegal"; sprintf(tmp_sig_name, "Signal %d", i); return tmp_sig_name; } signal_ext1.4/test_sig.tk000700 037630 003760 00000001750 06230327627 016316 0ustar00mschwartgnu000000 000000 #!/usr/local/bin/wish4.1 # ENSURE YOUR TCLLIBPATH includes /usr/local/lib/signal! # (or uncomment the appropriate load line and comment the package line) # --SUN # load /usr/local/lib/signal_ext.so # --HP # load /usr/local/lib/signal_ext.sl package require Signal signal add 21 { wm iconify . ; wm deiconify . } signal add SIGHUP { puts "Signal 1 received" } signal add SIGINT { puts "SIGINT received" } puts "Showing all the signals handled" puts [signal print] puts "Showing how 3 is handled" puts [signal print 3] puts "Showing how SIGTTOU is handled" puts [signal print SIGTTOU] frame .bottom button .bottom.b -text "Done" -command "exit 0" button .bottom.i -text "Iconify" -command "wm iconify ." label .l -wraplength 40m -text { Sending this process signals 1 (HUP) or 2 (^C or INT) will print messages; signal 21 (URG) will pop it up! } pack .bottom.b -side left -fill x pack .bottom.i -side right -fill x pack .l -side top -fill both -expand true pack .bottom -in . -side bottom -fill x signal_ext1.4/test_sig_async.tk000700 037630 003760 00000003220 06240150507 017475 0ustar00mschwartgnu000000 000000 #!/usr/local/bin/wish4.1 # ENSURE YOUR TCLLIBPATH includes /usr/local/lib/signal! # (or uncomment the appropriate load line and comment the package line) # --SUN # load /usr/local/lib/signal_ext.so # --HP # load /usr/local/lib/signal_ext.sl # Proc to do something absurd for a long time proc do_long_job { } { for { set i 0 } { $i < 300000 } { incr i } { expr $i * $i } } package require Signal signal add 21 { wm iconify . ; wm deiconify . } signal add SIGHUP { puts "Signal 1 received" } signal add SIGINT { puts "SIGINT received" ; error "SIGINT interrupt" } -async signal add SIGQUIT { puts "SIGQUIT received" } -async puts "Showing all the signals handled" puts [signal print] puts "Showing how 3 is handled" puts [signal print 3] puts "Showing how SIGTTOU is handled" puts [signal print SIGTTOU] frame .bottom button .bottom.b -text "Done" -command "exit 0" button .bottom.j -text "Long Job" -command do_long_job button .bottom.i -text "Iconify" -command "wm iconify ." label .l -wraplength 60m -justify l -text { Sending this process SIGHUP will (eventually) result in a message; SIGQUIT (^\) will result in a message immediately. SIGINT (^C) will result in an error trace immediately. This is the result of the -async option on signal handlers Signal 21 (URG) will pop the dialog up! Pressing the "Long Job" button will perform a single, long calculation where no buttons presses will have immediate effect, but SIGINT will interrupt the calculation prematurely } pack .bottom.b -side left -fill x pack .bottom.j -side left -fill x pack .bottom.i -side right -fill x pack .l -side top -fill both -expand true pack .bottom -in . -side bottom -fill x update signal_ext1.4/Makefile.in000600 037630 003760 00000001565 07747647662 016227 0ustar00mschwartgnu000000 000000 CC=@TCL_CC@ # Tilman Kranz; Sun Oct 19 23:21:35 CEST 2003: added Tcl include directives CFLAGS=-I/usr/include @TCL_DEFS@ @TCL_SHLIB_CFLAGS@ -I@TCL_PREFIX@/include @TCL_INCLUDE_SPEC@ -I@TCL_INC_DIR@ LD=@TCL_SHLIB_LD@ signal@TCL_SHLIB_SUFFIX@: signal_ext.c $(CC) $(CFLAGS) -c signal_ext.c $(LD) signal_ext.o -o signal@TCL_SHLIB_SUFFIX@ @TCL_LIB_SPEC@ @TCL_LIBS@ -rm -f signal_ext.o install: -mkdir @TCL_PACKAGE_PATH@/signal @INSTALL@ signal@TCL_SHLIB_SUFFIX@ @TCL_PACKAGE_PATH@/signal @INSTALL@ pkgIndex.tcl @TCL_PACKAGE_PATH@/signal clean: -rm -f signal@TCL_SHLIB_SUFFIX@ so_locations Makefile config.log config.status config.cache dist: -rm -f so_locations config.log config.status config.cache -make clean cd ..; rm -f signal_ext1.4.tar signal_ext1.4.tar.gz ; tar cvf signal_ext1.4.tar -e signal_ext1.4/RCS -e signal_ext1.4/Makefile signal_ext1.4 ; gzip signal_ext1.4.tar signal_ext1.4/configure.in000600 037630 003760 00000003661 07747645717 016471 0ustar00mschwartgnu000000 000000 dnl Process this file with autoconf to produce a configure script. AC_INIT(signal_ext.c) AC_ARG_PROGRAM PRODUCT=signal VERSION=1.3 dnl Start with the TCL include stuff AC_ARG_WITH(tcl, [ --with-tcl=DIR use Tcl 8.0 binaries from DIR], TCL_BIN_DIR=$withval, TCL_BIN_DIR=$prefix/bin) if test ! -d $TCL_BIN_DIR; then AC_MSG_ERROR(Tcl directory $TCL_BIN_DIR doesn't exist) fi # -MODIFIED- # from 1.4 to 1.4-confpatch by tilman kranz # totally bogus (sorry) auto-detection for "tclInit.sh" TclConfigSh=$TCL_BIN_DIR/../lib/tclConfig.sh if test -r $TclConfigSh ; then . $TclConfigSh else AC_MSG_WARN([\$TclConfigSh=$TclConfigSh not found, running detection]) for this_tcl_version in 8.1 8.2 8.3 8.4 8.5 ; do AC_MSG_CHECKING([\$this_tcl_version=$this_tcl_version]) test_tclsh=$prefix/lib/tcl$this_tcl_version/tclConfig.sh if test -r $test_tclsh ; then AC_MSG_RESULT([found $test_tclsh]) ok_tclsh=$test_tclsh . $ok_tclsh else AC_MSG_RESULT([not found]) fi done if test -n "$ok_tclsh" ; then : else AC_MSG_ERROR([auto-detection for tclConfig.sh failed]) fi fi # -MODIFIED- stop dnl Checks for programs. dnl Checks for libraries. dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(unistd.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST dnl Perform substitutions from the Tcl configuration AC_SUBST(TCL_CC) AC_SUBST(TCL_INCLUDE_SPEC) AC_SUBST(TCL_INC_DIR) AC_SUBST(TCL_LIB_FILE) AC_SUBST(TCL_PREFIX) AC_SUBST(TCL_SHLIB_LD) AC_SUBST(TCL_SHLIB_SUFFIX) AC_SUBST(TCL_DL_LIBS) AC_SUBST(TCL_LD_FLAGS) AC_SUBST(TCL_LD_SEARCH_FLAGS) AC_SUBST(TCL_LIB_SPEC) AC_SUBST(TCL_PACKAGE_PATH) AC_SUBST(TCL_SHLIB_CFLAGS) AC_SUBST(TCL_SHLIB_LD_LIBS) AC_SUBST(LDFLAGS) AC_SUBST(TCL_EXEC_PREFIX) AC_SUBST(TCL_VERSION) AC_SUBST(TCL_LIBS) AC_SUBST(TCL_DEFS) dnl Checks for library functions. AC_CHECK_FUNCS(strdup strerror) AC_PROG_INSTALL AC_OUTPUT(Makefile) signal_ext1.4/configure000700 037630 003760 00000122133 07747645717 016061 0ustar00mschwartgnu000000 000000 #! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated automatically using autoconf version 2.13 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # Defaults: ac_help= ac_default_prefix=/usr/local # Any additions from configure.in: ac_help="$ac_help --with-tcl=DIR use Tcl 8.0 binaries from DIR" # Initialize some variables set by options. # The variables have the same names as the options, with # dashes changed to underlines. build=NONE cache_file=./config.cache exec_prefix=NONE host=NONE no_create= nonopt=NONE no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= target=NONE verbose= x_includes=NONE x_libraries=NONE bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' # Initialize some other variables. subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi case "$ac_option" in -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; *) ac_optarg= ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case "$ac_option" in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir="$ac_optarg" ;; -build | --build | --buil | --bui | --bu) ac_prev=build ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build="$ac_optarg" ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file="$ac_optarg" ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir="$ac_optarg" ;; -disable-* | --disable-*) ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` eval "enable_${ac_feature}=no" ;; -enable-* | --enable-*) ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "enable_${ac_feature}='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix="$ac_optarg" ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he) # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat << EOF Usage: configure [options] [host] Options: [defaults in brackets after descriptions] Configuration: --cache-file=FILE cache test results in FILE --help print this message --no-create do not create output files --quiet, --silent do not print \`checking...' messages --version print the version of autoconf that created configure Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [same as prefix] --bindir=DIR user executables in DIR [EPREFIX/bin] --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] --libexecdir=DIR program executables in DIR [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data in DIR [PREFIX/share] --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data in DIR [PREFIX/com] --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] --libdir=DIR object code libraries in DIR [EPREFIX/lib] --includedir=DIR C header files in DIR [PREFIX/include] --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] --infodir=DIR info documentation in DIR [PREFIX/info] --mandir=DIR man documentation in DIR [PREFIX/man] --srcdir=DIR find the sources in DIR [configure dir or ..] --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names EOF cat << EOF Host type: --build=BUILD configure for building on BUILD [BUILD=HOST] --host=HOST configure for HOST [guessed] --target=TARGET configure for TARGET [TARGET=HOST] Features and packages: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR EOF if test -n "$ac_help"; then echo "--enable and --with options recognized:$ac_help" fi exit 0 ;; -host | --host | --hos | --ho) ac_prev=host ;; -host=* | --host=* | --hos=* | --ho=*) host="$ac_optarg" ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir="$ac_optarg" ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir="$ac_optarg" ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir="$ac_optarg" ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir="$ac_optarg" ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir="$ac_optarg" ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir="$ac_optarg" ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir="$ac_optarg" ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix="$ac_optarg" ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix="$ac_optarg" ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix="$ac_optarg" ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name="$ac_optarg" ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir="$ac_optarg" ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir="$ac_optarg" ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site="$ac_optarg" ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir="$ac_optarg" ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir="$ac_optarg" ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target="$ac_optarg" ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers) echo "configure generated by autoconf version 2.13" exit 0 ;; -with-* | --with-*) ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "with_${ac_package}='$ac_optarg'" ;; -without-* | --without-*) ac_package=`echo $ac_option|sed -e 's/-*without-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` eval "with_${ac_package}=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes="$ac_optarg" ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries="$ac_optarg" ;; -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } ;; *) if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then echo "configure: warning: $ac_option: invalid host type" 1>&2 fi if test "x$nonopt" != xNONE; then { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } fi nonopt="$ac_option" ;; esac done if test -n "$ac_prev"; then { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } fi trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 # File descriptor usage: # 0 standard input # 1 file creation # 2 errors and warnings # 3 some systems may open it to /dev/tty # 4 used on the Kubota Titan # 6 checking for... messages and results # 5 compiler messages saved in config.log if test "$silent" = yes; then exec 6>/dev/null else exec 6>&1 fi exec 5>./config.log echo "\ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. " 1>&5 # Strip out --no-create and --no-recursion so they do not pile up. # Also quote any args containing shell metacharacters. ac_configure_args= for ac_arg do case "$ac_arg" in -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) ac_configure_args="$ac_configure_args '$ac_arg'" ;; *) ac_configure_args="$ac_configure_args $ac_arg" ;; esac done # NLS nuisances. # Only set these to C if already set. These must not be set unconditionally # because not all systems understand e.g. LANG=C (notably SCO). # Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! # Non-C LC_CTYPE values break the ctype check. if test "${LANG+set}" = set; then LANG=C; export LANG; fi if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo > confdefs.h # A filename unique to this package, relative to the directory that # configure is in, which we can look for to find out if srcdir is correct. ac_unique_file=signal_ext.c # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_prog=$0 ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } else { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } fi fi srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then echo "loading site script $ac_site_file" . "$ac_site_file" fi done if test -r "$cache_file"; then echo "loading cache $cache_file" . $cache_file else echo "creating cache $cache_file" > $cache_file fi ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross ac_exeext= ac_objext=o if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then ac_n= ac_c=' ' ac_t=' ' else ac_n=-n ac_c= ac_t= fi else ac_n= ac_c='\c' ac_t= fi if test "$program_transform_name" = s,x,x,; then program_transform_name= else # Double any \ or $. echo might interpret backslashes. cat <<\EOF_SED > conftestsed s,\\,\\\\,g; s,\$,$$,g EOF_SED program_transform_name="`echo $program_transform_name|sed -f conftestsed`" rm -f conftestsed fi test "$program_prefix" != NONE && program_transform_name="s,^,${program_prefix},; $program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" # sed with no file args requires a program. test "$program_transform_name" = "" && program_transform_name="s,x,x," PRODUCT=signal VERSION=1.3 # Check whether --with-tcl or --without-tcl was given. if test "${with_tcl+set}" = set; then withval="$with_tcl" TCL_BIN_DIR=$withval else TCL_BIN_DIR=$prefix/bin fi if test ! -d $TCL_BIN_DIR; then { echo "configure: error: Tcl directory $TCL_BIN_DIR doesn't exist" 1>&2; exit 1; } fi # -MODIFIED- # from 1.4 to 1.4-confpatch by tilman kranz # totally bogus (sorry) auto-detection for "tclInit.sh" TclConfigSh=$TCL_BIN_DIR/../lib/tclConfig.sh if test -r $TclConfigSh ; then . $TclConfigSh else echo "configure: warning: \$TclConfigSh=$TclConfigSh not found, running detection" 1>&2 for this_tcl_version in 8.1 8.2 8.3 8.4 8.5 ; do echo $ac_n "checking \$this_tcl_version=$this_tcl_version""... $ac_c" 1>&6 echo "configure:572: checking \$this_tcl_version=$this_tcl_version" >&5 test_tclsh=$prefix/lib/tcl$this_tcl_version/tclConfig.sh if test -r $test_tclsh ; then echo "$ac_t""found $test_tclsh" 1>&6 ok_tclsh=$test_tclsh . $ok_tclsh else echo "$ac_t""not found" 1>&6 fi done if test -n "$ok_tclsh" ; then : else { echo "configure: error: auto-detection for tclConfig.sh failed" 1>&2; exit 1; } fi fi # -MODIFIED- stop echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 echo "configure:593: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else # This must be in double quotes, not single quotes, because CPP may get # substituted into the Makefile and "${CC-cc}" will confuse make. CPP="${CC-cc} -E" # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:614: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:631: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:648: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP=/lib/cpp fi rm -f conftest* fi rm -f conftest* fi rm -f conftest* ac_cv_prog_CPP="$CPP" fi CPP="$ac_cv_prog_CPP" else ac_cv_prog_CPP="$CPP" fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 echo "configure:673: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include #include #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:686: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* ac_cv_header_stdc=yes else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "memchr" >/dev/null 2>&1; then : else rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "free" >/dev/null 2>&1; then : else rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF if { (eval echo configure:753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -fr conftest* ac_cv_header_stdc=no fi rm -fr conftest* fi fi fi echo "$ac_t""$ac_cv_header_stdc" 1>&6 if test $ac_cv_header_stdc = yes; then cat >> confdefs.h <<\EOF #define STDC_HEADERS 1 EOF fi for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo "configure:780: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:790: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` cat >> confdefs.h <&6 fi done echo $ac_n "checking for working const""... $ac_c" 1>&6 echo "configure:818: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; } ; return 0; } EOF if { (eval echo configure:872: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_cv_c_const=no fi rm -f conftest* fi echo "$ac_t""$ac_cv_c_const" 1>&6 if test $ac_cv_c_const = no; then cat >> confdefs.h <<\EOF #define const EOF fi for ac_func in strdup strerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:916: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 fi done ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break fi done if test -z "$ac_aux_dir"; then { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } fi ac_config_guess=$ac_aux_dir/config.guess ac_config_sub=$ac_aux_dir/config.sub ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 echo "configure:1000: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" for ac_dir in $PATH; do # Account for people who put trailing slashes in PATH elements. case "$ac_dir/" in /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do if test -f $ac_dir/$ac_prog; then if test $ac_prog = install && grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : else ac_cv_path_install="$ac_dir/$ac_prog -c" break 2 fi fi done ;; esac done IFS="$ac_save_IFS" fi if test "${ac_cv_path_install+set}" = set; then INSTALL="$ac_cv_path_install" else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL="$ac_install_sh" fi fi echo "$ac_t""$INSTALL" 1>&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs. It is not useful on other systems. # If it contains results you don't want to keep, you may remove or edit it. # # By default, configure uses ./config.cache as the cache file, # creating it if it does not exist already. You can give configure # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. # Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. # EOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote substitution # turns \\\\ into \\, and sed turns \\ into \). sed -n \ -e "s/'/'\\\\''/g" \ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' ;; esac >> confcache if cmp -s $cache_file confcache; then : else if test -w $cache_file; then echo "updating cache $cache_file" cat confcache > $cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Any assignment to VPATH causes Sun make to only execute # the first set of double-colon rules, so remove it if not needed. # If there is a colon in the path, we need to keep it. if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' fi trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. cat > conftest.defs <<\EOF s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g s%\[%\\&%g s%\]%\\&%g s%\$%$$%g EOF DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` rm -f conftest.defs # Without the "./", some shells look in PATH for config.status. : ${CONFIG_STATUS=./config.status} echo creating $CONFIG_STATUS rm -f $CONFIG_STATUS cat > $CONFIG_STATUS </dev/null | sed 1q`: # # $0 $ac_configure_args # # Compiler output produced by configure, useful for debugging # configure, is in ./config.log if it exists. ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" for ac_option do case "\$ac_option" in -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) echo "$CONFIG_STATUS generated by autoconf version 2.13" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; *) echo "\$ac_cs_usage"; exit 1 ;; esac done ac_given_srcdir=$srcdir ac_given_INSTALL="$INSTALL" trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF $ac_vpsub $extrasub s%@SHELL@%$SHELL%g s%@CFLAGS@%$CFLAGS%g s%@CPPFLAGS@%$CPPFLAGS%g s%@CXXFLAGS@%$CXXFLAGS%g s%@FFLAGS@%$FFLAGS%g s%@DEFS@%$DEFS%g s%@LDFLAGS@%$LDFLAGS%g s%@LIBS@%$LIBS%g s%@exec_prefix@%$exec_prefix%g s%@prefix@%$prefix%g s%@program_transform_name@%$program_transform_name%g s%@bindir@%$bindir%g s%@sbindir@%$sbindir%g s%@libexecdir@%$libexecdir%g s%@datadir@%$datadir%g s%@sysconfdir@%$sysconfdir%g s%@sharedstatedir@%$sharedstatedir%g s%@localstatedir@%$localstatedir%g s%@libdir@%$libdir%g s%@includedir@%$includedir%g s%@oldincludedir@%$oldincludedir%g s%@infodir@%$infodir%g s%@mandir@%$mandir%g s%@CPP@%$CPP%g s%@TCL_CC@%$TCL_CC%g s%@TCL_INCLUDE_SPEC@%$TCL_INCLUDE_SPEC%g s%@TCL_INC_DIR@%$TCL_INC_DIR%g s%@TCL_LIB_FILE@%$TCL_LIB_FILE%g s%@TCL_PREFIX@%$TCL_PREFIX%g s%@TCL_SHLIB_LD@%$TCL_SHLIB_LD%g s%@TCL_SHLIB_SUFFIX@%$TCL_SHLIB_SUFFIX%g s%@TCL_DL_LIBS@%$TCL_DL_LIBS%g s%@TCL_LD_FLAGS@%$TCL_LD_FLAGS%g s%@TCL_LD_SEARCH_FLAGS@%$TCL_LD_SEARCH_FLAGS%g s%@TCL_LIB_SPEC@%$TCL_LIB_SPEC%g s%@TCL_PACKAGE_PATH@%$TCL_PACKAGE_PATH%g s%@TCL_SHLIB_CFLAGS@%$TCL_SHLIB_CFLAGS%g s%@TCL_SHLIB_LD_LIBS@%$TCL_SHLIB_LD_LIBS%g s%@TCL_EXEC_PREFIX@%$TCL_EXEC_PREFIX%g s%@TCL_VERSION@%$TCL_VERSION%g s%@TCL_LIBS@%$TCL_LIBS%g s%@TCL_DEFS@%$TCL_DEFS%g s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g s%@INSTALL_DATA@%$INSTALL_DATA%g CEOF EOF cat >> $CONFIG_STATUS <<\EOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. ac_file=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_cmds # Line after last line for current file. ac_more_lines=: ac_sed_cmds="" while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file else sed "${ac_end}q" conftest.subs > conftest.s$ac_file fi if test ! -s conftest.s$ac_file; then ac_more_lines=false rm -f conftest.s$ac_file else if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f conftest.s$ac_file" else ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" fi ac_file=`expr $ac_file + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_cmds` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case "$ac_file" in *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; *) ac_file_in="${ac_file}.in" ;; esac # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. # Remove last slash and all that follows it. Not all systems have dirname. ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. test ! -d "$ac_dir" && mkdir "$ac_dir" ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dir_suffix. ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` else ac_dir_suffix= ac_dots= fi case "$ac_given_srcdir" in .) srcdir=. if test -z "$ac_dots"; then top_srcdir=. else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; *) # Relative path. srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" top_srcdir="$ac_dots$ac_given_srcdir" ;; esac case "$ac_given_INSTALL" in [/$]*) INSTALL="$ac_given_INSTALL" ;; *) INSTALL="$ac_dots$ac_given_INSTALL" ;; esac echo creating "$ac_file" rm -f "$ac_file" configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." case "$ac_file" in *Makefile*) ac_comsub="1i\\ # $configure_input" ;; *) ac_comsub= ;; esac ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` sed -e "$ac_comsub s%@configure_input@%$configure_input%g s%@srcdir@%$srcdir%g s%@top_srcdir@%$top_srcdir%g s%@INSTALL@%$INSTALL%g " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file fi; done rm -f conftest.s* EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF exit 0 EOF chmod +x $CONFIG_STATUS rm -fr confdefs* $ac_clean_files test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 signal_ext1.4/README000600 037630 003760 00000000670 07747646366 015036 0ustar00mschwartgnu000000 000000 README This is the "signal" extension Author: Michael Schwartz email: mschwart@nyx.net-Nyx, the longest running Free Internet provider Patched for Linux portability Author: Tilman Kranz email: tilde@tk-sls.de License: "signal_ext1.4" license conditions_ About the Patch: This is a simple modification of the existing "GNU autoconf" configuration to do some minimal testing for Tcl. There exist systems where this does work. signal_ext1.4/pkgIndex.tcl000600 037630 003760 00000001063 07747650215 016414 0ustar00mschwartgnu000000 000000 # Tcl package index file, version 1.0 # This file is generated by the "pkg_mkIndex" command # and sourced either when an application starts up or # by a "package unknown" script. It invokes the # "package ifneeded" command to set up package-related # information so that packages will be loaded automatically # in response to "package require" commands. When this # script is sourced, the variable $dir must contain the # full path name of this file's directory. package ifneeded Signal 1.4.0.1 [list tclPkgSetup $dir Signal 1.4.0.1 {{signal.so load signal}}] signal_ext1.4/install-sh000700 037630 003760 00000012721 06463007401 016127 0ustar00mschwartgnu000000 000000 #! /bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 c_clean_files test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 signal_ext1.4/README000600 037630 003760 00000000670 07747646366 015036 0ustar00mschwartgnu000000 000000 README This is the "signal" extension Author: Michael Schwartz email: mschwart@nyx.net-Nyx, the longest running Free Internet provider Patched for Linux portability Author: Tilman Kranz email: tilde@tk-sls.de License: "signal_ext1.4" license conditions_ About the Patch: This is a simple modification of the existing "GNU autoconf" configuration to do some minimal testing for Tcl. There exist systems where this does work. signal_ext1.4/pkgIndex.tcl000600 037630 003760 00000001063 07747650215 016414 0ustar00mschwartgnu000000 000000 # Tcl package index file, version 1.0 # This file is generated by the "pkg_mkIndex" command # and sourced either when an application starts up or # by a "package unknown" script. It invokes the # "package ifneeded" command to set up package-related # information so that packages will be loaded automatically # in response to "package require" commands. When this # script is sourced, the variable $dir must contain the # full path name of this file's directory. package ifneeded Signal 1.4.0.1 [list tclPkgSetup $dir Signal 1.4.0.1 {{signal.so load signal}}] signal_ext1.4/install-sh000700 037630 003760 00000012721 06463007401 016127 0ustar00mschwartgnu000000 000000 #! /bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completel