summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-tcltk/otcl/files')
-rw-r--r--dev-tcltk/otcl/files/otcl-1.11-badfreefix.patch241
-rw-r--r--dev-tcltk/otcl/files/otcl-1.11-configure-cleanup.patch291
-rw-r--r--dev-tcltk/otcl/files/otcl-1.13-configure-cleanup.patch272
3 files changed, 804 insertions, 0 deletions
diff --git a/dev-tcltk/otcl/files/otcl-1.11-badfreefix.patch b/dev-tcltk/otcl/files/otcl-1.11-badfreefix.patch
new file mode 100644
index 0000000..2282720
--- /dev/null
+++ b/dev-tcltk/otcl/files/otcl-1.11-badfreefix.patch
@@ -0,0 +1,241 @@
+diff -ur otcl-1.11/otcl.c otcl-1.11.new/otcl.c
+--- otcl-1.11/otcl.c 2004-01-05 16:56:07.000000000 -0800
++++ otcl-1.11.new/otcl.c 2004-01-13 04:12:10.000000000 -0800
+@@ -290,7 +290,7 @@
+ if (!l) return 0;
+ if (l->cl == s) {
+ *sl = l->next;
+- ckfree((char*)l);
++ ckfree((char*)l); l = NULL;
+ return 1;
+ }
+ while (l->next && l->next->cl != s) l = l->next;
+@@ -442,7 +442,7 @@
+ old_args2, argv[1], in->errorLine);
+ compat_Tcl_AddObjErrorInfo(in, msg, -1);
+ }
+- if (argc+2 > OTCLSMALLARGS) { ckfree((char*)args); args = 0; }
++ if (argc+2 > OTCLSMALLARGS) { ckfree((char*)args); args = NULL; }
+ return result;
+ }
+
+@@ -479,7 +479,7 @@
+ cl ? args[2] : argv[0], in->errorLine);
+ compat_Tcl_AddObjErrorInfo(in, msg, -1);
+ }
+- if (argc+3 > OTCLSMALLARGS) { ckfree((char*)args); args = 0; }
++ if (argc+3 > OTCLSMALLARGS) { ckfree((char*)args); args = NULL; }
+ return result;
+ }
+
+@@ -500,7 +500,7 @@
+
+ static void
+ AutoLoaderDP(ClientData cd) {
+- ckfree((char*)cd);
++ ckfree((char*)cd); cd = NULL;
+ }
+
+ static int
+@@ -579,8 +579,8 @@
+ Tcl_HashEntry *hPtr = Tcl_FindHashEntry(methods, nm);
+ if (hPtr != 0) {
+ Tcl_CmdInfo* co = (Tcl_CmdInfo*)Tcl_GetHashValue(hPtr);
+- if (co->deleteProc != 0) (*co->deleteProc)(co->deleteData);
+- ckfree((char*)co);
++ if (co->deleteProc != 0) { (*co->deleteProc)(co->deleteData); } co->deleteProc = NULL;
++ ckfree((char*)co); co = NULL;
+ Tcl_DeleteHashEntry(hPtr);
+ return 1;
+ }
+@@ -614,7 +614,7 @@
+ (Tcl_Namespace*)NULL, 0);
+ if (cmd)
+ Tcl_DeleteCommandFromToken(pdpd->interp, cmd);
+- ckfree((char*)pdpd);
++ ckfree((char*)pdpd); pdpd = NULL;
+ }
+ #endif
+
+@@ -674,7 +674,7 @@
+
+ for (i = 0; i < argc; i++)
+ Tcl_DecrRefCount(objv[i]);
+- ckfree((char *)objv);
++ ckfree((char *)objv); objv = NULL;
+
+ #else /* TCL_MAJOR_VERSION < 8 */
+
+@@ -691,7 +691,7 @@
+
+ #endif /* TCL_MAJOR_VERSION < 8 */
+
+- ckfree((char*)nargs);
++ ckfree((char*)nargs); nargs = NULL;
+ argv[1] = name;
+ argv[2] = oargs;
+
+@@ -926,7 +926,7 @@
+ static void
+ PrimitiveODestroy(ClientData cd) {
+ PrimitiveODestroyNoFree(cd);
+- ckfree((char*)cd);
++ ckfree((char*)cd); cd = NULL;
+ }
+
+ static void
+@@ -1002,18 +1002,18 @@
+ Tcl_CmdInfo* co = (Tcl_CmdInfo*)Tcl_GetHashValue(hp2);
+ ClientData cdest = cd;
+ if (co->clientData != 0) cdest = co->clientData;
+- if (co->deleteProc != 0) (*co->deleteProc)(co->deleteData);
+- ckfree((char*)co);
++ if (co->deleteProc != 0) { (*co->deleteProc)(co->deleteData); } co->deleteProc = NULL;
++ ckfree((char*)co); co = NULL;
+ }
+ if (obj->procs) {
+- Tcl_DeleteHashTable(obj->procs); ckfree((char*)(obj->procs));
++ Tcl_DeleteHashTable(obj->procs); ckfree((char*)(obj->procs)); obj->procs = NULL;
+ }
+
+ (void)RemoveInstance(obj, obj->cl);
+
+ #if TCL_MAJOR_VERSION >= 8
+- ckfree((char*)(obj->variables.procPtr));
+- ckfree((char*)(obj->variables.varTablePtr));
++ ckfree((char*)(obj->variables.procPtr)); obj->variables.procPtr = NULL;
++ ckfree((char*)(obj->variables.varTablePtr)); obj->variables.varTablePtr = NULL;
+ #endif
+ }
+
+@@ -1035,8 +1035,7 @@
+ obj->id = Tcl_CreateCommand(in, name, OTclDispatch, (ClientData)obj,
+ PrimitiveODestroy);
+ } else {
+- ckfree((char *)obj);
+- obj = NULL;
++ ckfree((char *)obj); obj = NULL;
+ }
+ #endif
+ return obj;
+@@ -1123,14 +1122,14 @@
+ Tcl_CmdInfo* co = (Tcl_CmdInfo*)Tcl_GetHashValue(hPtr);
+ ClientData cdest = cd;
+ if (co->clientData != 0) cdest = co->clientData;
+- if (co->deleteProc != 0) (*co->deleteProc)(co->deleteData);
+- ckfree((char*)co);
++ if (co->deleteProc != 0) { (*co->deleteProc)(co->deleteData); } co->deleteProc = NULL;
++ ckfree((char*)co); co = NULL;
+ }
+ Tcl_DeleteHashTable(&cl->instprocs);
+
+ if (cl->objectdata) {
+ Tcl_DeleteHashTable(cl->objectdata);
+- ckfree((char*)(cl->objectdata)); cl->objectdata = 0;
++ ckfree((char*)(cl->objectdata)); cl->objectdata = NULL;
+ }
+
+ /*
+@@ -1151,7 +1150,7 @@
+ * PrimitiveODestory to destory the hash entries first */
+ PrimitiveODestroyNoFree(cd);
+ Tcl_DeleteHashTable(&cl->instances);
+- ckfree((char*)cd);
++ ckfree((char*)cd); cd = NULL;
+ }
+
+
+@@ -1176,8 +1175,7 @@
+ obj->id = Tcl_CreateCommand(in, name, OTclDispatch, (ClientData)cl,
+ PrimitiveCDestroy);
+ } else {
+- ckfree((char *)cl);
+- cl = NULL;
++ ckfree((char *)cl); cl = NULL;
+ }
+ #endif
+ return cl;
+@@ -1359,6 +1357,9 @@
+ OTclObject* obj = OTclAsObject(in, cd);
+ Tcl_CmdInfo proc;
+ int op;
++ // NULL out the deleteProc value
++ // as it may be filled with random data on variable creation
++ proc.deleteProc = NULL; proc.deleteData = NULL;
+
+ if (!obj) return OTclErrType(in, argv[0], "Object");
+ if (argc != 7) return OTclErrArgCnt(in,argv[0],"proc name args body");
+@@ -1488,7 +1489,7 @@
+ Tcl_AppendResult(in, "expected ?inst/local? or ?inst? ?local? but got ",
+ argv[i]);
+ }
+- ckfree((char*)av);
++ ckfree((char*)av); av = NULL;
+ if (result != TCL_OK) break;
+ }
+ return result;
+@@ -1594,10 +1595,10 @@
+ scl[i] = OTclGetClass(in, av[i]);
+ loaded = (scl[i] != 0);
+ }
+- ckfree(args);
++ ckfree(args); args = NULL;
+ if (!loaded) {
+- ckfree((char*)av);
+- ckfree((char*)scl);
++ ckfree((char*)av); av = NULL;
++ ckfree((char*)scl); scl = NULL;
+ return OTclErrBadVal(in, "a list of classes", argv[4]);
+ }
+ }
+@@ -1621,8 +1622,8 @@
+ }
+
+ if (reversed != 0) {
+- ckfree((char*)av);
+- ckfree((char*)scl);
++ ckfree((char*)av); av = NULL;
++ ckfree((char*)scl); scl = NULL;
+ return OTclErrBadVal(in, "classes in dependence order", argv[4]);
+ }
+
+@@ -1641,8 +1642,8 @@
+ }
+ for (i = 0; i < ac; i++)
+ AddSuper(cl, scl[i]);
+- ckfree((char*)av);
+- ckfree((char*)scl);
++ ckfree((char*)av); av = NULL;
++ ckfree((char*)scl); scl = NULL;
+ FlushPrecedences(cl);
+
+ if (!ComputePrecedence(cl)) {
+@@ -1784,17 +1785,25 @@
+ OTclClass* cl = OTclAsClass(in, cd);
+ Tcl_CmdInfo proc;
+ int op;
++ // NULL out the deleteProc value
++ // as it may be filled with random data on variable creation
++ proc.deleteProc = NULL; proc.deleteData = NULL;
+
+ if (!cl) return OTclErrType(in, argv[0], "Class");
+ if (argc != 7) return OTclErrArgCnt(in,argv[0],"instproc name args body");
+
++
+ /*
+ * if the args list is "auto", the body is a script to load the proc
+ */
+
+- if (!strcmp("auto", argv[5])) op = MakeAuto(&proc, argv[6]);
+- else if (argv[5][0]==0 && argv[6][0]==0) op = -1;
+- else op = MakeProc(&proc,in, argc-3, argv+3);
++ if (!strcmp("auto", argv[5])) {
++ op = MakeAuto(&proc, argv[6]);
++ } else if (argv[5][0]==0 && argv[6][0]==0) {
++ op = -1;
++ } else {
++ op = MakeProc(&proc,in, argc-3, argv+3);
++ }
+
+ (void)RemoveMethod(&cl->instprocs, argv[4], (ClientData)cl);
+ if (op == 1) AddMethod(&cl->instprocs, argv[4], proc.proc,
diff --git a/dev-tcltk/otcl/files/otcl-1.11-configure-cleanup.patch b/dev-tcltk/otcl/files/otcl-1.11-configure-cleanup.patch
new file mode 100644
index 0000000..21eab45
--- /dev/null
+++ b/dev-tcltk/otcl/files/otcl-1.11-configure-cleanup.patch
@@ -0,0 +1,291 @@
+diff -Nuar otcl-1.11.orig/conf/configure.in.audio otcl-1.11/conf/configure.in.audio
+--- otcl-1.11.orig/conf/configure.in.audio 1998-07-16 23:07:29.000000000 -0700
++++ otcl-1.11/conf/configure.in.audio 2006-05-15 09:20:29.000000000 -0700
+@@ -90,10 +90,10 @@
+ fi
+ fi
+
+-AC_TEST_CPP([#include <sys/audioio.h>], x=audio/audio-sun.o, x="")
++AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <sys/audioio.h>]])],[x=audio/audio-sun.o],[x=""])
+ V_OBJ_AUDIO="$V_OBJ_AUDIO $x"
+
+-AC_TEST_CPP([#include <sun/audioio.h>], x=audio/audio-sun.o, x="")
++AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <sun/audioio.h>]])],[x=audio/audio-sun.o],[x=""])
+ V_OBJ_AUDIO="$V_OBJ_AUDIO $x"
+
+ case "$target" in
+diff -Nuar otcl-1.11.orig/conf/configure.in.dynamic otcl-1.11/conf/configure.in.dynamic
+--- otcl-1.11.orig/conf/configure.in.dynamic 1998-07-16 22:38:38.000000000 -0700
++++ otcl-1.11/conf/configure.in.dynamic 2006-05-15 09:36:26.632757055 -0700
+@@ -59,7 +59,7 @@
+ # results, and the version is kept in special file).
+
+ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
++ system=MP-RAS-`awk '{print $3}' /etc/.relid`
+ fi
+ if test "`uname -s`" = "AIX" ; then
+ system=AIX-`uname -v`.`uname -r`
+@@ -311,7 +311,7 @@
+ hold_ldflags=$LDFLAGS
+ AC_MSG_CHECKING(for ld accepts -Bexport flag)
+ LDFLAGS="${LDFLAGS} -Wl,-Bexport"
+- AC_TRY_LINK(, [int i;], found=yes, found=no)
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[int i;]])],[found=yes],[found=no])
+ LDFLAGS=$hold_ldflags
+ AC_MSG_RESULT($found)
+ if test $found = yes; then
+diff -Nuar otcl-1.11.orig/conf/configure.in.head otcl-1.11/conf/configure.in.head
+--- otcl-1.11.orig/conf/configure.in.head 2001-04-11 16:49:06.000000000 -0700
++++ otcl-1.11/conf/configure.in.head 2006-05-15 09:24:21.510388584 -0700
+@@ -32,12 +32,12 @@
+ fi
+
+
+-AC_CANONICAL_SYSTEM
++AC_CANONICAL_TARGET([])
+
+ AC_PROG_CC
+ AC_PROG_CXX
+-AC_STDC_HEADERS
+-AC_HAVE_HEADERS(string.h)
++AC_HEADER_STDC([])
++AC_CHECK_HEADERS([string.h])
+
+ V_INCLUDE=""
+ V_LIB=""
+@@ -76,8 +76,7 @@
+ else
+ if test "$CC" = gcc ; then
+ AC_MSG_CHECKING(that $CXX can handle -O2)
+- AC_TRY_COMPILE(,
+- #if __GNUC__ < 2 || __GNUC_MINOR__ < 8
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[#if __GNUC__ < 2 || __GNUC_MINOR__ < 8
+ /* gcc */
+ error
+ #endif
+@@ -85,9 +84,9 @@
+ /* egcs */
+ int error;
+ #endif
+- ,AC_MSG_RESULT(yes)
+- OonS="-O2", # Optimize on Steroids
+- AC_MSG_RESULT(no))
++ ]])],[AC_MSG_RESULT(yes)
++ OonS="-O2"],[# Optimize on Steroids
++ AC_MSG_RESULT(no)])
+ fi
+ fi
+
+@@ -152,19 +151,16 @@
+
+ # Checking validity of STL
+ AC_MSG_CHECKING(standard STL is available)
+-AC_LANG_SAVE
+-AC_LANG_CPLUSPLUS
++
++AC_LANG_PUSH([C++])
+ enable_stl="no"
+-AC_TRY_COMPILE(
+- #include <list>
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <list>
+ #include <hash_map>
+ template <class _T> class tlist : public list <_T> {};
+- ,
+- return 0;
+- ,AC_MSG_RESULT(yes)
+- enable_stl="yes",
+- AC_MSG_RESULT(no))
+-AC_LANG_RESTORE
++ ]], [[return 0;
++ ]])],[AC_MSG_RESULT(yes)
++ enable_stl="yes"],[AC_MSG_RESULT(no)])
++AC_LANG_POP([C++])
+
+ # This can be extended to support compilation-time module selection
+ V_STLOBJ=""
+diff -Nuar otcl-1.11.orig/conf/configure.in.int64_t otcl-1.11/conf/configure.in.int64_t
+--- otcl-1.11.orig/conf/configure.in.int64_t 2005-08-31 18:54:05.000000000 -0700
++++ otcl-1.11/conf/configure.in.int64_t 2006-05-15 09:20:30.000000000 -0700
+@@ -22,19 +22,17 @@
+ fi
+
+ AC_CACHE_CHECK([for __int64_t],int64_t_HAVE___INT64_T,[
+-AC_TRY_RUN([
++AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ main() { __int64_t x; exit (sizeof(x) >= 8 ? 0 : 1); }
+-],
+-int64_t_HAVE___INT64_T=yes,int64_t_HAVE___INT64_T=no,int64_t_HAVE___INT64_T=cross)])
++]])],[int64_t_HAVE___INT64_T=yes],[int64_t_HAVE___INT64_T=no],[int64_t_HAVE___INT64_T=cross])])
+ if test x"$int64_t_HAVE___INT64_T" = x"yes" -a "x$INT64_T_ALTERNATIVE" = xnone; then
+ INT64_T_ALTERNATIVE=__int64_t
+ fi
+
+ AC_CACHE_CHECK([for long long],int64_t_HAVE_LONG_LONG,[
+-AC_TRY_RUN([
++AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ main() { long long x; exit (sizeof(x) >= 8 ? 0 : 1); }
+-],
+-int64_t_HAVE_LONG_LONG=yes,int64_t_HAVE_LONG_LONG=no,int64_t_HAVE_LONG_LONG=cross)])
++]])],[int64_t_HAVE_LONG_LONG=yes],[int64_t_HAVE_LONG_LONG=no],[int64_t_HAVE_LONG_LONG=cross])])
+ if test x"$int64_t_HAVE_LONG_LONG" = x"yes" -a "x$INT64_T_ALTERNATIVE" = xnone; then
+ INT64_T_ALTERNATIVE="long long"
+ fi
+diff -Nuar otcl-1.11.orig/conf/configure.in.nse otcl-1.11/conf/configure.in.nse
+--- otcl-1.11.orig/conf/configure.in.nse 2000-03-09 17:49:32.000000000 -0800
++++ otcl-1.11/conf/configure.in.nse 2006-05-15 09:20:30.000000000 -0700
+@@ -9,20 +9,20 @@
+ dnl
+
+ AC_MSG_CHECKING([for struct ether_header])
+-AC_TRY_COMPILE([
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdio.h>
+ #include <net/ethernet.h>
+-], [
++]], [[
+ int main()
+ {
+ struct ether_header etherHdr;
+
+ return 1;
+ }
+-], [
++]])],[
+ AC_DEFINE(HAVE_ETHER_HEADER_STRUCT)
+ AC_MSG_RESULT(found)
+-], [
++],[
+ AC_MSG_RESULT(not found)
+ ])
+
+@@ -31,20 +31,20 @@
+ dnl Look for ether_addr
+ dnl
+ AC_MSG_CHECKING([for struct ether_addr])
+-AC_TRY_COMPILE([
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdio.h>
+ #include <net/ethernet.h>
+-], [
++]], [[
+ int main()
+ {
+ struct ether_addr etherAddr;
+
+ return 0;
+ }
+-], [
++]])],[
+ AC_DEFINE(HAVE_ETHER_ADDRESS_STRUCT)
+ AC_MSG_RESULT(found)
+-], [
++],[
+ AC_MSG_RESULT(not found)
+ ])
+
+@@ -57,14 +57,13 @@
+ dnl
+ dnl look for SIOCGIFHWADDR
+ dnl
+-AC_TRY_RUN(
+-#include <stdio.h>
++AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
+ #include <sys/ioctl.h>
+ int main()
+ {
+ int i = SIOCGIFHWADDR;
+ return 0;
+ }
+-, AC_DEFINE(HAVE_SIOCGIFHWADDR), , echo 1
+-)
++]])],[AC_DEFINE(HAVE_SIOCGIFHWADDR)],[],[echo 1
++])
+
+diff -Nuar otcl-1.11.orig/conf/configure.in.perl otcl-1.11/conf/configure.in.perl
+--- otcl-1.11.orig/conf/configure.in.perl 1999-01-21 18:37:20.000000000 -0800
++++ otcl-1.11/conf/configure.in.perl 2006-05-15 09:20:30.000000000 -0700
+@@ -19,8 +19,8 @@
+ dnl
+ AC_DEFUN(CHECK_PERL_VERSION,
+ [
+-echo $[$1] -e "require $[$2]" 1>&AC_FD_CC
+-if $[$1] -e "require $[$2]" 2>&AC_FD_CC
++echo $[$1] -e "require $[$2]" 1>&AS_MESSAGE_LOG_FD()
++if $[$1] -e "require $[$2]" 2>&AS_MESSAGE_LOG_FD()
+ then
+ : good version
+ else
+diff -Nuar otcl-1.11.orig/conf/configure.in.tail otcl-1.11/conf/configure.in.tail
+--- otcl-1.11.orig/conf/configure.in.tail 2000-11-13 18:15:01.000000000 -0800
++++ otcl-1.11/conf/configure.in.tail 2006-05-15 09:40:00.160276617 -0700
+@@ -144,7 +144,8 @@
+
+ dnl backwards compability---if nothing else, do Makefile
+ define([AcOutputFiles],ifdef([AcOutputFiles],AcOutputFiles,Makefile))
+-AC_OUTPUT(AcOutputFiles)
++AC_CONFIG_FILES([Makefile])
++AC_OUTPUT
+
+ if test ! -d gen ; then
+ echo "creating ./gen"
+diff -Nuar otcl-1.11.orig/conf/configure.in.tcl otcl-1.11/conf/configure.in.tcl
+--- otcl-1.11.orig/conf/configure.in.tcl 2005-09-26 21:58:15.000000000 -0700
++++ otcl-1.11/conf/configure.in.tcl 2006-05-15 09:15:02.499646361 -0700
+@@ -84,6 +84,9 @@
+ $d/include/tcl$TCL_VERS \
+ $d/include/tcl$TCL_ALT_VERS \
+ $d/include \
++ $d/lib/tcl$TCL_HI_VERS/include \
++ $d/lib/tcl$TCL_VERS/include \
++ $d/lib/tcl$TCL_ALT_VERS/include \
+ "
+ TCL_H_PLACES=" \
+ ../include \
+@@ -134,7 +137,14 @@
+ /usr/include/tcl$TCL_VERS \
+ /usr/include/tcl$TCL_HI_VERS \
+ /usr/include/tcl$TCL_ALT_VERS \
+- /usr/include/tcl"
++ /usr/include/tcl \
++ /usr/lib/tcl$TCL_VERS/include/unix \
++ /usr/lib/tcl$TCL_HI_VERS/include/unix \
++ /usr/lib/tcl$TCL_ALT_VERS/include/unix \
++ /usr/lib/tcl$TCL_VERS/include/generic \
++ /usr/lib/tcl$TCL_HI_VERS/include/generic \
++ /usr/lib/tcl$TCL_ALT_VERS/include/generic \
++ "
+ dnl /usr/include/tcl is for Debian Linux
+ dnl /usr/include/tcl-private/generic is for FC 4
+ TCL_LIB_PLACES_D="$d \
+diff -Nuar otcl-1.11.orig/conf/configure.in.x11 otcl-1.11/conf/configure.in.x11
+--- otcl-1.11.orig/conf/configure.in.x11 1997-03-15 17:59:46.000000000 -0800
++++ otcl-1.11/conf/configure.in.x11 2006-05-15 09:20:31.000000000 -0700
+@@ -33,7 +33,7 @@
+
+ echo "checking for X11 header files"
+ if test "$x_includes" = NONE ; then
+- AC_TEST_CPP([#include <X11/Intrinsic.h>],x_includes="",x_includes=NONE)
++ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <X11/Intrinsic.h>]])],[x_includes=""],[x_includes=NONE])
+ if test "$x_includes" = NONE ; then
+ for i in $xincdirs ; do
+ if test -r $i/X11/Intrinsic.h; then
+diff -Nuar otcl-1.11.orig/configure.in otcl-1.11/configure.in
+--- otcl-1.11.orig/configure.in 2005-10-13 23:45:28.000000000 -0700
++++ otcl-1.11/configure.in 2006-05-15 09:37:50.480568397 -0700
+@@ -1,4 +1,5 @@
+-AC_INIT(otcl.c)
++AC_INIT
++AC_CONFIG_SRCDIR([otcl.c])
+
+ #XXX
+ V_PROG="otclsh"
+@@ -31,7 +32,7 @@
+ # results, and the version is kept in special file).
+
+ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
++ system=MP-RAS-`awk '{print $3}' /etc/.relid`
+ fi
+ AC_MSG_RESULT($system)
+ fi
diff --git a/dev-tcltk/otcl/files/otcl-1.13-configure-cleanup.patch b/dev-tcltk/otcl/files/otcl-1.13-configure-cleanup.patch
new file mode 100644
index 0000000..6ac498b
--- /dev/null
+++ b/dev-tcltk/otcl/files/otcl-1.13-configure-cleanup.patch
@@ -0,0 +1,272 @@
+diff -Naur otcl-1.13.orig/conf/configure.in.audio otcl-1.13/conf/configure.in.audio
+--- otcl-1.13.orig/conf/configure.in.audio 1998-07-17 15:07:29.000000000 +0900
++++ otcl-1.13/conf/configure.in.audio 2007-04-28 09:49:05.000000000 +0900
+@@ -90,10 +90,10 @@
+ fi
+ fi
+
+-AC_TEST_CPP([#include <sys/audioio.h>], x=audio/audio-sun.o, x="")
++AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <sys/audioio.h>]])],[x=audio/audio-sun.o],[x=""])
+ V_OBJ_AUDIO="$V_OBJ_AUDIO $x"
+
+-AC_TEST_CPP([#include <sun/audioio.h>], x=audio/audio-sun.o, x="")
++AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <sun/audioio.h>]])],[x=audio/audio-sun.o],[x=""])
+ V_OBJ_AUDIO="$V_OBJ_AUDIO $x"
+
+ case "$target" in
+diff -Naur otcl-1.13.orig/conf/configure.in.dynamic otcl-1.13/conf/configure.in.dynamic
+--- otcl-1.13.orig/conf/configure.in.dynamic 2006-09-28 14:25:04.000000000 +0900
++++ otcl-1.13/conf/configure.in.dynamic 2007-04-28 09:58:25.000000000 +0900
+@@ -148,7 +148,7 @@
+ SHLIB_LD_LIBS=""
+ SHLIB_SUFFIX=".so"
+ if test "$have_dl" = yes; then
+- SHLIB_LD="${CC} -shared"
++ SHLIB_LD="${CC} -shared -Wl,-soname,${@}"
+ DL_LIBS="-ldl"
+ DL_LD_FLAGS="-rdynamic"
+ DL_LD_SEARCH_FLAGS=""
+@@ -311,7 +311,7 @@
+ hold_ldflags=$LDFLAGS
+ AC_MSG_CHECKING(for ld accepts -Bexport flag)
+ LDFLAGS="${LDFLAGS} -Wl,-Bexport"
+- AC_TRY_LINK(, [int i;], found=yes, found=no)
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[int i;]])],[found=yes],[found=no])
+ LDFLAGS=$hold_ldflags
+ AC_MSG_RESULT($found)
+ if test $found = yes; then
+diff -Naur otcl-1.13.orig/conf/configure.in.head otcl-1.13/conf/configure.in.head
+--- otcl-1.13.orig/conf/configure.in.head 2001-04-12 08:49:06.000000000 +0900
++++ otcl-1.13/conf/configure.in.head 2007-04-28 09:49:05.000000000 +0900
+@@ -32,12 +32,12 @@
+ fi
+
+
+-AC_CANONICAL_SYSTEM
++AC_CANONICAL_TARGET([])
+
+ AC_PROG_CC
+ AC_PROG_CXX
+-AC_STDC_HEADERS
+-AC_HAVE_HEADERS(string.h)
++AC_HEADER_STDC([])
++AC_CHECK_HEADERS([string.h])
+
+ V_INCLUDE=""
+ V_LIB=""
+@@ -76,8 +76,7 @@
+ else
+ if test "$CC" = gcc ; then
+ AC_MSG_CHECKING(that $CXX can handle -O2)
+- AC_TRY_COMPILE(,
+- #if __GNUC__ < 2 || __GNUC_MINOR__ < 8
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[#if __GNUC__ < 2 || __GNUC_MINOR__ < 8
+ /* gcc */
+ error
+ #endif
+@@ -85,9 +84,9 @@
+ /* egcs */
+ int error;
+ #endif
+- ,AC_MSG_RESULT(yes)
+- OonS="-O2", # Optimize on Steroids
+- AC_MSG_RESULT(no))
++ ]])],[AC_MSG_RESULT(yes)
++ OonS="-O2"],[# Optimize on Steroids
++ AC_MSG_RESULT(no)])
+ fi
+ fi
+
+@@ -152,19 +151,16 @@
+
+ # Checking validity of STL
+ AC_MSG_CHECKING(standard STL is available)
+-AC_LANG_SAVE
+-AC_LANG_CPLUSPLUS
++
++AC_LANG_PUSH([C++])
+ enable_stl="no"
+-AC_TRY_COMPILE(
+- #include <list>
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <list>
+ #include <hash_map>
+ template <class _T> class tlist : public list <_T> {};
+- ,
+- return 0;
+- ,AC_MSG_RESULT(yes)
+- enable_stl="yes",
+- AC_MSG_RESULT(no))
+-AC_LANG_RESTORE
++ ]], [[return 0;
++ ]])],[AC_MSG_RESULT(yes)
++ enable_stl="yes"],[AC_MSG_RESULT(no)])
++AC_LANG_POP([C++])
+
+ # This can be extended to support compilation-time module selection
+ V_STLOBJ=""
+diff -Naur otcl-1.13.orig/conf/configure.in.int64_t otcl-1.13/conf/configure.in.int64_t
+--- otcl-1.13.orig/conf/configure.in.int64_t 2005-09-01 10:54:05.000000000 +0900
++++ otcl-1.13/conf/configure.in.int64_t 2007-04-28 09:49:05.000000000 +0900
+@@ -22,19 +22,17 @@
+ fi
+
+ AC_CACHE_CHECK([for __int64_t],int64_t_HAVE___INT64_T,[
+-AC_TRY_RUN([
++AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ main() { __int64_t x; exit (sizeof(x) >= 8 ? 0 : 1); }
+-],
+-int64_t_HAVE___INT64_T=yes,int64_t_HAVE___INT64_T=no,int64_t_HAVE___INT64_T=cross)])
++]])],[int64_t_HAVE___INT64_T=yes],[int64_t_HAVE___INT64_T=no],[int64_t_HAVE___INT64_T=cross])])
+ if test x"$int64_t_HAVE___INT64_T" = x"yes" -a "x$INT64_T_ALTERNATIVE" = xnone; then
+ INT64_T_ALTERNATIVE=__int64_t
+ fi
+
+ AC_CACHE_CHECK([for long long],int64_t_HAVE_LONG_LONG,[
+-AC_TRY_RUN([
++AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ main() { long long x; exit (sizeof(x) >= 8 ? 0 : 1); }
+-],
+-int64_t_HAVE_LONG_LONG=yes,int64_t_HAVE_LONG_LONG=no,int64_t_HAVE_LONG_LONG=cross)])
++]])],[int64_t_HAVE_LONG_LONG=yes],[int64_t_HAVE_LONG_LONG=no],[int64_t_HAVE_LONG_LONG=cross])])
+ if test x"$int64_t_HAVE_LONG_LONG" = x"yes" -a "x$INT64_T_ALTERNATIVE" = xnone; then
+ INT64_T_ALTERNATIVE="long long"
+ fi
+diff -Naur otcl-1.13.orig/conf/configure.in.nse otcl-1.13/conf/configure.in.nse
+--- otcl-1.13.orig/conf/configure.in.nse 2000-03-10 10:49:32.000000000 +0900
++++ otcl-1.13/conf/configure.in.nse 2007-04-28 09:49:05.000000000 +0900
+@@ -9,20 +9,20 @@
+ dnl
+
+ AC_MSG_CHECKING([for struct ether_header])
+-AC_TRY_COMPILE([
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdio.h>
+ #include <net/ethernet.h>
+-], [
++]], [[
+ int main()
+ {
+ struct ether_header etherHdr;
+
+ return 1;
+ }
+-], [
++]])],[
+ AC_DEFINE(HAVE_ETHER_HEADER_STRUCT)
+ AC_MSG_RESULT(found)
+-], [
++],[
+ AC_MSG_RESULT(not found)
+ ])
+
+@@ -31,20 +31,20 @@
+ dnl Look for ether_addr
+ dnl
+ AC_MSG_CHECKING([for struct ether_addr])
+-AC_TRY_COMPILE([
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdio.h>
+ #include <net/ethernet.h>
+-], [
++]], [[
+ int main()
+ {
+ struct ether_addr etherAddr;
+
+ return 0;
+ }
+-], [
++]])],[
+ AC_DEFINE(HAVE_ETHER_ADDRESS_STRUCT)
+ AC_MSG_RESULT(found)
+-], [
++],[
+ AC_MSG_RESULT(not found)
+ ])
+
+@@ -57,14 +57,13 @@
+ dnl
+ dnl look for SIOCGIFHWADDR
+ dnl
+-AC_TRY_RUN(
+-#include <stdio.h>
++AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
+ #include <sys/ioctl.h>
+ int main()
+ {
+ int i = SIOCGIFHWADDR;
+ return 0;
+ }
+-, AC_DEFINE(HAVE_SIOCGIFHWADDR), , echo 1
+-)
++]])],[AC_DEFINE(HAVE_SIOCGIFHWADDR)],[],[echo 1
++])
+
+diff -Naur otcl-1.13.orig/conf/configure.in.perl otcl-1.13/conf/configure.in.perl
+--- otcl-1.13.orig/conf/configure.in.perl 1999-01-22 11:37:20.000000000 +0900
++++ otcl-1.13/conf/configure.in.perl 2007-04-28 09:49:05.000000000 +0900
+@@ -19,8 +19,8 @@
+ dnl
+ AC_DEFUN(CHECK_PERL_VERSION,
+ [
+-echo $[$1] -e "require $[$2]" 1>&AC_FD_CC
+-if $[$1] -e "require $[$2]" 2>&AC_FD_CC
++echo $[$1] -e "require $[$2]" 1>&AS_MESSAGE_LOG_FD()
++if $[$1] -e "require $[$2]" 2>&AS_MESSAGE_LOG_FD()
+ then
+ : good version
+ else
+diff -Naur otcl-1.13.orig/conf/configure.in.tail otcl-1.13/conf/configure.in.tail
+--- otcl-1.13.orig/conf/configure.in.tail 2000-11-14 11:15:01.000000000 +0900
++++ otcl-1.13/conf/configure.in.tail 2007-04-28 09:49:05.000000000 +0900
+@@ -144,7 +144,8 @@
+
+ dnl backwards compability---if nothing else, do Makefile
+ define([AcOutputFiles],ifdef([AcOutputFiles],AcOutputFiles,Makefile))
+-AC_OUTPUT(AcOutputFiles)
++AC_CONFIG_FILES([Makefile])
++AC_OUTPUT
+
+ if test ! -d gen ; then
+ echo "creating ./gen"
+diff -Naur otcl-1.13.orig/conf/configure.in.tcl otcl-1.13/conf/configure.in.tcl
+--- otcl-1.13.orig/conf/configure.in.tcl 2007-02-19 07:16:52.000000000 +0900
++++ otcl-1.13/conf/configure.in.tcl 2007-04-28 09:50:03.000000000 +0900
+@@ -91,6 +91,9 @@
+ $d/include/tcl$TCL_ALT_VERS \
+ $d/include \
+ /usr/local/include \
++ $d/lib/tcl$TCL_HI_VERS/include \
++ $d/lib/tcl$TCL_VERS/include \
++ $d/lib/tcl$TCL_ALT_VERS/include \
+ "
+ TCL_H_PLACES=" \
+ ../include \
+@@ -144,7 +147,14 @@
+ /usr/include/tcl$TCL_VERS \
+ /usr/include/tcl$TCL_HI_VERS \
+ /usr/include/tcl$TCL_ALT_VERS \
+- /usr/include/tcl"
++ /usr/include/tcl \
++ /usr/lib/tcl$TCL_VERS/include/unix \
++ /usr/lib/tcl$TCL_HI_VERS/include/unix \
++ /usr/lib/tcl$TCL_ALT_VERS/include/unix \
++ /usr/lib/tcl$TCL_VERS/include/generic \
++ /usr/lib/tcl$TCL_HI_VERS/include/generic \
++ /usr/lib/tcl$TCL_ALT_VERS/include/generic \
++ "
+ dnl /usr/include/tcl is for Debian Linux
+ dnl /usr/include/tcl-private/generic is for FC 4
+ TCL_LIB_PLACES_D="$d \
+diff -Naur otcl-1.13.orig/conf/configure.in.x11 otcl-1.13/conf/configure.in.x11
+--- otcl-1.13.orig/conf/configure.in.x11 2006-09-28 14:25:04.000000000 +0900
++++ otcl-1.13/conf/configure.in.x11 2007-04-28 09:49:05.000000000 +0900
+@@ -34,7 +34,7 @@
+
+ echo "checking for X11 header files"
+ if test "$x_includes" = NONE ; then
+- AC_TEST_CPP([#include <X11/Intrinsic.h>],x_includes="",x_includes=NONE)
++ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <X11/Intrinsic.h>]])],[x_includes=""],[x_includes=NONE])
+ if test "$x_includes" = NONE ; then
+ for i in $xincdirs ; do
+ if test -r $i/X11/Intrinsic.h; then