Tcl Source Code

Artifact [622c3b271e]
Login

Artifact 622c3b271e70614cac71770bb53a637a120de8ce:

Attachment "patch.txt" to ticket [516321ffff] added by davygrvy 2002-02-12 13:02:08.
*** 	Wed Dec 31 14:00:00 1969
*** djgpp/Makefile	Wed Dec 31 14:00:00 1969
--- djgpp/Makefile	Mon Feb 11 20:14:23 2002
***************
*** 0 ****
--- 1,121 ----
+ CC			= gcc
+ 
+ TMP_DIR			= ./build
+ 
+ TCPIP_LIB		= /watts32-2.1r5/lib/libwatt.a
+ TCL_LIBRARY		= ../library
+ 
+ TOP_DIR			= ..
+ GENERIC_DIR		= $(TOP_DIR)/generic
+ COMPAT_DIR		= $(TOP_DIR)/compat
+ TOOL_DIR		= $(TOP_DIR)/tools
+ UNIX_DIR		= $(TOP_DIR)/unix
+ TCL_LIB_FILE		= libtcl.a
+ 
+ CFLAGS		= -DHAVE_UNISTD_H -DHAVE_TM_ZONE -DNO_FSTATFS -DNO_FD_SET -DNO_UNION_WAIT \
+ 		  -DTCL_DEFAULT_ENCODING=\"cp437\" -DTCL_LIBRARY=\"$(TCL_LIBRARY)\" \
+ 		  -DNO_REALPATH -DTCL_PACKAGE_PATH=\"\" -I $(GENERIC_DIR) -I $(UNIX_DIR)
+ 
+ 
+ GENERIC_OBJs = \
+ 	$(TMP_DIR)/regcomp.o \
+ 	$(TMP_DIR)/regexec.o \
+ 	$(TMP_DIR)/regfree.o \
+ 	$(TMP_DIR)/regerror.o \
+ 	$(TMP_DIR)/tclAlloc.o \
+ 	$(TMP_DIR)/tclAsync.o \
+ 	$(TMP_DIR)/tclBasic.o \
+ 	$(TMP_DIR)/tclBinary.o \
+ 	$(TMP_DIR)/tclCkalloc.o \
+ 	$(TMP_DIR)/tclClock.o \
+ 	$(TMP_DIR)/tclCmdAH.o \
+ 	$(TMP_DIR)/tclCmdIL.o \
+ 	$(TMP_DIR)/tclCmdMZ.o \
+ 	$(TMP_DIR)/tclCompCmds.o \
+ 	$(TMP_DIR)/tclCompExpr.o \
+ 	$(TMP_DIR)/tclCompile.o \
+ 	$(TMP_DIR)/tclDate.o \
+ 	$(TMP_DIR)/tclEncoding.o \
+ 	$(TMP_DIR)/tclEnv.o \
+ 	$(TMP_DIR)/tclEvent.o \
+ 	$(TMP_DIR)/tclExecute.o \
+ 	$(TMP_DIR)/tclFCmd.o \
+ 	$(TMP_DIR)/tclFileName.o \
+ 	$(TMP_DIR)/tclGet.o \
+ 	$(TMP_DIR)/tclHash.o \
+ 	$(TMP_DIR)/tclHistory.o \
+ 	$(TMP_DIR)/tclIndexObj.o \
+ 	$(TMP_DIR)/tclInterp.o \
+ 	$(TMP_DIR)/tclIO.o \
+ 	$(TMP_DIR)/tclIOCmd.o \
+ 	$(TMP_DIR)/tclIOGT.o \
+ 	$(TMP_DIR)/tclIOSock.o \
+ 	$(TMP_DIR)/tclIOUtil.o \
+ 	$(TMP_DIR)/tclLink.o \
+ 	$(TMP_DIR)/tclListObj.o \
+ 	$(TMP_DIR)/tclLiteral.o \
+ 	$(TMP_DIR)/tclLoad.o \
+ 	$(TMP_DIR)/tclLoadNone.o \
+ 	$(TMP_DIR)/tclMain.o \
+ 	$(TMP_DIR)/tclNamesp.o \
+ 	$(TMP_DIR)/tclNotify.o \
+ 	$(TMP_DIR)/tclObj.o \
+         $(TMP_DIR)/tclPanic.o \
+         $(TMP_DIR)/tclParse.o \
+         $(TMP_DIR)/tclParseExpr.o \
+ 	$(TMP_DIR)/tclPipe.o \
+ 	$(TMP_DIR)/tclPkg.o \
+ 	$(TMP_DIR)/tclPosixStr.o \
+ 	$(TMP_DIR)/tclPreserve.o \
+ 	$(TMP_DIR)/tclProc.o \
+ 	$(TMP_DIR)/tclRegexp.o \
+ 	$(TMP_DIR)/tclResolve.o \
+ 	$(TMP_DIR)/tclResult.o \
+ 	$(TMP_DIR)/tclScan.o \
+ 	$(TMP_DIR)/tclStubInit.o \
+ 	$(TMP_DIR)/tclStubLib.o \
+ 	$(TMP_DIR)/tclStringObj.o \
+ 	$(TMP_DIR)/tclTest.o \
+ 	$(TMP_DIR)/tclTestObj.o \
+ 	$(TMP_DIR)/tclTestProcBodyObj.o \
+ 	$(TMP_DIR)/tclThread.o \
+ 	$(TMP_DIR)/tclThreadJoin.o \
+ 	$(TMP_DIR)/tclTimer.o \
+ 	$(TMP_DIR)/tclUtf.o \
+ 	$(TMP_DIR)/tclUtil.o \
+ 	$(TMP_DIR)/tclUniData.o \
+ 	$(TMP_DIR)/tclVar.o
+ 
+ UNIX_OBJs = \
+ 	$(TMP_DIR)/tclAppInit.o \
+ 	$(TMP_DIR)/tclMtherr.o \
+ 	$(TMP_DIR)/tclUnixChan.o \
+ 	$(TMP_DIR)/tclUnixEvent.o \
+ 	$(TMP_DIR)/tclUnixFCmd.o \
+ 	$(TMP_DIR)/tclUnixFile.o \
+ 	$(TMP_DIR)/tclUnixNotfy.o \
+ 	$(TMP_DIR)/tclUnixPipe.o \
+ 	$(TMP_DIR)/tclUnixSock.o \
+ 	$(TMP_DIR)/tclUnixTest.o \
+ 	$(TMP_DIR)/tclUnixThrd.o \
+ 	$(TMP_DIR)/tclUnixTime.o \
+ 	$(TMP_DIR)/tclUnixInit.o
+ 
+ 
+ $(TMP_DIR)/%.o : $(GENERIC_DIR)/%.c
+ 	$(CC) -c $(CFLAGS) $< -o $@
+ 
+ $(TMP_DIR)/%.o : $(UNIX_DIR)/%.c
+ 	$(CC) -c $(CFLAGS) $< -o $@
+ 
+ all: binaries
+ 
+ binaries: ${TCL_LIB_FILE} tclsh.exe
+ 
+ $(TCL_LIB_FILE) : $(GENERIC_OBJs) $(UNIX_OBJs)
+ 	ar rvs $@ $^
+ 
+ tclsh.exe : $(TCL_LIB_FILE) 
+ 	gcc $^ $(TCPIP_LIB) -o $@
+ 
+ 

*** unix/tclMtherr.c	23 Nov 2001 01:40:13 -0000	1.4
--- unix/tclMtherr.c	12 Feb 2002 05:58:24 -0000
***************
*** 35,43 ****
--- 35,45 ----
   */
  
  #ifndef NEED_MATHERR
+ #ifndef DJGPP
  struct exception {
      int type;
  };
+ #endif
  #define DOMAIN 0
  #define SING 0
  #endif

*** unix/tclUnixFCmd.c	25 Jan 2002 20:40:56 -0000	1.15
--- unix/tclUnixFCmd.c	12 Feb 2002 05:58:29 -0000
***************
*** 349,354 ****
--- 349,355 ----
      }
  
      switch ((int) (srcStatBuf.st_mode & S_IFMT)) {
+ #ifndef DJGPP
          case S_IFLNK: {
  	    char link[MAXPATHLEN];
  	    int length;
***************
*** 363,368 ****
--- 364,370 ----
  	    }
  	    break;
  	}
+ #endif
          case S_IFBLK:
          case S_IFCHR: {
  	    if (mknod(dst, srcStatBuf.st_mode,		/* INTL: Native. */

*** unix/tclUnixFile.c	8 Feb 2002 02:52:54 -0000	1.16
--- unix/tclUnixFile.c	12 Feb 2002 05:58:32 -0000
***************
*** 645,650 ****
--- 645,651 ----
      Tcl_DString *linkPtr;	/* Uninitialized or free DString filled
  				 * with contents of link (UTF-8). */
  {
+ #ifndef DJGPP
      char link[MAXPATHLEN];
      int length;
      CONST char *native;
***************
*** 660,665 ****
--- 661,669 ----
  
      Tcl_ExternalToUtfDString(NULL, link, length, linkPtr);
      return Tcl_DStringValue(linkPtr);
+ #else
+ 	return NULL;
+ #endif
  }
  
  /*

*** unix/tclUnixInit.c	8 Feb 2002 02:52:54 -0000	1.30
--- unix/tclUnixInit.c	12 Feb 2002 05:58:35 -0000
***************
*** 682,688 ****
--- 682,692 ----
  
      Tcl_SetVar(interp, "tclDefaultLibrary", defaultLibraryDir, TCL_GLOBAL_ONLY);
      Tcl_SetVar(interp, "tcl_pkgPath", pkgPath, TCL_GLOBAL_ONLY);
+ #ifdef DJGPP
+     Tcl_SetVar2(interp, "tcl_platform", "platform", "dos", TCL_GLOBAL_ONLY);
+ #else
      Tcl_SetVar2(interp, "tcl_platform", "platform", "unix", TCL_GLOBAL_ONLY);
+ #endif
      unameOK = 0;
  #ifndef NO_UNAME
      if (uname(&name) >= 0) {

*** unix/tclUnixPort.h	8 Feb 2002 09:33:03 -0000	1.19
--- unix/tclUnixPort.h	12 Feb 2002 05:58:38 -0000
***************
*** 456,462 ****
--- 456,466 ----
   * The default platform eol translation on Unix is TCL_TRANSLATE_LF.
   */
  
+ #ifdef DJGPP
+ #define	TCL_PLATFORM_TRANSLATION	TCL_TRANSLATE_CRLF
+ #else
  #define	TCL_PLATFORM_TRANSLATION	TCL_TRANSLATE_LF
+ #endif
  
  /*
   * The following macros have trivial definitions, allowing generic code to