Check-in [cb76e549e7]
Overview
SHA1:cb76e549e77376c748acb992a2db00df6f26e514
Date: 2010-09-26 04:39:39
User: rkeene
Comment:Updated to try linking to Sun Studio before GNU Libstdc++

Updated to fix FFF 484 to make resultant kit work on 64-bit big endian systems

Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2010-09-26
04:39
[bbb991803b] KitCreator 0.0.7.x (user: rkeene, tags: trunk, 0.0.7)
04:39
[cb76e549e7] Updated to try linking to Sun Studio before GNU Libstdc++

Updated to fix FFF 484 to make resultant kit work on 64-bit big endian systems (user: rkeene, tags: trunk)

04:39
[49f1d0e042] Fixed 64-bit Tcl 8.5.x compilation on Solaris

Fixed bootstrap build issue on Tcl 8.5.x

Minor documentation update (user: rkeene, tags: trunk)

Changes

Modified kitsh/buildsrc/kitsh-0.0/aclocal.m4 from [d0e235eb57] to [5d0cdc97c7].

41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
])

AC_DEFUN(DC_DO_STATIC_LINK_LIBCXX, [
	AC_MSG_CHECKING([for how to statically link to libstdc++])

	SAVELIBS="${LIBS}"
	staticlibcxx=""
	for trylink in "-Wl,-Bstatic -lstdc++ -Wl,-Bdynamic" "-Wl,-Bstatic -lCstd -lCrun -Wl,-Bdynamic" "-lstdc++" "-lCstd -lCrun"; do
		LIBS="${SAVELIBS} ${trylink}"

		AC_LINK_IFELSE(AC_LANG_PROGRAM([], []), [
			staticlibcxx="${trylink}"

			break
		])







|







41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
])

AC_DEFUN(DC_DO_STATIC_LINK_LIBCXX, [
	AC_MSG_CHECKING([for how to statically link to libstdc++])

	SAVELIBS="${LIBS}"
	staticlibcxx=""
	for trylink in "-Wl,-Bstatic -lCstd -lCrun -Wl,-Bdynamic" "-Wl,-Bstatic -lstdc++ -Wl,-Bdynamic" "-lCstd -lCrun" "-lstdc++"; do
		LIBS="${SAVELIBS} ${trylink}"

		AC_LINK_IFELSE(AC_LANG_PROGRAM([], []), [
			staticlibcxx="${trylink}"

			break
		])

Added mk4tcl/patches/all/metakit-2.4.9.7-fix64bitbigendianfff484.diff version [306a0cd2ca].











































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
diff -uNr metakit-2.4.9.7-orig/tcl/mk4tcl.cpp metakit-2.4.9.7-rsk/tcl/mk4tcl.cpp
--- metakit-2.4.9.7-orig/tcl/mk4tcl.cpp	2007-06-18 16:05:24.000000000 -0500
+++ metakit-2.4.9.7-rsk/tcl/mk4tcl.cpp	2010-02-22 18:30:05.000000000 -0600
@@ -1043,11 +1043,11 @@
   return *(MkPath*)obj_->internalRep.twoPtrValue.ptr2;
 }
 
-int &AsIndex(Tcl_Obj *obj_) {
+long &AsIndex(Tcl_Obj *obj_) {
   d4_assert(obj_->typePtr ==  &mkCursorType);
   d4_assert(obj_->internalRep.twoPtrValue.ptr2 != 0);
 
-  return (int &)obj_->internalRep.twoPtrValue.ptr1;
+  return (long &)obj_->internalRep.twoPtrValue.ptr1;
 }
 
 static void FreeCursorInternalRep(Tcl_Obj *cursorPtr) {
@@ -1110,7 +1110,7 @@
   EnterMutex(path._ws->_interp);
   c4_String s = path._path;
 
-  int index = AsIndex(cursorPtr);
+  long index = AsIndex(cursorPtr);
   if (index >= 0) {
     char buf[20];
     sprintf(buf, "%s%d", s.IsEmpty() ? "" : "!", index);
@@ -1455,7 +1455,7 @@
   return AsPath(obj_)._view;
 }
 
-int &MkTcl::changeIndex(Tcl_Obj *obj_) {
+long &MkTcl::changeIndex(Tcl_Obj *obj_) {
   SetCursorFromAny(interp, obj_);
   Tcl_InvalidateStringRep(obj_);
   return AsIndex(obj_);
@@ -1463,7 +1463,7 @@
 
 c4_RowRef MkTcl::asRowRef(Tcl_Obj *obj_, int type_) {
   c4_View view = asView(obj_);
-  int index = AsIndex(obj_);
+  long index = AsIndex(obj_);
   int size = view.GetSize();
 
   switch (type_) {
@@ -1621,7 +1621,7 @@
           return _error;
 
         c4_View view = row.Container();
-        int index = AsIndex(objv[2]);
+        long index = AsIndex(objv[2]);
 
         int count = objc > 3 ? tcl_GetIntFromObj(objv[3]): 1;
         if (count > view.GetSize() - index)
@@ -1641,7 +1641,7 @@
           return _error;
 
         c4_View view = toRow.Container();
-        int n = AsIndex(objv[2]);
+        long n = AsIndex(objv[2]);
 
         int count = objc > 3 ? tcl_GetIntFromObj(objv[3]): 1;
         if (count >= 1) {
@@ -2206,7 +2206,7 @@
   if (objc <= 3) {
     if (id == 1)
      { // position without value returns current value
-      Tcl_SetIntObj(tcl_GetObjResult(), AsIndex(var));
+      Tcl_SetLongObj(tcl_GetObjResult(), AsIndex(var));
       return _error;
     }
 
@@ -2338,7 +2338,7 @@
 int MkTcl::ChannelCmd() {
   c4_RowRef row = asRowRef(objv[1]);
   MkPath &path = AsPath(objv[1]);
-  int index = AsIndex(objv[1]);
+  long index = AsIndex(objv[1]);
 
   if (_error)
     return _error;
diff -uNr metakit-2.4.9.7-orig/tcl/mk4tcl.h metakit-2.4.9.7-rsk/tcl/mk4tcl.h
--- metakit-2.4.9.7-orig/tcl/mk4tcl.h	2007-06-15 18:26:40.000000000 -0500
+++ metakit-2.4.9.7-rsk/tcl/mk4tcl.h	2010-02-22 18:30:33.000000000 -0600
@@ -274,7 +274,7 @@
 //  Cursors in Tcl are implemented as a pointer to an MkPath plus an index.
 
 MkPath &AsPath(Tcl_Obj *obj_);
-int &AsIndex(Tcl_Obj *obj_);
+long &AsIndex(Tcl_Obj *obj_);
 int SetCursorFromAny(Tcl_Interp *interp, Tcl_Obj *objPtr);
 
 // 24nov02: added to support releasing mutex lock during loop eval's
@@ -367,7 +367,7 @@
     ~MkTcl();
 
     c4_View asView(Tcl_Obj *obj_);
-    int &changeIndex(Tcl_Obj *obj_);
+    long &changeIndex(Tcl_Obj *obj_);
     c4_RowRef asRowRef(Tcl_Obj *obj_, int type_ = kExistingRow);
     int GetCmd();
     int SetValues(const c4_RowRef &row_, int objc, Tcl_Obj *const * objv);