Check-in [cb76e549e7]
Overview
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

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:cb76e549e77376c748acb992a2db00df6f26e514
User & Date: rkeene on 2010-09-26 04:39:39
Other Links: manifest | tags
Context
2010-09-26
04:39
KitCreator 0.0.7.x check-in: bbb991803b user: rkeene tags: trunk, 0.0.7
04:39
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 check-in: cb76e549e7 user: rkeene tags: trunk

04:39
Fixed 64-bit Tcl 8.5.x compilation on Solaris

Fixed bootstrap build issue on Tcl 8.5.x

Minor documentation update check-in: 49f1d0e042 user: rkeene tags: trunk

Changes

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

    41     41   ])
    42     42   
    43     43   AC_DEFUN(DC_DO_STATIC_LINK_LIBCXX, [
    44     44   	AC_MSG_CHECKING([for how to statically link to libstdc++])
    45     45   
    46     46   	SAVELIBS="${LIBS}"
    47     47   	staticlibcxx=""
    48         -	for trylink in "-Wl,-Bstatic -lstdc++ -Wl,-Bdynamic" "-Wl,-Bstatic -lCstd -lCrun -Wl,-Bdynamic" "-lstdc++" "-lCstd -lCrun"; do
           48  +	for trylink in "-Wl,-Bstatic -lCstd -lCrun -Wl,-Bdynamic" "-Wl,-Bstatic -lstdc++ -Wl,-Bdynamic" "-lCstd -lCrun" "-lstdc++"; do
    49     49   		LIBS="${SAVELIBS} ${trylink}"
    50     50   
    51     51   		AC_LINK_IFELSE(AC_LANG_PROGRAM([], []), [
    52     52   			staticlibcxx="${trylink}"
    53     53   
    54     54   			break
    55     55   		])

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

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