tcl-7.4p1 and tk-4.0p1 patches for Solaris 2.3 and 2.4 
Author Message
 tcl-7.4p1 and tk-4.0p1 patches for Solaris 2.3 and 2.4

Included below are two patch files: the first for tcl 7.4p1, the second for
tk 4.0p1.  These small patches, when applied, will make sure both tcl-7.4p1
and tk-4.0p1 will build cleanly on Solaris 2.3 and Solaris 2.4 (sparc).

The patches also upgrade the configure and configure.in scripts to the
latest version of GNU autoconf, fix small mistakes in scripts and header
files (multiply defined symbols, #ifndef instead of #ifdef, etc.)  Also
added was Makefile support to link wish with the absolute path to the X11
libraries (-Xlinker option to gcc).

I've used gcc (2.6.3 and 2.7.0) with -Werror and now there is not a single
warning.  Also both systems pass the same tests as before.  I've used these
versions of tcl/tk with various tcl/tk apps (mostly expect, exmh)
successfully for over one week.  I hope the maintainers can include these
patches in the next release.

Thanks,
Erez Zadok.
Mobile Computing Lab.
Columbia University Department of Computer Science.
---

 after midnight."                     | Usenet: ...!rutgers!columbia!cs!ezk


===snip===snip===tcl-7.4p1=patch==============================================

diff -r -c --exclude-from=PATCHES/diff-exclude -N tcl-7.4p1+ORIG/compat/getcwd.c tcl-7.4p1/compat/getcwd.c
*** tcl-7.4p1+ORIG/compat/getcwd.c      Sat Dec 17 19:26:25 1994
--- tcl-7.4p1/compat/getcwd.c   Sat Aug  5 14:19:45 1995
***************
*** 18,23 ****
--- 18,24 ----
  #include "tclInt.h"
  #include "tclPort.h"

+ #ifdef NO_GETCWD
  extern char *getwd _ANSI_ARGS_((char *pathname));

  char *
***************
*** 47,49 ****
--- 48,51 ----
      return buf;
  }

+ #endif
diff -r -c --exclude-from=PATCHES/diff-exclude -N tcl-7.4p1+ORIG/compat/tmpnam.c tcl-7.4p1/compat/tmpnam.c
*** tcl-7.4p1+ORIG/compat/tmpnam.c      Sat Dec 17 19:25:31 1994
--- tcl-7.4p1/compat/tmpnam.c   Sat Aug  5 14:15:44 1995
***************
*** 23,28 ****
--- 23,31 ----
   * buffer overflows.
   */

+ #ifdef P_tmpdir
+ #undef P_tmpdir
+ #endif
  #define       P_tmpdir        "/tmp"

  char *
diff -r -c --exclude-from=PATCHES/diff-exclude -N tcl-7.4p1+ORIG/configure tcl-7.4p1/configure
*** tcl-7.4p1+ORIG/configure    Sun Aug 20 15:57:37 1995
--- tcl-7.4p1/configure Thu Aug 24 18:58:02 1995
***************
*** 941,947 ****
  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 | tr 'abcdefghijklmnopqrstuvwxyz./\055' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ___'`
    cat >> confdefs.h <<EOF
  #define $ac_tr_hdr 1
  EOF
--- 941,947 ----
  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 | tr '[a-z]./\055' '[A-Z]___'`
    cat >> confdefs.h <<EOF
  #define $ac_tr_hdr 1
  EOF
***************
*** 1323,1329 ****

  echo $ac_n "checking proper strstr implementation""... $ac_c" 1>&6
  if test "$cross_compiling" = yes; then
!     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  else
  cat > conftest.$ac_ext <<EOF
  #line 1330 "configure"
--- 1323,1329 ----

  echo $ac_n "checking proper strstr implementation""... $ac_c" 1>&6
  if test "$cross_compiling" = yes; then
!   tcl_ok=no
  else
  cat > conftest.$ac_ext <<EOF
  #line 1330 "configure"
***************
*** 1403,1409 ****
  fi

  if test "$cross_compiling" = yes; then
!     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  else
  cat > conftest.$ac_ext <<EOF
  #line 1410 "configure"
--- 1403,1409 ----
  fi

  if test "$cross_compiling" = yes; then
!   tcl_ok=no
  else
  cat > conftest.$ac_ext <<EOF
  #line 1410 "configure"
***************
*** 1486,1492 ****
  fi

  if test "$cross_compiling" = yes; then
!     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  else
  cat > conftest.$ac_ext <<EOF
  #line 1493 "configure"
--- 1486,1492 ----
  fi

  if test "$cross_compiling" = yes; then
!   tcl_ok=no
  else
  cat > conftest.$ac_ext <<EOF
  #line 1493 "configure"
***************
*** 1573,1579 ****
  if test "$tcl_strtod" = 1; then
      echo $ac_n "checking for Solaris strtod bug""... $ac_c" 1>&6
      if test "$cross_compiling" = yes; then
!     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  else
  cat > conftest.$ac_ext <<EOF
  #line 1580 "configure"
--- 1573,1579 ----
  if test "$tcl_strtod" = 1; then
      echo $ac_n "checking for Solaris strtod bug""... $ac_c" 1>&6
      if test "$cross_compiling" = yes; then
!   tcl_ok=no
  else
  cat > conftest.$ac_ext <<EOF
  #line 1580 "configure"
***************
*** 1996,2002 ****
  rm -f conftest*

  echo "$ac_t""$tcl_ok" 1>&6
! if test $tcl_ok = yes; then
      cat >> confdefs.h <<\EOF
  #define NEED_MATHERR 1
  EOF
--- 1996,2002 ----
  rm -f conftest*

  echo "$ac_t""$tcl_ok" 1>&6
! if test $tcl_ok = no; then
      cat >> confdefs.h <<\EOF
  #define NEED_MATHERR 1
  EOF
***************
*** 2059,2065 ****
  if test "$tcl_ok" = 1; then
      echo $ac_n "checking Solaris 2.4 vfork/signal bug""... $ac_c" 1>&6;
      if test "$cross_compiling" = yes; then
!     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  else
  cat > conftest.$ac_ext <<EOF
  #line 2066 "configure"
--- 2059,2065 ----
  if test "$tcl_ok" = 1; then
      echo $ac_n "checking Solaris 2.4 vfork/signal bug""... $ac_c" 1>&6;
      if test "$cross_compiling" = yes; then
!   tcl_ok=no
  else
  cat > conftest.$ac_ext <<EOF
  #line 2066 "configure"
***************
*** 2186,2192 ****
  fi
  if eval "test \"`echo '$ac_cv_lib_'socket`\" = yes"; then
    echo "$ac_t""yes" 1>&6
!     ac_tr_lib=HAVE_LIB`echo socket | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
    cat >> confdefs.h <<EOF
  #define $ac_tr_lib 1
  EOF
--- 2186,2192 ----
  fi
  if eval "test \"`echo '$ac_cv_lib_'socket`\" = yes"; then
    echo "$ac_t""yes" 1>&6
!     ac_tr_lib=HAVE_LIB`echo socket | tr 'a-z' 'A-Z'`
    cat >> confdefs.h <<EOF
  #define $ac_tr_lib 1
  EOF
diff -r -c --exclude-from=PATCHES/diff-exclude -N tcl-7.4p1+ORIG/configure.in tcl-7.4p1/configure.in
*** tcl-7.4p1+ORIG/configure.in Fri Jun 30 14:20:16 1995
--- tcl-7.4p1/configure.in      Thu Aug 24 21:09:04 1995
***************
*** 100,106 ****
  {
      exit(strstr("\0test", "test") ? 1 : 0);
  }
! ], tcl_ok=yes, tcl_ok=no)
  if test $tcl_ok = yes; then
      AC_MSG_RESULT(yes)
  else
--- 100,106 ----
  {
      exit(strstr("\0test", "test") ? 1 : 0);
  }
! ], tcl_ok=yes, tcl_ok=no, tcl_ok=no)
  if test $tcl_ok = yes; then
      AC_MSG_RESULT(yes)
  else
***************
*** 127,133 ****
          exit(1);
      }
      exit(0);
! }], , tcl_ok=0)
  if test $tcl_ok = 0; then
      test -n "$verbose" && echo "       Adding strtoul.o."
      LIBOBJS="$LIBOBJS strtoul.o"
--- 127,133 ----
          exit(1);
      }
      exit(0);
! }], , tcl_ok=0, tcl_ok=no)
  if test $tcl_ok = 0; then
      test -n "$verbose" && echo "       Adding strtoul.o."
      LIBOBJS="$LIBOBJS strtoul.o"
***************
*** 151,157 ****
        exit(1);
      }
      exit(0);
! }], , tcl_ok=0)
  if test $tcl_ok = 0; then
      test -n "$verbose" && echo "       Adding strtod.o."
      LIBOBJS="$LIBOBJS strtod.o"
--- 151,157 ----
        exit(1);
      }
      exit(0);
! }], , tcl_ok=0, tcl_ok=no)
  if test $tcl_ok = 0; then
      test -n "$verbose" && echo "       Adding strtod.o."
      LIBOBJS="$LIBOBJS strtod.o"
***************
*** 182,188 ****
            AC_MSG_RESULT(buggy)
            LIBOBJS="$LIBOBJS fixstrtod.o"
            AC_DEFINE(strtod, fixstrtod)
!       ])
  fi

  #--------------------------------------------------------------------
--- 182,188 ----
            AC_MSG_RESULT(buggy)
            LIBOBJS="$LIBOBJS fixstrtod.o"
            AC_DEFINE(strtod, fixstrtod)
!       ], tcl_ok=no)
  fi

  #--------------------------------------------------------------------
***************
*** 253,259 ****
  x.type = SING;
  ], tcl_ok=yes, tcl_ok=no)
  AC_MSG_RESULT($tcl_ok)
! if test $tcl_ok = yes; then
      AC_DEFINE(NEED_MATHERR)
  fi

--- 253,259 ----
  x.type = SING;
  ], tcl_ok=yes, tcl_ok=no)
  AC_MSG_RESULT($tcl_ok)
! if test $tcl_ok = no; then
      AC_DEFINE(NEED_MATHERR)
  fi

***************
*** 295,301 ****
        }], AC_MSG_RESULT(ok), [
            AC_MSG_RESULT(buggy)
            tcl_ok=0
!       ])
  fi
  rm -f core
  if test "$tcl_ok" = 0; then
--- 295,301 ----
        }], AC_MSG_RESULT(ok), [
            AC_MSG_RESULT(buggy)
            tcl_ok=0
!       ], tcl_ok=no)
  fi
  rm -f core
  if test "$tcl_ok" = 0; then
diff -r -c --exclude-from=PATCHES/diff-exclude -N tcl-7.4p1+ORIG/tclMtherr.c tcl-7.4p1/tclMtherr.c
*** tcl-7.4p1+ORIG/tclMtherr.c  Sat Dec 17 19:15:01 1994
--- tcl-7.4p1/tclMtherr.c       Sun Aug 20 16:16:48 1995
***************
*** 45,51 ****
   * but it will never be executed on these systems anyway.
   */

! #ifndef NEED_MATHERR
  struct exception {
      int type;
  };
--- 45,51 ----
   * but it will never be executed on these systems anyway.
   */

! #ifdef NEED_MATHERR
  struct exception {
      int type;
  };

===snip===snip===tk-4.0=patch================================================

diff -r -c --exclude-from=PATCHES/diff-exclude -N tk-4.0p1/Makefile.in tk-4.0p1+ORIG/Makefile.in
*** tk-4.0p1/Makefile.in        Sun Aug 20 16:47:03 1995
--- tk-4.0p1+ORIG/Makefile.in   Fri Jun 30 14:20:26 1995
***************
*** 86,94 ****
  # Linker switch(es) to use to link with the X11 library archive (the
  # configure script will try to set this value automatically, but you
  # can override it).
! # LDXLIBSW can be used to add GCC dynamic linking options such as
! #     -Xlinker '-R/usr/openwin/lib'

  # Libraries to use when linking:  must include at least Tk, Tcl, Xlib,
  # and the math library (in that order).  The "LIBS" part will be
--- 86,92 ----
  # Linker switch(es) to use to link with the X11 library archive (the
  # configure script will try to set this value automatically, but you
  # can override it).

  # Libraries to use when linking:  must include at least Tk, Tcl, Xlib,
  # and the math library (in that order).  The "LIBS" part will be
diff -r -c --exclude-from=PATCHES/diff-exclude -N tk-4.0p1/configure tk-4.0p1+ORIG/configure
*** tk-4.0p1/configure  Thu Aug 24 18:51:04 1995
--- tk-4.0p1+ORIG/configure     Sun Aug 20 16:05:25 1995
***************
*** 621,627 ****
  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 | tr '[a-z]./\055' '[A-Z]___'`
    cat >> confdefs.h <<EOF
  #define $ac_tr_hdr 1
  EOF
--- 621,627 ----
  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 | tr 'abcdefghijklmnopqrstuvwxyz./\055' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ___'`
    cat >> confdefs.h <<EOF
  #define $ac_tr_hdr 1
  EOF
***************
*** 1934,1940 ****

  echo $ac_n "checking type of "char"""... $ac_c" 1>&6
  if test "$cross_compiling" = yes; then
!   tk_signed=0
  else
  cat > conftest.$ac_ext <<EOF
  #line 1941 "configure"
--- 1934,1940 ----

  echo $ac_n "checking type of "char"""... $ac_c" 1>&6
  if test "$cross_compiling" = yes; then
!     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  else
  cat > conftest.$ac_ext <<EOF
  #line 1941 "configure"
***************
*** 2103,2109 ****
  if test "$tk_strtod" = 1; then
      echo $ac_n "checking for Solaris 2.4 strtod bug""... $ac_c" 1>&6
      if test "$cross_compiling" = yes; then
!   tk_strtod=0
  else
  cat > conftest.$ac_ext <<EOF
  #line 2110 "configure"
--- 2103,2109 ----
  if test "$tk_strtod" = 1; then
      echo $ac_n "checking for Solaris 2.4 strtod bug""... $ac_c" 1>&6
      if test "$cross_compiling" = yes; then
!     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  else
  cat > conftest.$ac_ext <<EOF
  #line 2110 "configure"
diff -r -c --exclude-from=PATCHES/diff-exclude -N tk-4.0p1/configure.in tk-4.0p1+ORIG/configure.in
*** tk-4.0p1/configure.in       Sun Aug 20 16:59:30 1995
--- tk-4.0p1+ORIG/configure.in  Wed Jun 28 00:54:19 1995
***************
*** 282,288 ****
        exit(0);
      }
      exit(1);
! }], tk_signed=1, tk_signed=0, tk_signed=0)
  if test $tk_signed = 0; then
      AC_DEFINE(CHAR_UNSIGNED)
      AC_MSG_RESULT(unsigned)
--- 282,288 ----
        exit(0);
      }
      exit(1);
! }], tk_signed=1, tk_signed=0)
  if test $tk_signed = 0; then
      AC_DEFINE(CHAR_UNSIGNED)
      AC_MSG_RESULT(unsigned)
***************
*** 329,335 ****
        }], AC_MSG_RESULT(ok), [
            AC_MSG_RESULT(buggy)
            AC_DEFINE(strtod, fixstrtod)
!       ], tk_strtod=0)
  fi

  AC_OUTPUT(Makefile)
--- 329,335 ----
        }], AC_MSG_RESULT(ok), [
            AC_MSG_RESULT(buggy)
            AC_DEFINE(strtod, fixstrtod)
!       ])
  fi

  AC_OUTPUT(Makefile)



Mon, 09 Feb 1998 03:00:00 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. ANNOUNCE: patches Tcl 7.4p1 and Tk 4.0p1

2. CLM, GINA 2.3 and Solaris 2.4

3. compiling tcl/tk on Solaris 2.4 x86

4. Compiling Tcl/Tk 8.0 on Sun Solaris 2.4

5. SpecTcl / tcl/tk on Solaris 2.4

6. Black and White of Tcl/Tk in Solaris 2.4

7. tcl/tk on Solaris 2.4

8. Anyone compile Tcl/Tk on Solaris 2.4 for the PC

9. Help: Building TCL and TK for Solaris 2.3

10. catman fails for Tcl/Tk man pages under Solaris 2.3 -

11. catman fails for Tcl/Tk man pages under Solaris 2.3

12. Building tk/tcl on Solaris 2.3 with gcc

 

 
Powered by phpBB® Forum Software