public inbox for insight@sourceware.org
 help / color / mirror / Atom feed
* PATCH: Tix fix for dllexport via TCL_STORAGE_CLASS
@ 2001-08-14 19:46 Mo DeJong
  2001-08-15 11:23 ` Keith Seitz
  0 siblings, 1 reply; 2+ messages in thread
From: Mo DeJong @ 2001-08-14 19:46 UTC (permalink / raw)
  To: insight

Hi all.

Here is a little patch that does effect Insight.
This will fix the dllimport modifier used by the EXTERN
keyword in tix. This was broken in tix but Tcl 8.0
did not make use of the dllexport modifiers to
function declarations so it did not matter. When tix
is compiled with Tcl 8.3 this blows up rather badly.
This patch has been tested with Cygwin gcc under Windows
so I think it is safe to add.

cheers
Mo

2001-08-11  Mo DeJong  <mdejong@cygnus.com>

	* generic/tixForm.c:
	* generic/tixGrFmt.c:
	* generic/tixGrRC.c:
	* generic/tixGrSel.c:
	* generic/tixGrSort.c:
	* generic/tixGrid.c:
	* generic/tixItcl.c:
	* generic/tixItcl.h:
	* generic/tixMethod.c:
	* unix/samAppInit.c: Define TCL_STORAGE_CLASS as
	DLLEXPORT when BUILD_tix is define to fix dll export
	declarations under Windows.


Index: generic/tixForm.c
===================================================================
RCS file: /cvs/src/src/tix/generic/tixForm.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tixForm.c
--- tixForm.c	2000/02/07 00:19:28	1.1.1.1
+++ tixForm.c	2001/08/14 23:43:02
@@ -45,6 +45,10 @@
     int num;
 } SpringList;
 
+#ifdef BUILD_tix
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
 
 /*
  * SubCommands of the tixForm command.
Index: generic/tixGrFmt.c
===================================================================
RCS file: /cvs/src/src/tix/generic/tixGrFmt.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tixGrFmt.c
--- tixGrFmt.c	2000/02/07 00:19:28	1.1.1.1
+++ tixGrFmt.c	2001/08/14 23:43:03
@@ -45,6 +45,11 @@
     int filled;
 } GridFmtStruct;
 
+#ifdef BUILD_tix
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
+
 static TIX_DECLARE_SUBCMD(Tix_GrFormatBorder);
 static TIX_DECLARE_SUBCMD(Tix_GrFormatGrid);
 EXTERN TIX_DECLARE_SUBCMD(Tix_GrFormat);
Index: generic/tixGrRC.c
===================================================================
RCS file: /cvs/src/src/tix/generic/tixGrRC.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tixGrRC.c
--- tixGrRC.c	2000/02/07 00:19:28	1.1.1.1
+++ tixGrRC.c	2001/08/14 23:43:03
@@ -15,6 +15,11 @@
 #include <tixDef.h>
 #include <tixGrid.h>
 
+#ifdef BUILD_tix
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
+
 static TIX_DECLARE_SUBCMD(Tix_GrRCSize);
 EXTERN TIX_DECLARE_SUBCMD(Tix_GrSetSize);
 
Index: generic/tixGrSel.c
===================================================================
RCS file: /cvs/src/src/tix/generic/tixGrSel.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tixGrSel.c
--- tixGrSel.c	2000/02/07 00:19:28	1.1.1.1
+++ tixGrSel.c	2001/08/14 23:43:03
@@ -15,6 +15,11 @@
 #include <tixDef.h>
 #include <tixGrid.h>
 
+#ifdef BUILD_tix
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
+
 EXTERN TIX_DECLARE_SUBCMD(Tix_GrSelection);
 static TIX_DECLARE_SUBCMD(Tix_GrSelIncludes);
 static TIX_DECLARE_SUBCMD(Tix_GrSelModify);
Index: generic/tixGrSort.c
===================================================================
RCS file: /cvs/src/src/tix/generic/tixGrSort.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tixGrSort.c
--- tixGrSort.c	2000/02/07 00:19:28	1.1.1.1
+++ tixGrSort.c	2001/08/14 23:43:03
@@ -44,6 +44,11 @@
  * Forward declarations for procedures defined in this file:
  */
 
+#ifdef BUILD_tix
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
+
 EXTERN TIX_DECLARE_SUBCMD(Tix_GrSort);
 
 static int		SortCompareProc _ANSI_ARGS_((CONST VOID *first,
Index: generic/tixGrid.c
===================================================================
RCS file: /cvs/src/src/tix/generic/tixGrid.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tixGrid.c
--- tixGrid.c	2000/02/07 00:19:28	1.1.1.1
+++ tixGrid.c	2001/08/14 23:43:05
@@ -250,6 +250,11 @@
 			    Tix_GridScrollInfo *scrollInfo));
 static void		Tix_GrResetRenderBlocks _ANSI_ARGS_((WidgetPtr wPtr));
 
+#ifdef BUILD_tix
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
+
 static TIX_DECLARE_SUBCMD(Tix_GrBdType);
 static TIX_DECLARE_SUBCMD(Tix_GrCGet);
 static TIX_DECLARE_SUBCMD(Tix_GrConfig);
Index: generic/tixItcl.c
===================================================================
RCS file: /cvs/src/src/tix/generic/tixItcl.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tixItcl.c
--- tixItcl.c	2000/02/07 00:19:28	1.1.1.1
+++ tixItcl.c	2001/08/14 23:43:05
@@ -114,6 +114,11 @@
  * with no code and symbols.
  */
 
+#ifdef BUILD_tix
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
+
 EXTERN void TixItclDummy _ANSI_ARGS_((void));
 
 
Index: generic/tixItcl.h
===================================================================
RCS file: /cvs/src/src/tix/generic/tixItcl.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tixItcl.h
--- tixItcl.h	2000/02/07 00:19:28	1.1.1.1
+++ tixItcl.h	2001/08/14 23:43:05
@@ -38,6 +38,11 @@
     TixItclNameSp x; \
     x.iPtr = (Interp*)(i);
 
+#ifdef BUILD_tix
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
+
 EXTERN int		TixItclSetGlobalNameSp _ANSI_ARGS_((
 			    TixItclNameSp * nameSpPtr, Tcl_Interp * interp));
 EXTERN void		TixItclRestoreGlobalNameSp _ANSI_ARGS_((
@@ -63,6 +68,11 @@
     x.iPtr = (Interp*)(i); \
     x.nsToken = NULL;
 
+#ifdef BUILD_tix
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
+
 EXTERN int		TixItclSetGlobalNameSp _ANSI_ARGS_((
 			    TixItclNameSp * nameSpPtr, Tcl_Interp * interp));
 EXTERN void		TixItclRestoreGlobalNameSp _ANSI_ARGS_((
@@ -76,3 +86,6 @@
 
 #endif /* ITCL_2 */
 #endif /* TK_8_0_OR_LATER */
+
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLIMPORT
Index: generic/tixMethod.c
===================================================================
RCS file: /cvs/src/src/tix/generic/tixMethod.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tixMethod.c
--- tixMethod.c	2000/02/07 00:19:28	1.1.1.1
+++ tixMethod.c	2001/08/14 23:43:05
@@ -475,6 +475,11 @@
 
 #else
 
+#ifdef BUILD_tix
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
+
 EXTERN int		Tix_GlobalEvalArgv _ANSI_ARGS_((Tcl_Interp * interp,
 			    Tcl_CmdInfo * cmdInfoPtr, int argc));
 
Index: unix/samAppInit.c
===================================================================
RCS file: /cvs/src/src/tix/unix/samAppInit.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 samAppInit.c
--- samAppInit.c	2000/02/07 00:19:29	1.1.1.1
+++ samAppInit.c	2001/08/14 23:43:05
@@ -37,6 +37,11 @@
 #  endif
 #endif
 
+#ifdef BUILD_tix
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
+
 EXTERN int		Tclsam_Init _ANSI_ARGS_((Tcl_Interp *interp));
 EXTERN int		Tksam_Init _ANSI_ARGS_((Tcl_Interp *interp));
 EXTERN int		Tixsam_Init _ANSI_ARGS_((Tcl_Interp *interp));

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: PATCH: Tix fix for dllexport via TCL_STORAGE_CLASS
  2001-08-14 19:46 PATCH: Tix fix for dllexport via TCL_STORAGE_CLASS Mo DeJong
@ 2001-08-15 11:23 ` Keith Seitz
  0 siblings, 0 replies; 2+ messages in thread
From: Keith Seitz @ 2001-08-15 11:23 UTC (permalink / raw)
  To: Mo DeJong; +Cc: insight

On Tue, 14 Aug 2001, Mo DeJong wrote:

> Here is a little patch that does effect Insight.
> This will fix the dllimport modifier used by the EXTERN
> keyword in tix. This was broken in tix but Tcl 8.0
> did not make use of the dllexport modifiers to
> function declarations so it did not matter. When tix
> is compiled with Tcl 8.3 this blows up rather badly.
> This patch has been tested with Cygwin gcc under Windows
> so I think it is safe to add.

I don't know who actually controls this stuff, but I guess that I would
have some say in it...

I don't see anything obvious that would raise a red flag. If it works, it
works. Go for it.

Besides, if it turns problematic, I'll just have to ramp up my effort at
dumping tix out of the repository (or at least insight)! :-)

Keith


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-08-15 11:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-14 19:46 PATCH: Tix fix for dllexport via TCL_STORAGE_CLASS Mo DeJong
2001-08-15 11:23 ` Keith Seitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).